Secure Boot

La funzionalità Secure Boot descritta nella specifica UEFI (Unified Extensible Firmware Interface) 2.3.1b, le cui finalità sono quelle di impedire l’esecuzione di firmware, sistemi operativi o driver UEFI (o ROM facoltative) non autorizzati all’avvio del sistema. Per svolgere questa funzione il Secure Boot mantenendo dei database dei firmatari di software e delle immagini del software di cui è pre-approvata l’esecuzione nel computer.

In altre parole “Secure Boot” fa sì che durante il processo di boot venga eseguito solo software compatibile con le firme crittografiche autorizzate.

Microsoft richiede che i produttori di computer debbano implementare il “Secure Boot” di UEFI, per poter acquisire la certificazione del Windows Hardware Certification Program (Windows Logo program). Si veda  Windows Hardware Certification Requirements for Client and Server Systems – System.Fundamentals.Firmware.UEFISecureBoot:

Title: All client systems must support UEFI Secure boot

Applicable OS Versions

Windows 8 (x86)
Windows 8 (x64)
Windows RT
Windows Server 2012

Description

Note: These requirements are “If Implemented” for Server systems and apply only if a Server system supports UEFI Secure Boot.

Comments:

Although a system may ship with a non-UEFI-compatible OS, if that system is ever upgraded to a UEFI-compatible OS, noncompliance with this requirement results in some features not working.

Sequenza di avvio con Secure Boot attivato:

  1. All’accensione del computer i database delle firme vengono controllato a fronte della chiave di piattaforma.
  2. Se il firmware non è attendibile, il firmware UEFI deve avviare il ripristino specifico dell’OEM per ripristinare il firmware attendibile.
  3. In presenza di un problema relativo a Windows Boot Manager, il firmware tenterà di avviare una copia di backup di Windows Boot Manager. Se anche questo tentativo ha esito negativo, il firmware deve avviare la procedura di risoluzione specifica dell’OEM.
  4. Dopo l’inizio dell’esecuzione di Windows Boot Manager, se si è verificato un problema relativo ai driver o al kernel NTOS, viene caricato Ambiente ripristino Windows per consentire il ripristino di tali driver o dell’immagine del kernel.
  5. Successivamente, viene caricato il software antimalware.
  6. Infine, Windows carica altri driver del kernel e avvia i processi in modalità utente.

Requisiti per Secure Boot:

  • Il computer deve essere alle specifiche UEFI 2.3.1.
  • Il Secure Boot è supportato per i computer UEFI di Classe 2 e Classe 3.
  • Per i computer UEFI di Classe 2, è necessario che il modulo di supporto della compatibilità (CSM) venga disabilitato affinché il computer possa avviare solo sistemi operativi basati su UEFI.
  • L’avvio protetto non richiede un modulo TPM (Trusted Platform Module).

Per maggiori informazioni si vedano:

Lo scopo finale del Secure Boot è di fatto quello di non permettere l’avvio del sistema mediante fonti non sicure ovvero proteggere il sistema dal malware anche nella fase del boot, quando ‘OS non può nulla in quanto non è ancora attivo.

Ovviamente questa funzionalità se da una parte aggiunge sicurezza dall’altra parte limita la possibilità di utilizzare il sistema con OS che non siano nel database usato dalla funzionalità Secure Boot, per questo motivo non è vista di buon occhio dalle community Open Source, si veda ad esempio il post “Secure Boot”: Chi avrà il controllo del tuo prossimo computer? della Free Software Foundation Europe (FSFE).

A mio avviso questa funzionalità si può dimostrare utile a livello aziendale, si pensi ad esempio ai notebook o ai server in stabilimenti remoti che tramite Secure Boot hanno la possibilità di avere un livello di sicurezza in più nel caso cadano in mani sbagliate.