Koncept «Livepatch není nic nového a v Linuxu to nebylo ani několik let implementováno, protože Red Hat, Oracle, Canonical a SUSE jsou jedny z těch, kteří tuto technologii implementovali do svých distribucí.
A přestože se etablovaly jako vynikající řešení, toto Obvykle závisí na uzavřených procesech při vytváření patchů, omezení transparentnosti a přizpůsobivosti. Předchozí open source projekty, jako je Gentoo's elivepatch a Debian's linux-livepatching, byly ve svých prototypových fázích poznamenány dlouhými obdobími nečinnosti nebo stagnace.
Tváří v tvář této sérii problémů kteří stále čelí procesu generování, kompilace, nasazování a instalace aktivních oprav linuxového jádra, TuxTape se prezentuje jako řešení nezávislý, navržený tak, aby byl adaptabilní na jakoukoli verzi linuxového jádra, aniž by byl omezen na balíčky specifické pro každou distribuci.
TuxTape, řešení pro živé záplatování v Linuxu
TuxTape je nové řešení že umožňuje správcům systémů implementovat vlastní infrastrukturu vytvářet, sestavovat a nasazovat živé záplaty do linuxového jádra.
Hlavní cíl od TuxTape nabízí komplexní systém, který automatizuje vytváření a dodávání živých záplat. Jeho architektura umožňuje generovat záplaty kompatibilní se stávajícími nástroji, jako je Red Hat kpatch, SUSE kGraft, Oracle Ksplice a další univerzální řešení.
Náplasti Jsou implementovány jako moduly jádra, které nahrazují stávající funkce pomocí subsystému ftrace, který přesměruje provádění na nové funkce obsažené v modulu. Kromě toho má TuxTape schopnost sledovat aktualizace zranitelnosti zveřejněné v mailing listu linux-cve-announce a v repozitářích Git.

Pomocí těchto informací systém klasifikuje zranitelnosti podle závažnosti, vyhodnocuje použitelnost každé opravy prostřednictvím podrobné analýzy profilu sestavení jádra a vyřazuje opravy, které neovlivňují cílové prostředí. Tento selektivní přístup zajišťuje, že jsou implementovány pouze relevantní změny, minimalizuje se riziko a optimalizuje výkon.
Komponenty projektu a architektura
Sada TuxTape Skládá se z několika integrovaných nástrojů od detekce až po živé opravy:
- Systém sledování zranitelnosti: To je zodpovědné za detekci a záznam nových hrozeb v reálném čase.
- Generátor databáze: Je zodpovědný za poskytování informací o záplatách a zranitelnostech ve strukturované databázi.
- Server metadat s gRPC: Řídí komunikaci a koordinaci služeb souvisejících s generováním patchů.
- Expediční systém a konstrukce jádra: Usnadňuje kompilaci jádra na konkrétních konfiguracích generováním podrobného profilu kompilace.
- Generátor a opravný soubor: Transformuje běžné záplaty na dynamicky načítatelné moduly jádra.
- Klient pro koncové hostitele: Umožňuje příjem a aplikaci záplat na produkčních systémech.
- Interaktivní rozhraní (Dashboard): Poskytuje uživateli konzolu pro správu, kde může kontrolovat, spravovat a vytvářet živé záplaty na základě obdržených zdrojů.
Za zmínku stojí, že projekt a vývoj TuxTape je v současné době ve fázi experimentálního prototypu, takže v tuto chvíli se doporučuje pouze pro počáteční testování s různými součástmi.
Zájemcům o testování projektu se v současné době doporučuje testování pouze na konkrétních nástrojích, jako jsou:
- tuxtape-cve-parser: Analyzuje informace o zranitelnosti a vytváří databázi oprav.
- tuxtape-server: Implementuje rozhraní gRPC pro generování a distribuci oprav.
- tuxtape-kernel-builder: Je zodpovědný za sestavení jádra s danou konfigurací a generování odpovídajícího profilu kompilace.
- tuxtape-palubní deska: Poskytuje rozhraní konzoly pro kontrolu a vytváření živých oprav na základě přijatých zdrojových oprav.
Na závěr je důležité zmínit, že projekt je vyvíjen v Rustu a je distribuován pod licencí Apache 2.0. Více informací nebo jeho zdrojový kód můžete najít na následující odkaz.