Концепція «Livepatch не є чимось новим і вона навіть не була реалізована в Linux протягом кількох років, оскільки Red Hat, Oracle, Canonical і SUSE є одними з тих, хто реалізував цю технологію для своїх дистрибутивів.
І хоча вони зарекомендували себе як відмінне рішення, цей Зазвичай це залежить від закритих процесів у створенні патчів, обмеження прозорості та адаптивності. Попередні проекти з відкритим вихідним кодом, такі як elivepatch від Gentoo та linux-livepatching від Debian, відзначалися тривалими періодами бездіяльності або стагнації на етапах прототипів.
Зіткнувся з цією низкою проблем які все ще стикаються з процесом створення, компіляції, розгортання та встановлення активних патчів ядра Linux, TuxTape представляє себе як рішення незалежний, призначений для адаптації до будь-якої версії ядра Linux, не обмежуючись спеціальними пакетами для кожного дистрибутива.
TuxTape, рішення для живих виправлень у Linux
TuxTape — нове рішення що дозволяє адміністраторам систем реалізувати власну інфраструктуру для створення, збирання та розгортання живих латок для ядра Linux.
Головна мета від TuxTape пропонує комплексна система, яка автоматизує створення та доставку живих патчів. Його архітектура дозволяє генерувати патчі, сумісні з існуючими інструментами, такими як kpatch від Red Hat, kGraft від SUSE, Ksplice від Oracle та іншими універсальними рішеннями.
Патчі Вони реалізовані як модулі ядра, які замінюють існуючі функції за допомогою підсистеми ftrace, яка перенаправляє виконання до нових функцій, включених до модуля. Крім того, TuxTape має можливість відстежувати оновлення вразливостей, опубліковані в списку розсилки linux-cve-announce і в сховищах Git.

Використовуючи цю інформацію, система класифікує вразливості за ступенем серйозності, оцінює застосовність кожного виправлення за допомогою детального аналізу профілю складання ядра та відкидає ті виправлення, які не впливають на цільове середовище. Цей вибірковий підхід гарантує впровадження лише відповідних змін, мінімізуючи ризики та оптимізуючи продуктивність.
Складові та архітектура проекту
Набір TuxTape Він складається з кількох інтегрованих інструментів починаючи від виявлення до живого виправлення:
- Система відстеження вразливостей: Це відповідає за виявлення та реєстрацію нових загроз у реальному часі.
- Генератор бази даних: Він відповідає за надання інформації про виправлення та вразливості в структурованій базі даних.
- Сервер метаданих з gRPC: Керує зв’язком і координацією послуг, пов’язаних із створенням виправлень.
- Побудова системи диспетчеризації та ядра: Полегшує компіляцію ядра на певних конфігураціях шляхом створення детального профілю компіляції.
- Генератор і файл виправлення: Перетворює звичайні патчі в динамічно завантажувані модулі ядра.
- Клієнт для кінцевих хостів: Дозволяє отримувати та застосовувати патчі на виробничих системах.
- Інтерактивний інтерфейс (панель): надає консоль адміністрування для користувача, де він може переглядати, керувати та створювати живі виправлення на основі отриманих джерел.
Варто зазначити, що проект і розробка TuxTape наразі знаходяться на стадії експериментального прототипу, тому на даний момент рекомендується лише для початкового тестування з різними компонентами.
Для тих, хто зацікавлений у тестуванні проекту, тестування наразі рекомендується лише на певних інструментах, таких як:
- tuxtape-cve-парсер: Аналізує інформацію про вразливості та створює базу даних виправлень.
- tuxtape-сервер: Реалізує інтерфейс gRPC для створення та розповсюдження виправлень.
- tuxtape-kernel-builder: Він відповідає за створення ядра із заданою конфігурацією та створення відповідного профілю компіляції.
- tuxtape-dashboard: надає інтерфейс консолі для перегляду та створення поточних патчів на основі отриманих вихідних патчів.
Нарешті, важливо зазначити, що проект розробляється в Rust і поширюється під ліцензією Apache 2.0. Ви можете отримати додаткову інформацію або вихідний код цього, з за наступним посиланням.