Che cos'è un kernel di sicurezza?
Un kernel di sicurezza è essenzialmente il nucleo di un'implementazione della sicurezza del computer o della rete. È il cuore di un ambiente informatico sicuro, che può essere implementato sotto forma di un componente hardware installato in una topologia di computer o di rete, un'implementazione software o un sistema firmware installato in un microchip. In ogni caso, il kernel diventa la posizione centrale per stabilire le autorizzazioni di accesso per un computer o le risorse di rete.
Una delle prime implementazioni del kernel di sicurezza era un monitor di macchine virtuali sviluppato negli anni '70 per i sistemi informatici di estensione dell'indirizzo virtuale (DEC®) Digital Equipment Corporation® (DEC®). Il computer potrebbe essere configurato in più macchine virtuali in grado di eseguire ognuna un sistema operativo diverso con accesso a risorse diverse e con protocolli di sicurezza diversi. In questo caso, il kernel di sicurezza risiedeva sulla macchina reale in cui venivano create le macchine virtuali e gestiva il controllo degli accessi per le diverse macchine virtuali che potevano quindi avere livelli di sicurezza variabili.
L'implementazione più comune di un kernel di sicurezza avviene tramite un livello software all'interno del sistema operativo di un computer. Il design del sistema può essere visto come una serie di anelli, simile a una cipolla, in cui ogni strato accede a quelli sottostanti. Al centro assoluto è l'hardware. Il primo livello sull'hardware sarebbe il kernel di sicurezza, che contiene tutte le istruzioni di controllo e autenticazione dell'accesso per l'accesso all'hardware di un computer. Sopra il kernel di sicurezza c'è il resto del sistema operativo e sopra ci sono operazioni di programma e quindi a livello di utente.
Ciò costituisce la base essenziale di un sistema operativo che rientra nella metodologia Trusted Computing Base (TCB). In un'implementazione TCB, il kernel di sicurezza in un sistema operativo viene anche definito monitor di riferimento. Fornisce il controllo completo in ogni momento e non può essere manomesso in alcun modo. Quindi applica la politica di sicurezza per i programmi e gli utenti sul sistema in modo che possano leggere e scrivere sui file sul sistema, nonché i vari punti di accesso per i protocolli di rete e altre comunicazioni tra processi. Nel fornire queste funzioni, deve anche essere in grado di essere analizzato e monitorato per garantire che soddisfi questi requisiti.
Dato che il concetto di kernel di sicurezza ha una definizione così ampia, non si limita alle implementazioni di software. Le politiche di sicurezza di base possono anche assumere la forma di un dispositivo hardware, come un sistema di smart card o altri componenti hardware aggiuntivi. In questo modo, l'accesso alle risorse del sistema non può essere sbloccato senza l'uso di una scheda specifica inserita nel computer.
Un'altra tecnica per implementare un kernel di sicurezza può essere attraverso un sistema distribuito. In un'implementazione, nota come TTCB (Trusted Timely Computing Base), la rete è vista come un sistema che è spesso suscettibile a qualche forma di violazione della sicurezza. Invece di prevenire gli attacchi, il sistema TTCB tollera le intrusioni e fornisce un mezzo per affrontarle. Con questo tipo di implementazione, i nodi di rete portano ciascuno il kernel di sicurezza distribuito, che fornisce il proprio canale sicuro per la comunicazione e il controllo.