TuxTape, een nieuw voorstel voor LivePatch op Linux

TuxTape

Het concept van "Livepatch is niets nieuws en het is al een paar jaar niet eens meer geïmplementeerd in Linux, aangezien Red Hat, Oracle, Canonical en SUSE deze technologie al in hun distributies hebben geïmplementeerd.

En hoewel ze zichzelf hebben bewezen als een uitstekende oplossing, is dit Het hangt meestal af van gesloten processen bij het maken van de patches, waardoor de transparantie en het aanpassingsvermogen worden beperkt. Eerdere open source-projecten, zoals Gentoo's elivepatch en Debian's linux-livepatching, werden gekenmerkt door lange periodes van inactiviteit of stagnatie in hun prototypefase.

Geconfronteerd met deze reeks problemen die nog steeds bezig zijn met het proces van het genereren, compileren, implementeren en installeren van actieve Linux-kernelpatches, TuxTape presenteert zichzelf als een oplossing onafhankelijk, ontworpen om aanpasbaar te zijn aan elke versie van de Linux-kernel, zonder beperkt te zijn tot pakketten die specifiek zijn voor elke distributie.

TuxTape, een oplossing voor live patching in Linux

TuxTape, is een nieuwe oplossing dat laat beheerders toe van systemen uw eigen infrastructuur implementeren om live patches voor de Linux-kernel te maken, samen te stellen en te implementeren.

Het hoofddoel van TuxTape is om aan te bieden een uitgebreid systeem dat de creatie en levering van live patches automatiseert. Dankzij de architectuur is het mogelijk om patches te genereren die compatibel zijn met bestaande tools zoals kpatch van Red Hat, kGraft van SUSE, Ksplice van Oracle en andere universele oplossingen.

De patches Ze worden geïmplementeerd als kernelmodules die bestaande functies vervangen door gebruik te maken van het ftrace-subsysteem, dat de uitvoering omleidt naar de nieuwe functies die in de module zijn opgenomen. Daarnaast kan TuxTape updates van kwetsbaarheden bijhouden die op de linux-cve-announce mailinglijst en in Git-repositories worden geplaatst.

TuxTape livepatch

Met behulp van deze informatie classificeert het systeem kwetsbaarheden op basis van ernst, beoordeelt de toepasbaarheid van elke patch via een gedetailleerde analyse van het kernel-buildprofiel en verwijdert de oplossingen die geen invloed hebben op de doelomgeving. Deze selectieve aanpak zorgt ervoor dat alleen relevante wijzigingen worden doorgevoerd, waardoor risico's worden geminimaliseerd en de prestaties worden geoptimaliseerd.

Projectcomponenten en architectuur

De TuxTape-kit Het bestaat uit meerdere geïntegreerde tools van detectie tot live patching:

  • Kwetsbaarheidsvolgsysteem: Dit is verantwoordelijk voor het in realtime detecteren en vastleggen van nieuwe bedreigingen.
  • Databasegenerator: Het is verantwoordelijk voor het verstrekken van informatie over patches en kwetsbaarheden in een gestructureerde database.
  • Metadata-server met gRPC: Beheert de communicatie en coördinatie van services met betrekking tot patchgeneratie.
  • Dispatchsysteem en kernelconstructie: Maakt kernelcompilatie op specifieke configuraties mogelijk door een gedetailleerd compilatieprofiel te genereren.
  • Generator en patchbestand: Transformeert reguliere patches naar dynamisch laadbare kernelmodules.
  • Client voor eindhosts: Maakt de ontvangst en toepassing van patches op productiesystemen mogelijk.
  • Interactieve interface (Dashboard): Biedt een beheerconsole voor de gebruiker waarmee hij live patches kan bekijken, beheren en maken op basis van de ontvangen bronnen.

Het is de moeite waard om te vermelden dat het TuxTape-project en de ontwikkeling ervan zich momenteel in een experimentele prototypefase bevinden. Daarom wordt het op dit moment alleen aanbevolen voor eerste tests met de verschillende componenten.

Voor degenen die het project willen testen, wordt testen momenteel alleen aanbevolen op specifieke tools, zoals:

  • tuxtape-cve-parser: Analyseert kwetsbaarheidsinformatie en bouwt een patchdatabase.
  • tuxtape-server: Implementeert een gRPC-interface voor patchgeneratie en -distributie.
  • tuxtape-kernel-builder: Het is verantwoordelijk voor het bouwen van de kernel met een bepaalde configuratie en het genereren van het bijbehorende compilatieprofiel.
  • smokingtape-dashboard: Biedt een console-interface voor het beoordelen en maken van live patches op basis van ontvangen bronpatches.

Tot slot is het belangrijk om te vermelden dat het project wordt ontwikkeld in Rust en wordt gedistribueerd onder de Apache 2.0-licentie. U kunt meer informatie of de broncode hiervan raadplegen via de volgende link.