TuxTape, новое предложение для LivePatch на Linux

TuxTape

Концепция чего-либо "Livepatch — это не что-то новое и она даже не была реализована в Linux в течение нескольких лет, хотя Red Hat, Oracle, Canonical и SUSE — вот некоторые из тех, кто реализовал эту технологию в своих дистрибутивах.

И хотя они зарекомендовали себя как превосходное решение, это Обычно это зависит от закрытых процессов. в создании патчей, ограничение прозрачности и адаптивности. Предыдущие проекты с открытым исходным кодом, такие как elivepatch от Gentoo и linux-livepatching от Debian, были отмечены длительными периодами бездействия или застоя на стадиях прототипирования.

Столкнувшись с этой серией проблем которые все еще сталкиваются с процессом генерации, компиляции, развертывания и установки активных исправлений ядра Linux, TuxTape позиционирует себя как решение независимый, разработанный с возможностью адаптации к любой версии ядра Linux, без ограничений пакетами, специфичными для каждого дистрибутива.

TuxTape, решение для оперативного обновления ОС Linux

TuxTape — это новое решение что позволяет администраторам систем внедрить собственную инфраструктуру для создания, сборки и развертывания живых исправлений для ядра Linux.

Основная цель от TuxTape — предложить комплексная система, автоматизирующая создание и доставку живых патчей. Его архитектура позволяет генерировать исправления, совместимые с существующими инструментами, такими как Red Hat kpatch, SUSE kGraft, Oracle Ksplice и другими универсальными решениями.

Патчи Они реализованы как модули ядра, которые заменяют существующие функции. с помощью подсистемы ftrace, которая перенаправляет выполнение на новые функции, включенные в модуль. Кроме того, TuxTape имеет возможность отслеживать обновления уязвимостей, размещенные в списке рассылки linux-cve-announce и в репозиториях Git.

TuxTape livepatch

Используя эту информацию, система классифицирует уязвимости по степени серьезности, оценивает применимость каждого исправления с помощью детального анализа профиля сборки ядра и отбрасывает те исправления, которые не влияют на целевую среду. Такой избирательный подход гарантирует реализацию только актуальных изменений, сводя к минимуму риски и оптимизируя производительность.

Компоненты и архитектура проекта

Комплект TuxTape Он состоит из нескольких интегрированных инструментов от обнаружения до оперативного исправления:

  • Система отслеживания уязвимостей: Он отвечает за обнаружение и регистрацию новых угроз в режиме реального времени.
  • Генератор базы данных: Он отвечает за предоставление информации об исправлениях и уязвимостях в структурированной базе данных.
  • Сервер метаданных с gRPC: Управляет коммуникацией и координацией услуг, связанных с генерацией исправлений.
  • Система диспетчеризации и конструкция ядра: Облегчает компиляцию ядра в определенных конфигурациях путем создания подробного профиля компиляции.
  • Генератор и файл исправления: Преобразует обычные патчи в динамически загружаемые модули ядра.
  • Клиент для конечных хостов: Позволяет получать и применять исправления в производственных системах.
  • Интерактивный интерфейс (панель инструментов): Предоставляет пользователю консоль администрирования, где он может просматривать, управлять и создавать оперативные исправления на основе полученных исходных кодов.

Стоит отметить, что проект и разработка TuxTape в настоящее время находятся на стадии экспериментального прототипа, поэтому на данный момент рекомендуется только первоначальное тестирование с различными его компонентами.

Для тех, кто заинтересован в тестировании проекта, в настоящее время рекомендуется проводить тестирование только на определенных инструментах, таких как:

  • tuxtape-cve-parser: Анализирует информацию об уязвимостях и создает базу данных исправлений.
  • tuxtape-сервер: Реализует интерфейс gRPC для генерации и распространения исправлений.
  • tuxtape-kernel-builder: Он отвечает за сборку ядра с заданной конфигурацией и генерацию соответствующего профиля компиляции.
  • tuxtape-панель управления: Предоставляет консольный интерфейс для просмотра и создания актуальных исправлений на основе полученных исходных исправлений.

Наконец, важно отметить, что проект разрабатывается на языке Rust и распространяется под лицензией Apache 2.0. Вы можете ознакомиться с дополнительной информацией или исходным кодом по ссылке по следующей ссылке.