Pojem «Livepatch nie je žiadnou novinkou a už niekoľko rokov nie je implementovaná ani v Linuxe, keďže Red Hat, Oracle, Canonical a SUSE sú jedny z tých, ktoré implementovali túto technológiu do svojich distribúcií.
A hoci sa etablovali ako vynikajúce riešenie, toto Zvyčajne to závisí od uzavretých procesov pri vytváraní záplat, obmedzenie transparentnosti a prispôsobivosti. Predchádzajúce open source projekty, ako napríklad Gentoo's elivepatch a Debian's linux-livepatching, boli poznačené dlhými obdobiami nečinnosti alebo stagnácie vo fázach ich prototypov.
Tvárou v tvár tejto sérii problémov ktorí stále čelia procesu generovania, kompilácie, nasadzovania a inštalácie aktívnych záplat linuxového jadra, TuxTape sa prezentuje ako riešenie nezávislé, navrhnuté tak, aby sa dali prispôsobiť akejkoľvek verzii linuxového jadra, bez obmedzenia na balíčky špecifické pre každú distribúciu.
TuxTape, riešenie pre živé opravy v Linuxe
TuxTape je nové riešenie že umožňuje administrátorom systémov implementovať vlastnú infraštruktúru vytvárať, zostavovať a nasadzovať živé záplaty do jadra Linuxu.
Hlavný cieľ TuxTape má ponúknuť komplexný systém, ktorý automatizuje vytváranie a doručovanie živých záplat. Jeho architektúra umožňuje generovanie záplat kompatibilných s existujúcimi nástrojmi, ako sú Red Hat's kpatch, SUSE's kGraft, Oracle's Ksplice a ďalšie univerzálne riešenia.
Náplasti Sú implementované ako moduly jadra, ktoré nahrádzajú existujúce funkcie pomocou subsystému ftrace, ktorý presmeruje vykonávanie na nové funkcie zahrnuté v module. TuxTape má navyše schopnosť sledovať aktualizácie o zraniteľnosti zverejnené na mailing listu linux-cve-announce a v úložiskách Git.

Pomocou týchto informácií systém klasifikuje zraniteľnosti podľa závažnosti, vyhodnocuje použiteľnosť každej opravy prostredníctvom podrobnej analýzy profilu zostavenia jadra a zahodí tie opravy, ktoré neovplyvňujú cieľové prostredie. Tento selektívny prístup zabezpečuje, že sa implementujú iba relevantné zmeny, čím sa minimalizuje riziko a optimalizuje sa výkon.
Komponenty projektu a architektúra
Súprava TuxTape Pozostáva z viacerých integrovaných nástrojov od detekcie po živé opravy:
- Systém sledovania zraniteľnosti: To je zodpovedné za detekciu a zaznamenávanie nových hrozieb v reálnom čase.
- Generátor databázy: Je zodpovedný za poskytovanie informácií o opravách a zraniteľnostiach v štruktúrovanej databáze.
- Server metadát s gRPC: Riadi komunikáciu a koordináciu služieb súvisiacich s generovaním patchov.
- Expedičný systém a konštrukcia jadra: Uľahčuje kompiláciu jadra na konkrétnych konfiguráciách vygenerovaním podrobného profilu kompilácie.
- Generátor a archív opráv: Transformuje bežné záplaty na dynamicky načítateľné moduly jadra.
- Klient pre koncových hostiteľov: Umožňuje príjem a aplikáciu záplat na produkčných systémoch.
- Interaktívne rozhranie (Dashboard): Poskytuje správcovskú konzolu pre používateľa, kde môže kontrolovať, spravovať a vytvárať živé záplaty na základe prijatých zdrojov.
Stojí za zmienku, že projekt a vývoj TuxTape je v súčasnosti vo fáze experimentálneho prototypu, takže v súčasnosti je odporúčaný iba na počiatočné testovanie s rôznymi komponentmi.
Pre záujemcov o testovanie projektu sa v súčasnosti odporúča testovanie iba na konkrétnych nástrojoch, ako sú:
- tuxtape-cve-parser: Analyzuje informácie o zraniteľnosti a vytvára databázu opráv.
- tuxtape-server: Implementuje rozhranie gRPC na generovanie a distribúciu záplat.
- tuxtape-kernel-builder: Je zodpovedný za zostavenie jadra s danou konfiguráciou a vygenerovanie zodpovedajúceho profilu kompilácie.
- smoking-palubná doska: Poskytuje rozhranie konzoly na kontrolu a vytváranie živých opráv na základe prijatých zdrojových opráv.
Na záver je dôležité spomenúť, že projekt je vyvíjaný v Ruste a je distribuovaný pod licenciou Apache 2.0. Viac informácií alebo zdrojový kód nájdete na nasledujúci odkaz.