TuxTape, egy új javaslat a LivePatch-hez Linuxon

TuxTape

A «A Livepatch nem újdonság és néhány éve még Linuxon sem implementálták, mivel a Red Hat, az Oracle, a Canonical és a SUSE néhány olyan termék, amely ezt a technológiát implementálta disztribúcióihoz.

És bár kiváló megoldásnak bizonyultak, ez Általában zárt folyamatoktól függ a javítások létrehozásában, az átláthatóság és az alkalmazkodóképesség korlátozása. A korábbi nyílt forráskódú projekteket, mint például a Gentoo elivepatch és a Debian linux-livepatch, prototípus fázisaik hosszú tétlensége vagy stagnálása jellemezte.

Szembesülve ezzel a problémasorozattal akik még mindig szembesülnek az aktív Linux kernel javítások generálásával, fordításával, telepítésével és telepítésével, A TuxTape megoldásként mutatkozik be független, úgy tervezték, hogy adaptálható legyen a Linux kernel bármely verziójához, anélkül, hogy az egyes disztribúciókhoz tartozó csomagokra korlátozódna.

TuxTape, megoldás élő foltozáshoz Linux alatt

A TuxTape egy új megoldás hogy lehetővé teszi a rendszergazdák számára rendszerek saját infrastruktúrát valósítson meg élő javítások létrehozásához, összeállításához és telepítéséhez a Linux kernelhez.

A fő cél a TuxTape-től egy átfogó rendszer, amely automatizálja az élő javítások létrehozását és szállítását. Az architektúrája lehetővé teszi olyan meglévő eszközökkel kompatibilis javítások generálását, mint a Red Hat kpatch, a SUSE kGraft, az Oracle Ksplice és más univerzális megoldások.

A foltok Kernelmodulként valósítják meg, amelyek helyettesítik a meglévő funkciókat ftrace alrendszer használatával, amely átirányítja a végrehajtást a modulban szereplő új funkciókra. Ezenkívül a TuxTape képes nyomon követni a linux-cve-announce levelezőlistán és a Git-tárolókban közzétett sebezhetőségi frissítéseket.

TuxTape livepatch

Ezen információk felhasználásával a rendszer súlyosság szerint osztályozza a sebezhetőségeket, a kernel felépítési profiljának részletes elemzésével felméri az egyes javítások alkalmazhatóságát, és elveti azokat a javításokat, amelyek nem érintik a célkörnyezetet. Ez a szelektív megközelítés biztosítja, hogy csak a releváns változtatásokat hajtsák végre, minimalizálva a kockázatot és optimalizálva a teljesítményt.

Projektelemek és architektúra

A TuxTape készlet Több integrált eszközből áll az észleléstől az élő foltozásig:

  • Sebezhetőség-követő rendszer: Ez felelős az új fenyegetések valós idejű észleléséért és rögzítéséért.
  • Adatbázis generátor: Feladata, hogy egy strukturált adatbázisban információkat biztosítson a javításokról és sebezhetőségekről.
  • Metaadat-kiszolgáló gRPC-vel: Kezeli a javítások generálásával kapcsolatos kommunikációt és szolgáltatások koordinációját.
  • A diszpécserrendszer és a kernel felépítése: Részletes fordítási profil létrehozásával megkönnyíti a kernel fordítását meghatározott konfigurációkon.
  • Generátor és javítófájl: A szokásos javításokat dinamikusan betölthető kernelmodulokká alakítja.
  • Kliens végállomások számára: Lehetővé teszi a javítások fogadását és alkalmazását a gyártórendszereken.
  • Interaktív felület (műszerfal): Adminisztrációs konzolt biztosít a felhasználó számára, ahol áttekintheti, kezelheti és létrehozhatja az élő javításokat a kapott források alapján.

Érdemes megemlíteni, hogy a TuxTape projekt és fejlesztés jelenleg egy kísérleti prototípus fázisban van, így jelenleg csak kezdeti tesztelésre ajánlott a különböző komponenseivel.

A projekt tesztelése iránt érdeklődők számára jelenleg csak bizonyos eszközökön ajánljuk a tesztelést, mint például:

  • tuxtape-cve-parser: Elemzi a sebezhetőségi információkat, és javítási adatbázist készít.
  • szmoking-szerver: GRPC interfészt valósít meg a javítások generálásához és terjesztéséhez.
  • tuxtape-kernel-builder: Feladata egy adott konfigurációjú kernel felépítése és a megfelelő fordítási profil létrehozása.
  • szmoking-műszerfal: Konzolfelületet biztosít a kapott forrásjavítások alapján élő javítások áttekintéséhez és létrehozásához.

Végül fontos megemlíteni, hogy a projektet Rustban fejlesztik, és az Apache 2.0 licenc alatt terjesztik. További információkat vagy ennek forráskódját innen tekintheti meg a következő link.