Koncept «Livepatch ni nič novega in že nekaj let sploh ni bila implementirana v Linux, saj so Red Hat, Oracle, Canonical in SUSE nekateri izmed tistih, ki so implementirali to tehnologijo za svoje distribucije.
In čeprav so se uveljavili kot odlična rešitev, ta Ponavadi je odvisno od zaprtih procesov pri izdelavi popravkov, omejevanje preglednosti in prilagodljivosti. Prejšnje odprtokodne projekte, kot sta Gentoojev elivepatch in Debianov linux-livepatching, so zaznamovala dolga obdobja nedejavnosti ali stagnacije v njihovih prototipnih fazah.
Soočen s to vrsto težav ki se še vedno soočajo s procesom generiranja, prevajanja, uvajanja in nameščanja aktivnih popravkov jedra Linuxa, TuxTape se predstavlja kot rešitev neodvisen, zasnovan tako, da je prilagodljiv kateri koli različici jedra Linuxa, ne da bi bil omejen na pakete, specifične za vsako distribucijo.
TuxTape, rešitev za popravljanje popravkov v živo v Linuxu
TuxTape je nova rešitev da omogoča skrbnikom sistemov vzpostaviti lastno infrastrukturo za ustvarjanje, sestavljanje in uvajanje živih popravkov v jedro Linuxa.
Glavni cilj ponuja TuxTape celovit sistem, ki avtomatizira ustvarjanje in dostavo živih popravkov. Njegova arhitektura omogoča generiranje popravkov, združljivih z obstoječimi orodji, kot so kpatch podjetja Red Hat, kGraft podjetja SUSE, Ksplice podjetja Oracle in drugih univerzalnih rešitev.
Obliži Implementirani so kot moduli jedra, ki nadomeščajo obstoječe funkcije z uporabo podsistema ftrace, ki preusmeri izvajanje na nove funkcije, vključene v modul. Poleg tega ima TuxTape možnost sledenja posodobitvam ranljivosti, objavljenim na poštnem seznamu linux-cve-announce in v repozitorijih Git.

Z uporabo teh informacij sistem razvrsti ranljivosti po resnosti, oceni uporabnost vsakega popravka s podrobno analizo profila gradnje jedra in zavrže tiste popravke, ki ne vplivajo na ciljno okolje. Ta selektiven pristop zagotavlja, da se izvajajo samo ustrezne spremembe, kar zmanjšuje tveganje in optimizira učinkovitost.
Komponente projekta in arhitektura
Komplet TuxTape Sestavljen je iz več integriranih orodij od odkrivanja do popravkov v živo:
- Sistem za sledenje ranljivosti: Ta je odgovoren za odkrivanje in beleženje novih groženj v realnem času.
- Generator baze podatkov: Odgovoren je za zagotavljanje informacij o popravkih in ranljivostih v strukturirani bazi podatkov.
- Strežnik metapodatkov z gRPC: Upravlja komunikacijo in koordinacijo storitev, povezanih z generiranjem popravkov.
- Odpremni sistem in konstrukcija jedra: Olajša prevajanje jedra v določenih konfiguracijah z generiranjem podrobnega profila prevajanja.
- Generator in arhiv popravkov: Preoblikuje navadne popravke v module jedra, ki se dinamično nalagajo.
- Odjemalec za končne gostitelje: Omogoča sprejem in uporabo popravkov na proizvodnih sistemih.
- Interaktivni vmesnik (nadzorna plošča): Zagotavlja skrbniško konzolo za uporabnika, kjer lahko pregleduje, upravlja in ustvarja žive popravke na podlagi prejetih virov.
Omeniti velja, da sta projekt in razvoj TuxTape trenutno v fazi eksperimentalnega prototipa, zato se trenutno priporoča le za začetno testiranje z različnimi komponentami.
Za tiste, ki jih zanima testiranje projekta, je testiranje trenutno priporočljivo samo na posebnih orodjih, kot so:
- tuxtape-cve-parser: Analizira informacije o ranljivosti in gradi bazo podatkov popravkov.
- tuxtape-strežnik: Izvaja vmesnik gRPC za ustvarjanje in distribucijo popravkov.
- tuxtape-kernel-builder: Odgovoren je za gradnjo jedra z dano konfiguracijo in generiranje ustreznega profila prevajanja.
- tuxtape-nadzorna plošča: Zagotavlja vmesnik konzole za pregledovanje in ustvarjanje popravkov v živo na podlagi prejetih izvornih popravkov.
Nazadnje je pomembno omeniti, da se projekt razvija v Rustu in se distribuira pod licenco Apache 2.0. Več informacij ali izvorno kodo tega lahko najdete na naslednjo povezavo.