Che cos’è un kernel di sicurezza?

Un kernel di sicurezza è essenzialmente il nucleo di un’implementazione di sicurezza del computer o della rete. È il fulcro di un ambiente informatico sicuro, che può essere implementato sotto forma di un componente hardware installato in un computer o in una topologia di rete, un’implementazione software o un sistema firmware installato in un microchip di computer. Con qualsiasi mezzo, 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 macchina virtuale sviluppato negli anni ‘1970 per i sistemi di computer VAX (Virtual Address Extension) di Digital Equipment Corporation® (DEC®). Il computer potrebbe essere configurato in più macchine virtuali che potrebbero eseguire ciascuna un sistema operativo diverso con accesso a risorse diverse e con protocolli di sicurezza diversi. In questo caso, il kernel risiedeva sulla macchina reale in cui erano stabilite le macchine virtuali e gestiva il controllo degli accessi per le diverse macchine virtuali che potevano quindi avere diversi livelli di sicurezza.

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, simili a una cipolla, dove ogni strato accede a quelli sottostanti. Al centro assoluto c’è l’hardware. Il primo livello sull’hardware sarebbe il kernel di sicurezza, che trasporta tutte le istruzioni di controllo e autenticazione per l’accesso all’hardware di un computer. Sopra questo c’è il resto del sistema operativo, e sopra questo ci sono il programma e quindi le operazioni a livello di utente.

Questo costituisce la struttura 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 è indicato anche come 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, così come sui 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 software. I criteri di sicurezza di base possono anche assumere la forma di un dispositivo hardware, come un sistema di smart card o altre aggiunte hardware. In questo modo non è possibile sbloccare l’accesso alle risorse del sistema senza l’utilizzo di una specifica scheda inserita nel computer.

Un’altra tecnica per implementare un kernel di sicurezza può essere attraverso un sistema distribuito. In un’implementazione, nota come Trusted Timely Computing Base (TTCB), la rete è vista come un sistema 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 trasportano ciascuno il kernel di sicurezza distribuito, che fornisce il proprio canale sicuro per la comunicazione e il controllo.