TuxTape, una nuova proposta per LivePatch su Linux

Nastro da smoking

Il concetto di "Livepatch non è una novità e da qualche anno non è nemmeno implementata in Linux, dato che Red Hat, Oracle, Canonical e SUSE sono alcune delle aziende che hanno implementato questa tecnologia per le loro distribuzioni.

E sebbene si siano affermati come un'ottima soluzione, questo Di solito dipende dai processi chiusi nella creazione delle patch, limitando la trasparenza e l'adattabilità. I precedenti progetti open source, come elivepatch di Gentoo e linux-livepatching di Debian, sono stati caratterizzati da lunghi periodi di inattività o stagnazione nelle loro fasi di prototipo.

Di fronte a questa serie di problemi che stanno ancora affrontando il processo di generazione, compilazione, distribuzione e installazione di patch del kernel Linux attive, TuxTape si presenta come una soluzione indipendente, progettato per essere adattabile a qualsiasi versione del kernel Linux, senza essere limitato a pacchetti specifici di ogni distribuzione.

TuxTape, una soluzione per il live patching in Linux

TuxTape, è una nuova soluzione che consente agli amministratori dei sistemi implementare la propria infrastruttura per creare, assemblare e distribuire patch live al kernel Linux.

L'obiettivo principale da TuxTape è quello di offrire un sistema completo che automatizza la creazione e la distribuzione di patch live. La sua architettura consente di generare patch compatibili con strumenti esistenti come kpatch di Red Hat, kGraft di SUSE, Ksplice di Oracle e altre soluzioni universali.

patch Sono implementati come moduli kernel che sostituiscono le funzioni esistenti utilizzando il sottosistema ftrace, che reindirizza l'esecuzione alle nuove funzioni incluse nel modulo. Inoltre, TuxTape ha la capacità di tracciare gli aggiornamenti delle vulnerabilità pubblicati sulla mailing list linux-cve-announce e nei repository Git.

TuxTape patch live

Utilizzando queste informazioni, il sistema classifica le vulnerabilità in base alla gravità, valuta l'applicabilità di ciascuna patch tramite un'analisi dettagliata del profilo di build del kernel e scarta le correzioni che non influiscono sull'ambiente di destinazione. Questo approccio selettivo garantisce che vengano implementate solo le modifiche rilevanti, riducendo al minimo i rischi e ottimizzando le prestazioni.

Componenti e architettura del progetto

Il kit TuxTape Si compone di molteplici strumenti integrati che vanno dal rilevamento alla patch live:

  • Sistema di monitoraggio delle vulnerabilità: È responsabile del rilevamento e della registrazione di nuove minacce in tempo reale.
  • Generatore di database: Ha il compito di fornire informazioni su patch e vulnerabilità in un database strutturato.
  • Server metadati con gRPC: Gestisce la comunicazione e il coordinamento dei servizi correlati alla generazione delle patch.
  • Sistema di distribuzione e costruzione del kernel: Facilita la compilazione del kernel su configurazioni specifiche generando un profilo di compilazione dettagliato.
  • Generatore e file di patch: Trasforma le patch regolari in moduli kernel caricabili dinamicamente.
  • Client per gli host finali: Consente la ricezione e l'applicazione di patch sui sistemi di produzione.
  • Interfaccia interattiva (Dashboard): Fornisce all'utente una console di amministrazione in cui può rivedere, gestire e creare patch live in base alle fonti ricevute.

Vale la pena ricordare che il progetto e lo sviluppo di TuxTape sono attualmente in una fase di prototipo sperimentale, quindi al momento se ne consiglia solo la sperimentazione iniziale con i suoi diversi componenti.

Per coloro interessati a testare il progetto, al momento si consiglia di effettuare i test solo su strumenti specifici quali:

  • parser-cve-tuxtape: Analizza le informazioni sulle vulnerabilità e crea un database delle patch.
  • server tuxtape: Implementa un'interfaccia gRPC per la generazione e la distribuzione di patch.
  • costruttore del kernel di tuxtape: È responsabile della compilazione del kernel con una determinata configurazione e della generazione del profilo di compilazione corrispondente.
  • cruscotto-tuxtape: Fornisce un'interfaccia console per la revisione e la creazione di patch live basate sulle patch sorgente ricevute.

Infine, è importante sottolineare che il progetto è sviluppato in Rust e distribuito con licenza Apache 2.0. Puoi consultare maggiori informazioni o il codice sorgente di questo, da il seguente collegamento.