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 parte 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 l'attendibilità 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 assume precedenti.
La figura e il processo seguenti illustrano come vengono aggiornati questi componenti:
L'OEM archivia i digest di avvio protetto sulla RAM non volatile (NV-RAM) del computer al momento della produzione.
- Il database della firma viene popolato con i firmatari o gli hash delle immagini delle applicazioni UEFI, i caricatori del sistema operativo (ad esempio Il caricatore del sistema operativo Microsoft o Boot Manager) e i driver UEFI attendibili.
- Il dbx delle firme revocate viene popolato con digest di moduli non più attendibili.
- Il database della chiave di registrazione 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 parte di un utente fisicamente autorizzato usando i menu del firmware.
- Dopo aver aggiunto i database dbx e KEK e aver completato la convalida e il test finale del firmware, l'OEM blocca il firmware dalla modifica e genera una chiave della piattaforma (PK). L'infrastruttura a 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. Non è consentito caricare firmware e software che vengono individuati come non attendibili. Di conseguenza, gli attacchi malware di basso livello iniezione 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 avvio protetto abilitato. Gli strumenti e i processi mirati sono disponibili in ogni fase della pipeline di integrazione e di compilazione hardware per garantire che l'abilitazione dell'avvio protetto non venga ripristinata per errore o per finalità dannose.
Verifica che i digest db e dbx siano corretti:
- Bootloader è presente in una delle voci del database
- La firma di Bootloader è valida
- Avvio 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 di ciò che il 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: