Un multikernel è un progetto di sistema in cui più di un kernel partecipa alla gestione delle risorse hardware sulla stessa macchina. Invece di un solo kernel che controlla tutto, il sistema distribuisce il controllo tra i kernel e lo coordina tramite interfacce esplicite. Questo può essere usato per separare i carichi di lavoro, ridurre la contesa o esplorare nuove forme di isolamento senza fare affidamento su un hypervisor tradizionale.
Nella sicurezza informatica, il problema importante è quello dei confini di fiducia. Un multikernel aggiunge logica di coordinamento per l'avvio, la memoria, i dispositivi e la comunicazione tra kernel, e queste interfacce diventano obiettivi di alto valore. Se il codice di partizionamento o di sincronizzazione è difettoso, un attaccante può essere in grado di compromettere la disponibilità, oltrepassare i confini di isolamento o influenzare le risorse condivise. I difensori dovrebbero trattare un multikernel come qualsiasi altro ancoraggio di fiducia: verificare le regole dei confini, monitorare i canali di comunicazione e testare la gestione dei guasti. Il concetto non è automaticamente più sicuro della virtualizzazione; sposta semplicemente il carico di sicurezza in altro codice e in altre assunzioni.


