Kage: un prototipo per isolare i driver del kernel Linux
Kage è un sottosistema sperimentale del kernel Linux che esegue i moduli kernel dentro sandbox interne al kernel, sfruttando la funzione Lightweight Fault Isolation (LFI) di LLVM. A descriverlo è la scheda dell’intervento alla Linux Plumbers Conference 2026, in calendario dal 5 al 7 ottobre, firmata da Zachary Yedidia (Stanford University e Google) con i coautori Nic Watson e Tal Garfinkel, entrambi di Google. Google non ha annunciato nulla: è la descrizione di un prototipo di ricerca, non di un prodotto.
Perché isolare i driver nel kernel
Secondo la scheda, i driver di Linux girano con tutti i privilegi del kernel e rappresentano una quota significativa delle vulnerabilità sfruttabili. Un difetto in un driver può quindi avere conseguenze su tutto il sistema.
L’idea di Kage è confinare questi moduli senza spostarli altrove. I driver «kagizzati» restano nello stesso livello di privilegio hardware e nello stesso spazio di indirizzi del resto del kernel, ma vengono compilati in modo che flusso di controllo e accessi alla memoria siano limitati a un sottoinsieme della memoria virtuale.
Gli autori sostengono che questa scelta tenga bassi i costi di transizione e riduca il lavoro necessario per aggiungere l’isolamento a driver già esistenti. Sono affermazioni della scheda: non vengono forniti numeri o misure.
Come funziona: LFI, verificatore e BTF
LFI, sempre secondo la scheda, è pensata per offrire un isolamento sicuro anche contro codice arbitrariamente malevolo. Il merito è di un verificatore di codice macchina, che tiene il compilatore fuori dalla parte di codice di cui ci si deve fidare.
Per le chiamate tra kernel e modulo, Kage usa le informazioni di tipo BTF. Con queste controlla in automatico le firme delle chiamate e sostituisce i puntatori del kernel con handle opachi.
Cosa fa il prototipo oggi
L’intervento presenta una versione prototipale di Kage, capace di caricare moduli kernel compilati con LFI in una porzione isolata dello spazio di indirizzi. Mostra inoltre come portare i driver a girare dentro le sandbox.
Secondo la scheda, il prototipo attuale è in grado di isolare moduli kernel computazionali semplici; le capacità necessarie per l’hardware reale sono ancora da sviluppare.
Cosa manca per arrivare ai driver reali
La scheda prevede che Kage cresca in più direzioni, necessarie per gestire hardware vero:
- MMIO, cioè l’accesso ai registri dei dispositivi;
- condivisione di buffer;
- DMA, tramite IOMMU;
- instradamento degli interrupt.
L’obiettivo finale è isolare driver reali e complessi, come quelli USB o di rete, o forse anche GPU. La scheda non indica date di rilascio né un’eventuale integrazione nel kernel principale.


