Avvio protetto

L'avvio protetto è una funzionalità dell'interfaccia UEFI ( Unified Extensible Firmware Interface ) che richiede la verifica di tutti i componenti software e firmware di basso livello prima del caricamento. Durante l'avvio, l'avvio protetto UEFI controlla la firma di ogni componente del software di avvio, inclusi i driver del firmware UEFI (noti anche come rom di opzione), le applicazioni EFI (Extensible Firmware Interface) e i driver e i file binari del sistema operativo. Se le firme sono valide o attendibili dall'OEM (Original Equipment Manufacturer), l'avvio del computer e il firmware fornisce il controllo al sistema operativo.

Componenti e processi

L'avvio protetto si basa su questi componenti critici:

  • Chiave della piattaforma (PK) : stabilisce l'attendibilità tra il proprietario della piattaforma (Microsoft) e il firmware. La metà pubblica è PKpub e la metà privata è PKpriv.
  • Key enrollment key database (KEK) : stabilisce un trust tra il sistema operativo e il firmware della piattaforma. La metà pubblica è KEKpub e la metà privata è KEKpriv.
  • Database di firma (db): contiene i digest per i firmatari attendibili (chiavi pubbliche e certificati) dei moduli di codice firmware e software autorizzati a interagire con il firmware della piattaforma.
  • Database delle firme revocate (dbx): contiene digest revocati dei moduli di codice identificati come dannosi, vulnerabili, compromessi o non attendibili. Se un hash si trova nel database della firma e nel database delle firme revocate, il database delle firme revocate ha un precedente.

La figura e il processo seguenti illustrano come questi componenti vengono aggiornati:

Diagramma che mostra i componenti di avvio protetto.

L'OEM archivia i digest di avvio protetto nella RAM non volatile (NV-RAM) del computer al momento della produzione.

  1. Il database di firma (db) viene popolato con i firmatari o gli hash delle immagini delle applicazioni UEFI, dei caricatori del sistema operativo (ad esempio Microsoft Operating System Loader o Boot Manager) e dei driver UEFI attendibili.
  2. Il database delle firme revocate (dbx) viene popolato con digest di moduli non più attendibili.
  3. Il database della chiave di registrazione della chiave (KEK) viene popolato con chiavi di firma che possono essere usate per aggiornare il database delle firme e revocare il database delle firme. I database possono essere modificati tramite aggiornamenti firmati con la chiave corretta o tramite aggiornamenti da un utente fisicamente autorizzato tramite menu del firmware.
  4. Dopo aver aggiunto i database db, dbx e KEK e aver completato la convalida e il test del firmware finale, l'OEM blocca il firmware dalla modifica e genera una chiave della piattaforma (PK). La chiave pubblica può essere usata per firmare gli aggiornamenti della chiave di crittografia della chiave o per disattivare l'avvio protetto.

Durante ogni fase del processo di avvio, i digest del firmware, del bootloader, del sistema operativo, dei driver del kernel e di altri artefatti della catena di avvio vengono calcolati e confrontati con i valori accettabili. Il firmware e il software individuati come non attendibili non possono essere caricati. Di conseguenza, gli attacchi malware di basso livello o preavvio possono essere bloccati.

Avvio protetto nella flotta di Azure

Oggi, ogni computer di cui è stato eseguito l'onboarding e la distribuzione nella flotta di calcolo di Azure per ospitare i carichi di lavoro dei clienti proviene dai piani di fabbrica con l'avvio protetto abilitato. Gli strumenti e i processi mirati vengono eseguiti in ogni fase della pipeline di integrazione e di compilazione dell'hardware per garantire che l'abilitazione dell'avvio protetto non venga ripristinata per errore o per finalità dannose.

Verificare che i digest db e dbx siano corretti garantisce:

  • Bootloader è presente in una delle voci del database
  • La firma di Bootloader è valida
  • Avvio dell'host con software attendibile

Convalidando le firme di KEKpub e PKpub, è possibile verificare che solo le parti attendibili abbiano l'autorizzazione per modificare le definizioni del software considerato attendibile. Infine, assicurandosi che l'avvio protetto sia attivo, è possibile verificare che queste definizioni vengano applicate.

Passaggi successivi

Per altre informazioni sulle operazioni eseguite per promuovere l'integrità e la sicurezza della piattaforma, vedere: