Conceptul de "Livepatch nu este nimic nou și nici măcar nu a fost implementat în Linux de câțiva ani, deoarece Red Hat, Oracle, Canonical și SUSE sunt unele dintre cele care au implementat această tehnologie pentru distribuțiile lor.
Și deși s-au impus ca o soluție excelentă, aceasta De obicei depinde de procesele închise la crearea patch-urilor, limitând transparența și adaptabilitatea. Proiectele open source anterioare, cum ar fi elivepatch de la Gentoo și Linux-livepatching de la Debian, au fost marcate de perioade lungi de inactivitate sau stagnare în fazele lor de prototip.
Confruntat cu această serie de probleme care se confruntă încă cu procesul de generare, compilare, implementare și instalare de corecții active pentru nucleul Linux, TuxTape se prezintă ca o soluție independent, conceput pentru a fi adaptabil oricărei versiuni a nucleului Linux, fără a se limita la pachete specifice fiecărei distribuții.
TuxTape, o soluție de corecție live în Linux
TuxTape, este o soluție nouă că permite administratorilor de sisteme implementați propria infrastructură pentru a crea, a asambla și a implementa corecții live în nucleul Linux.
Obiectivul principal de la TuxTape este de oferit un sistem cuprinzător care automatizează crearea și livrarea de corecții live. Arhitectura sa permite generarea de corecții compatibile cu instrumentele existente, cum ar fi kpatch-ul Red Hat, kGraft de la SUSE, Ksplice de la Oracle și alte soluții universale.
Patch-urile Sunt implementate ca module kernel care înlocuiesc funcțiile existente prin utilizarea subsistemului ftrace, care redirecționează execuția către noile funcții incluse în modul. În plus, TuxTape are capacitatea de a urmări actualizările de vulnerabilități postate pe lista de corespondență linux-cve-announce și în depozitele Git.

Folosind aceste informații, sistemul clasifică vulnerabilitățile în funcție de gravitate, evaluează aplicabilitatea fiecărui patch printr-o analiză detaliată a profilului de construire a nucleului și elimină acele remedieri care nu afectează mediul țintă. Această abordare selectivă asigură implementarea doar a modificărilor relevante, minimizând riscul și optimizând performanța.
Componentele proiectului și arhitectura
Trusa TuxTape Este format din mai multe instrumente integrate variind de la detectare la patch-uri live:
- Sistem de urmărire a vulnerabilităților: Acesta este responsabil pentru detectarea și înregistrarea noilor amenințări în timp real.
- Generator de baze de date: Este responsabil pentru furnizarea de informații despre patch-uri și vulnerabilități într-o bază de date structurată.
- Server de metadate cu gRPC: Gestionează comunicarea și coordonarea serviciilor legate de generarea de corecții.
- Sistemul de expediere și construcția nucleului: Facilitează compilarea nucleului pe anumite configurații prin generarea unui profil de compilare detaliat.
- Generator și fișier de corecție: Transformă patch-urile obișnuite în module de nucleu care se pot încărca dinamic.
- Client pentru gazde finale: Permite recepția și aplicarea de patch-uri pe sistemele de producție.
- Interfață interactivă (Tabloul de bord): Oferă o consolă de administrare pentru utilizator unde acesta poate revizui, gestiona și crea corecții live pe baza surselor primite.
De menționat că proiectul și dezvoltarea TuxTape se află în prezent într-o fază experimentală de prototip, așa că în momentul de față este recomandat doar pentru testarea inițială cu diferitele sale componente.
Pentru cei interesați să testeze proiectul, testarea este în prezent recomandată numai pe instrumente specifice precum:
- tuxtape-cve-parser: Analizează informațiile despre vulnerabilități și construiește o bază de date de corecții.
- tuxtape-server: Implementează o interfață gRPC pentru generarea și distribuirea patch-urilor.
- tuxtape-kernel-builder: Acesta este responsabil pentru construirea nucleului cu o configurație dată și generarea profilului de compilare corespunzător.
- tuxtape-tablou de bord: Oferă o interfață de consolă pentru revizuirea și crearea de corecții live pe baza patch-urilor sursă primite.
În sfârșit, este important de menționat că proiectul este dezvoltat în Rust și este distribuit sub licența Apache 2.0. Puteți consulta mai multe informații sau codul sursă al acestuia, de la următorul link.