El concepte de «Livepatch» o «pegats en viu», no és una cosa nova i ni tan sols que tingui uns quants anys implementant-se a Linux, ja que Red Hat, Oracle, Canonical i SUSE són alguns dels que han implementat aquesta tecnologia per a les seves distribucions.
I encara que s'han consolidat com una solució excel·lent, aquesta sol dependre de processos tancats en la creació dels pegats, limitant la transparència i l'adaptabilitat. Projectes de codi obert anteriors, com elivepatch de Gentoo i linux-livepatching de Debian, s'han vist marcats per llargs perÃodes d'inactivitat o estancaments en les fases de prototip.
Davant aquesta sèrie de problemà tiques que encara s'enfronten en el procés de generar, compilar, implementar i instal·lar pegats actius del nucli de Linux, TuxTape es presenta com una solució independent, dissenyada per ser adaptable a qualsevol versió del nucli de Linux, sense estar limitada a paquets especÃfics de cada distribució.
TuxTape, una solució per als pegats en viu a Linux
TuxTape, és una nova solució que permet als administradors de sistemes implementar la seva pròpia infraestructura per crear, assemblar i desplegar pegats en viu al nucli de Linux.
L'objectiu principal de TuxTape és oferir un sistema integral que automatitzi la creació i entrega de pegats en viu. La seva arquitectura permet generar pegats compatibles amb eines existents com kpatch de Red Hat, kGraft de SUSE, Ksplice d'Oracle i altres solucions universals.
els pegats s'implementen com a mòduls de kernel que reemplacen funcions existents mitjançant l'ús del subsistema ftrace, cosa que redirigeix ​​l'execució cap a les noves funcions incloses al mòdul. A més, TuxTape compta amb la capacitat de rastrejar les actualitzacions de vulnerabilitats publicades a la llista de correu linux-cve-announce i en repositoris Git.

Amb aquesta informació, el sistema classifica les vulnerabilitats per gravetat, avalua l'aplicabilitat de cada pegat mitjançant una anà lisi detallada del perfil de compilació del nucli i descarta les correccions que no afectin l'entorn de destinació. Aquest enfocament selectiu garanteix que només s'implementin les modificacions pertinents, minimitzant riscos i optimitzant-ne el rendiment.
Components i arquitectura del projecte
El kit de TuxTape es compon de múltiples eines integrades que abasten des de la detecció fins a l'aplicació de pegats en viu:
- Sistema de seguiment de vulnerabilitats: aquest sencarrega de detectar i registrar noves amenaces en temps real.
- Generador de bases de dades: és l'encarregat de subministrar la informació sobre pegats i vulnerabilitats a una base de dades estructurada.
- Servidor de metadades amb gRPC: Administra la comunicació i la coordinació de serveis relacionats amb la generació de pegats.
- Sistema de despatx i construcció de nucli: Facilita la compilació del nucli en configuracions especÃfiques, generant un perfil de compilació detallat.
- Generador i arxiu de pegats: Transforma pedaços regulars en mòduls de kernel que es poden carregar dinà micament.
- Client per a hosts finals: Permet la recepció i aplicació dels pegats als sistemes de producció.
- InterfÃcie interactiva (Dashboard): Ofereix una consola d'administració per a l'usuari on pot revisar, gestionar i crear pegats en viu basats en les fonts rebudes.
Cal esmentar que actualment el projecte i desenvolupament de TuxTape es troba en una fase experimental de prototip, per la qual cosa de moment només es recomana per a proves inicials amb els seus diferents components.
Per als interessats a provar el projecte, de moment es recomanen les proves només en eines especÃfiques com:
- tuxtape-cve-parser: Analitza la informació sobre vulnerabilitats i construeix una base de dades de pegats.
- tuxtape-server: Implementa una interfÃcie gRPC per a la generació i distribució de pegats.
- tuxtape-kernel-builder: S'encarrega de construir el nucli amb una configuració donada i generar el perfil de compilació corresponent.
- tuxtape-dashboard: Proporciona una interfÃcie de consola per a la revisió i creació de pegats en viu basats en els pegats font rebuts.
Finalment, és important esmentar que el projecte està sent desenvolupat a Rust i és distribuït sota la llicència Apache 2.0. Pots consultar més informació o el codi font d'aquest, des de el següent enllaç.