Koncept «Livepatch nije ništa novo a nije ni implementirana u Linuxu nekoliko godina, budući da su Red Hat, Oracle, Canonical i SUSE neki od onih koji su implementirali ovu tehnologiju za svoje distribucije.
I iako su se etablirali kao izvrsno rješenje, ovo Obično ovisi o zatvorenim procesima u stvaranju zakrpa, ograničavajući transparentnost i prilagodljivost. Prethodni projekti otvorenog koda, kao što su Gentooov elivepatch i Debianov linux-livepatching, bili su obilježeni dugim razdobljima neaktivnosti ili stagnacije u svojim fazama prototipa.
Suočen s ovim nizom problema koji se još uvijek suočavaju s procesom generiranja, kompajliranja, postavljanja i instaliranja aktivnih zakrpa Linux kernela, TuxTape se predstavlja kao rješenje neovisan, dizajniran da bude prilagodljiv bilo kojoj verziji Linux kernela, bez ograničenja na pakete specifične za svaku distribuciju.
TuxTape, rješenje za krpanje uživo u Linuxu
TuxTape je novo rješenje ovo omogućuje administratorima sustava implementirati vlastitu infrastrukturu za stvaranje, sklapanje i postavljanje živih zakrpa za Linux kernel.
Glavni cilj iz TuxTape nudi sveobuhvatan sustav koji automatizira stvaranje i isporuku živih zakrpa. Njegova arhitektura omogućuje generiranje zakrpa kompatibilnih s postojećim alatima kao što su Red Hat kpatch, SUSE kGraft, Oracle Ksplice i druga univerzalna rješenja.
Flasteri Implementirani su kao moduli jezgre koji zamjenjuju postojeće funkcije korištenjem podsustava ftrace, koji preusmjerava izvršenje na nove funkcije uključene u modul. Dodatno, TuxTape ima mogućnost praćenja ažuriranja ranjivosti objavljenih na linux-cve-announce mailing listi iu Git repozitoriju.

Koristeći ove informacije, sustav klasificira ranjivosti prema ozbiljnosti, procjenjuje primjenjivost svake zakrpe kroz detaljnu analizu profila izgradnje kernela i odbacuje one popravke koji ne utječu na ciljno okruženje. Ovaj selektivni pristup osigurava da se provode samo relevantne promjene, smanjujući rizik i optimizirajući učinak.
Komponente i arhitektura projekta
Komplet TuxTape Sastoji se od više integriranih alata u rasponu od otkrivanja do krpanja uživo:
- Sustav za praćenje ranjivosti: Ovo je odgovorno za otkrivanje i snimanje novih prijetnji u stvarnom vremenu.
- Generator baze podataka: Odgovoran je za pružanje informacija o zakrpama i ranjivostima u strukturiranoj bazi podataka.
- Poslužitelj metapodataka s gRPC-om: Upravlja komunikacijom i koordinacijom usluga povezanih s generiranjem zakrpa.
- Sustav otpreme i konstrukcija jezgre: Olakšava kompilaciju kernela na određenim konfiguracijama generiranjem detaljnog profila kompilacije.
- Generator i datoteka zakrpe: Pretvara redovite zakrpe u module kernela koji se mogu dinamički učitavati.
- Klijent za krajnje hostove: Omogućuje prijem i primjenu zakrpa na proizvodnim sustavima.
- Interaktivno sučelje (kontrolna ploča): Pruža administrativnu konzolu za korisnika gdje može pregledavati, upravljati i stvarati žive zakrpe na temelju primljenih izvora.
Vrijedno je spomenuti da je projekt i razvoj TuxTape trenutno u fazi eksperimentalnog prototipa, tako da se trenutno preporučuje samo za početno testiranje sa svojim različitim komponentama.
Za one koji su zainteresirani za testiranje projekta, testiranje se trenutno preporučuje samo na određenim alatima kao što su:
- tuxtape-cve-parser: Analizira informacije o ranjivostima i gradi bazu podataka zakrpa.
- tuxtape-poslužitelj: Implementira gRPC sučelje za generiranje i distribuciju zakrpa.
- alat za izgradnju jezgre tuxtape: Odgovoran je za izgradnju kernela s danom konfiguracijom i generiranje odgovarajućeg profila kompilacije.
- tuxtape-kontrolna ploča: Pruža sučelje konzole za pregled i stvaranje živih zakrpa na temelju primljenih izvornih zakrpa.
Na kraju, važno je spomenuti da se projekt razvija u Rustu i distribuira se pod licencom Apache 2.0. Više informacija ili izvorni kod ovoga možete pogledati na sljedeći link.