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

TuxTape

Концепцията за «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

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

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

Комплектът TuxTape Състои се от множество интегрирани инструменти вариращи от откриване до корекции на живо:

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

Струва си да се спомене, че проектът и разработката на TuxTape в момента е във фаза на експериментален прототип, така че в момента се препоръчва само за първоначално тестване с различните му компоненти.

За тези, които се интересуват от тестване на проекта, тестването в момента се препоръчва само на конкретни инструменти като:

  • tuxtape-cve-парсер: Анализира информацията за уязвимостта и изгражда база данни с корекции.
  • tuxtape-сървър: Внедрява gRPC интерфейс за генериране и разпространение на корекции.
  • tuxtape-kernel-builder: Той отговаря за изграждането на ядрото с дадена конфигурация и генерирането на съответния компилационен профил.
  • tuxtape-табло: Осигурява конзолен интерфейс за преглед и създаване на корекции на живо въз основа на получените корекции на източника.

И накрая, важно е да споменем, че проектът се разработва в Rust и се разпространява под лиценза Apache 2.0. Можете да се консултирате с повече информация или изходния код на това от следната връзка.