Contromisure per BitLocker

Windows usa tecnologie come TPM, Avvio protetto, Avvio sicuro e Antimalware a esecuzione anticipata per la protezione della chiave di crittografia di BitLocker dagli attacchi.

BitLocker è parte di un approccio strategico alla protezione dei dati dei dispositivi mobili tramite la tecnologia di crittografia. I dati in un computer smarrito o rubato sono vulnerabili all'accesso non autorizzato, sia attraverso l'esecuzione di uno strumento di attacchi al software sia tramite il trasferimento del disco rigido del computer in un altro computer. Oggi BitLocker aiuta a prevenire l'accesso non autorizzato ai dati su computer smarriti o rubati prima dell'avvio del sistema operativo tramite le strategie seguenti:

  • Crittografia dei dischi rigidi nel computer. Ad esempio, puoi attivare BitLocker per l'unità del sistema operativo, un'unità dati fissa o un'unità dati rimovibile, come un'unità flash USB. L'attivazione di BitLocker per l'unità del sistema operativo comporta la crittografia di tutti i file nell'unità del sistema operativo, inclusi i file di scambio e i file ibernazione.

  • Verifica dell'integrità dei componenti di avvio e dei dati di configurazione di avvio. Nei dispositivi con un TPM 1.2 o versioni successive BitLocker usa le funzionalità di sicurezza avanzata del TPM per garantire che i dati siano accessibili solo se i componenti di avvio del computer appaiono inalterati e il disco crittografato si trova nel computer originale.

Le sezioni seguenti forniscono informazioni più dettagliate sulle diverse tecnologie usate da Windows per la protezione da attacchi nella chiave di crittografia di BitLocker in quattro fasi di avvio: prima dell'avvio, durante il preavvio, durante l'avvio e infine dopo l'avvio.

Protezione prima dell'avvio

Prima dell'avvio di Windows, devi affidarti a funzionalità di sicurezza implementate come parte dell'hardware del dispositivo, tra cui TPM e Avvio protetto. Fortunatamente, molti computer moderni includono un TPM.

Trusted Platform Module

Il solo software non è sufficiente per proteggere un sistema. Se il software viene danneggiato da un attacco, potrebbe non essere più in grado di rilevare il danno. Di conseguenza, un solo attacco riuscito al software produce un sistema non attendibile che potrebbe non essere mai rilevato. Al contrario, l'hardware è molto più difficile da modificare.

Un TPM è un microchip progettato per fornire funzioni di base associate alla sicurezza, principalmente correlate alle chiavi di crittografia. Il TPM viene in genere installato sulla scheda madre di un computer e comunica con il resto del sistema tramite un bus hardware. Fisicamente, i TPM sono progettati per essere a prova di manomissione. Se un utente malintenzionato tenta di recuperare fisicamente i dati direttamente dal chip, probabilmente finisce per distruggere il chip stesso.

Associando la chiave di crittografia di BitLocker al TPM e configurando in modo appropriato il dispositivo, è praticamente impossibile che un utente malintenzionato riesca ad accedere ai dati crittografati con BitLocker senza ottenere le credenziali di un utente autorizzato. Di conseguenza, i computer con un TPM possono fornire un alto livello di protezione contro gli attacchi che tentano di recuperare direttamente la chiave di crittografia di BitLocker.

Per altre info sul TPM, vedi Trusted Platform Module.

UEFI e Avvio protetto

Nessun sistema operativo può proteggere un dispositivo quando il sistema operativo è offline. Per questo motivo, Microsoft ha collaborato a stretto contatto con fornitori di hardware per richiedere protezione a livello di firmware contro bootkit e rootkit che potrebbero danneggiare le chiavi di crittografia della soluzione di crittografia.

UEFI è un ambiente di avvio programmabile introdotto come opzione sostitutiva del BIOS, rimasto per lo più invariato negli ultimi 30 anni. Come per il BIOS, i PC avviano UEFI prima di qualsiasi altro software, inizializzano i dispositivi e quindi UEFI avvia il bootloader del sistema operativo. Come parte della sua introduzione nell'ambiente prima del sistema operativo, UEFI ha diversi scopi, ma uno dei principali vantaggi è che protegge i dispositivi più nuovi contro un tipo sofisticato di malware chiamato bootkit tramite l'uso della funzionalità Avvio protetto.

Le implementazioni recenti di UEFI (a partire dalla versione 2.3.1) possono verificare le firme digitali del firmware del dispositivo prima di eseguirlo. Dato che solo il produttore dell'hardware del PC ha accesso al certificato digitale necessario per creare una firma del firmware valida, UEFI può impedire i bootkit basati su firmware. Di conseguenza, UEFI è il primo collegamento nella catena di certificati.

Avvio protetto è alla base della piattaforma e della sicurezza del firmware ed è stato creato per potenziare la sicurezza nell'ambiente prima dell'avvio indipendentemente dall'architettura del dispositivo. Usando firme per convalidare l'integrità delle immagini del firmware prima di consentirne l'esecuzione, Avvio protetto aiuta a ridurre il rischio di attacchi nel bootloader. Lo scopo di Avvio protetto è impedire l'avvio di firmware e bootloader non attendibili (firmati o non firmati) nel sistema.

Con il processo di avvio del BIOS legacy, l'ambiente prima del sistema operativo è vulnerabile agli attacchi che reindirizzano il passaggio del bootloader a possibili caricatori dannosi. Questi caricatori possono non essere rilevati dal sistema operativo e dal software antimalware. Il diagramma nella figura  1 mostra le differenze dei processi di avvio tra BIOS e UEFI.

Processi di avvio di BIOS e UEFI

Figura 1. Processi di avvio di BIOS e UEFI

Con Avvio protetto abilitato, UEFI, in coordinamento con il TPM, può esaminare il bootloader e determinarne l'attendibilità. Per determinare se il bootloader è attendibile, UEFI ne esamina la firma digitale. Usando la firma digitale, UEFI verifica che il bootloader sia stato firmato usando un certificato attendibile.

Se il bootloader supera questi due test, UEFI identifica che non si tratta di un bootkit e lo avvia. A questo punto, interviene Avvio sicuro e quindi il bootloader di Windows, usando le stesse tecnologie di crittografia usate da UEFI per verificare il bootloader, verifica che i file di sistema di Windows non siano stati modificati.

Tutti i PC certificati per Windows 8 devono soddisfare diversi requisiti relativi ad Avvio protetto basato su UEFI:

  • Devono avere l'avvio protetto abilitato per impostazione predefinita.

  • Devono considerare attendibile il certificato di Microsoft e di conseguenza anche tutti i bootloader firmati da Microsoft.

  • Devono permettere all'utente di configurare Avvio protetto in modo da ritenere attendibili i bootloader firmati.

  • Ad eccezione dei dispositivi Windows RT, devono permettere all'utente di disabilitare completamente Avvio protetto.

Questi requisiti ti proteggono dai rootkit, permettendoti di eseguire qualsiasi sistema operativo che vuoi. Hai tre opzioni diverse per eseguire sistemi operativi non Microsoft:

  • Usare un sistema operativo con un bootloader certificato. Microsoft può analizzare e firmare bootloader non Microsoft perché vengano considerati attendibili. La community di Linux usa questo processo per permettere a Linux di usare Avvio protetto su dispositivi certificati per Windows.

  • Configurare UEFI in modo da considerare attendibile il bootloader personalizzato. Il dispositivo può considerare attendibile un bootloader firmato non certificato, specificato da te nel database UEFI, per permetterti di eseguire qualsiasi sistema operativo, anche quelli personalizzati.

  • Disattivare Avvio protetto. Puoi disattivare Avvio protetto. Tuttavia, questa scelta non ti protegge dai bootkit.

Per impedire al malware di sfruttare queste opzioni, l'utente deve configurare manualmente il firmware UEFI in modo che consideri attendibile un bootloader non certificato o disattivi Avvio protetto. Il software non può modificare le impostazioni di Avvio protetto.

Qualsiasi dispositivo che non richiede Avvio protetto o altre tecnologie di verifica del bootloader simili, indipendentemente dall'architettura o dal sistema operativo, è vulnerabile ai bootkit, che possono essere usati per danneggiare la soluzione di crittografia.

Benché UEFI sia sicuro da progettazione, è essenziale proteggere la configurazione di Avvio protetto tramite protezione delle password. Inoltre, benché si siano verificati molti attacchi contro UEFI ben pubblicizzati, questi sfruttavano implementazioni di UEFI dannose. Questi attacchi sono inefficaci quando UEFI è implementato correttamente.

Per altre informazioni su Avvio protetto, fai riferimento a Protezione del processo di avvio di Windows 8.1.

Protezione durante il preavvio: autenticazione prima dell'avvio

L'autenticazione prima dell'avvio con BitLocker è un processo che richiede l'uso di un Trusted Platform Module (TPM), un input dell'utente, ad esempio un PIN, oppure entrambi, a seconda della configurazione hardware e del sistema operativo, per eseguire l'autenticazione prima di rendere accessibile il contenuto dell'unità del sistema. Nel caso di BitLocker, viene crittografata l'intera unità, inclusi tutti i file di sistema. BitLocker consente di accedere alla chiave di crittografia e la archivia in memoria solo dopo il completamento di un'operazione di autenticazione prima dell'avvio usando uno o più delle opzioni seguenti: Trusted Platform Module (TPM), l'utente fornisce un PIN specifico, chiave USB di avvio.

Se Windows non può accedere alla chiave di crittografia, il dispositivo non può leggere o modificare i file nell'unità di sistema. Anche se un utente malintenzionato rimuove il disco dal PC o ruba l'intero PC, non potrà leggere o modificare i file senza la chiave di crittografia. L'unica opzione per ignorare l'autenticazione prima dell'avvio consiste nell'immettere la chiave di ripristino a 48 cifre estremamente complessa.

La funzionalità di autenticazione prima dell'avvio di BitLocker non è progettata appositamente per impedire l'avvio del sistema operativo, ma questo è semplicemente un effetto collaterale del modo in cui BitLocker protegge la riservatezza dei dati e l'integrità del sistema. L'autenticazione prima dell'avvio è progettata per impedire il caricamento della chiave di crittografia nella memoria di sistema nei dispositivi vulnerabili a certi tipi di attacchi di avvio a freddo. Molti moderni dispositivi impediscono a un utente malintenzionato di rimuovere facilmente la memoria e Microsoft prevede che questi dispositivi saranno ancora più comuni in futuro.

Nei computer con un TPM compatibile le unità del sistema operativo protette con BitLocker possono essere sbloccate in quattro modi diversi:

  • Solo TPM. L'uso della convalida solo TPM non richiede alcuna interazione con l'utente per decrittografare l'unità e accedervi. Se la convalida TPM riesce, l'esperienza di accesso dell'utente è la stessa dell'accesso standard. Se il TPM è mancante o è stato modificato o se rileva modifiche a file di avvio critici del sistema operativo, BitLocker entra in modalità di ripristino e l'utente deve immettere una password di ripristino per ottenere di nuovo l'accesso ai dati.

  • TPM con chiave di avvio. Oltre alla protezione fornita dal TPM, parte della chiave di crittografia viene archiviata in un'unità flash USB, chiamata anche chiave di avvio. I dati nel volume crittografato non sono accessibili senza la chiave di avvio.

  • TPM con PIN. Oltre alla protezione fornita dal TPM, BitLocker richiede che l'utente immetta un PIN. I dati nel volume crittografato non sono accessibili se non viene immesso un PIN.

  • TPM con chiave di avvio e PIN. Oltre alla protezione dei componenti di base fornita dal TPM, parte della chiave di crittografia viene archiviata in un'unità flash USB ed è necessario un PIN per l'autenticazione dell'utente nel TPM. Questa configurazione fornisce autenticazione a più fattori in modo che se la chiave USB viene smarrita o rubata, non può essere usata per accedere all'unità, perché è necessario anche il PIN corretto.

Per molti anni, Microsoft ha consigliato l'uso dell'autenticazione prima dell'avvio per proteggersi da attacchi DMA e che sfruttano la persistenza della memoria. Oggi Microsoft consiglia l'uso dell'autenticazione prima dell'avvio solo nei PC in cui non possono essere implementate le strategie di prevenzione descritte in questo documento. Queste strategie di prevenzione possono essere inerenti al dispositivo o essere ottenute tramite configurazioni di cui l'IT può effettuare il provisioning nei dispositivi e in Windows stesso.

Benché efficace, l'autenticazione prima dell'avvio è poco pratica per gli utenti. Inoltre, se un utente dimentica il PIN o perde la chiave di avvio, gli viene negato l'accesso ai propri dati fino a quando non contatta il team di supporto dell'organizzazione per ottenere una chiave di ripristino. Oggi la maggior parte dei nuovi PC con Windows 10, Windows 8.1 o Windows 8 offre protezione sufficiente dagli attacchi DMA senza richiedere l'autenticazione prima dell'avvio. Ad esempio, la maggior parte dei PC moderni include opzioni di porta USB (che non sono vulnerabili ad attacchi DMA), ma non include porte FireWire o Thunderbolt (che sono invece vulnerabili ad attacchi DMA).

I dispositivi crittografati con BitLocker con porte DMA abilitate, tra cui porte FireWire o Thunderbolt, devono essere configurati con l'autenticazione prima dell'avvio se eseguono Windows 10, Windows 7, Windows 8 o Windows 8.1 e la disabilitazione delle porte tramite configurazione di criteri o del firmware non è un'opzione praticabile. I dispositivi InstantGo Windows 8.1 e versioni successive non richiedono l'autenticazione prima dell'avvio per difendersi da attacchi alle porte DMA, perché queste porte non sono presenti nei dispositivi certificati. Un dispositivo Windows 8.1 e versioni successive non InstantGo richiede l'autenticazione prima dell'avvio se le porte DMA sono abilitate nel dispositivo e se non sono implementate le strategie di prevenzione descritte in questo documento. Molti clienti ritengono che le porte DMA dei propri dispositivi non vengano mai usate e scelgono di eliminare la possibilità di un attacco disabilitandole, a livello di hardware o tramite Criteri di gruppo.

In molti nuovi dispositivi mobili la memoria di sistema è saldata alla scheda madre, per impedire un attacco in stile avvio a freddo, in cui la memoria di sistema viene bloccata, rimossa e quindi inserita in un altro dispositivo. Tuttavia, questi dispositivi e la maggior parte dei PC possono comunque essere vulnerabili se avviati in un sistema operativo dannoso.

Puoi prevenire il rischio di avvio in un sistema operativo dannoso in questi modi:

  • Windows 10 (senza Avvio protetto), Windows 8.1 (senza Avvio protetto), Windows 8 (senza Avvio protetto basato su UEFI) o Windows 7 (con o senza un TPM). Disabilita l'avvio da supporti esterni e richiedi una password del firmware per impedire a un utente malintenzionato di modificare questa opzione.

  • Windows 10, Windows 8.1 o Windows 8 (certificato o con Avvio protetto). Proteggi tramite password il firmware e non disabilitare Avvio protetto.

Protezione durante l'avvio

Durante il processo di avvio, Windows 10 usa Avvio sicuro e Antimalware ad esecuzione anticipata per esaminare l'integrità di ogni componente. Le sezioni seguenti descrivono più dettagliatamente queste tecnologie.

Avvio sicuro

Avvio sicuro interviene al termine di Avvio protetto basato su UEFI, durante la fase di inizializzazione del sistema operativo. Il bootloader verifica la firma digitale del kernel di Windows prima di caricarla. Il kernel di Windows, a sua volta, verifica ogni componente del processo di avvio di Windows, incluse le unità di avvio, i file di avvio e il driver antimalware ad esecuzione anticipata. Se un file è stato modificato o non è firmato in modo appropriato con una firma Microsoft, Windows rileva il problema e rifiuta di caricare il componente danneggiato. Spesso Windows può ripristinare automaticamente il componente danneggiato, ripristinando l'integrità e permettendo il riavvio normale del PC.

Windows 10 usa Avvio sicuro su qualsiasi piattaforma hardware e non richiede né UEFI né un TPM. Tuttavia, senza Avvio protetto il malware può danneggiare il processo di avvio prima dell'avvio di Windows e a questo punto le protezioni con Avvio sicuro potrebbero essere ignorate o disabilitate.

Antimalware ad esecuzione anticipata

Poiché Avvio protetto basato su UEFI ha protetto il bootloader e Avvio sicuro ha protetto il kernel di Windows o altri componenti di avvio di Windows, l'opportunità successiva per l'avvio del malware consiste nell'attaccare un driver non correlato all'avvio non Microsoft. Le app antimalware tradizionali non vengono avviate fino a quando i driver correlati all'avvio non sono stati caricati, offrendo a un rootkit che assume la forma di un driver l'opportunità di danneggiare il sistema.

Lo scopo di Antimalware ad esecuzione anticipata è caricare un driver antimalware prima che possano essere eseguiti driver contrassegnati come driver di esecuzione avvio. Questo approccio permette la registrazione di un driver antimalware come driver critico per l'avvio attendibile. Il driver viene avviato durante il processo di Avvio sicuro e, in questo modo, Windows assicura il suo caricamento prima di qualsiasi altro software non Microsoft.

Adottando questa soluzione, i driver di avvio vengono inizializzati in base alla classificazione restituita dal driver antimalware ad esecuzione anticipata in base a un criterio di inizializzazione. I professionisti IT possono modificare questo criterio tramite Criteri di gruppo.

Antimalware ad esecuzione anticipata classifica i driver in questo modo:

  • Buono. Il driver è stato firmato e non è stato manomesso.

  • Non valido. Il driver è stato identificato come malware. Ti sconsigliamo di consentire l'inizializzazione di driver non validi.

  • Non valido ma necessario per l'avvio. Il driver è stato identificato come malware, ma il computer non può essere avviato correttamente senza caricarlo.

  • Sconosciuto. Questo driver non è stato attestato dall'applicazione di rilevamento di malware né classificato dal driver di esecuzione avvio antimalware ad esecuzione anticipata.

Nonostante le funzionalità descritte nelle sezioni precedenti proteggano il processo di avvio di Windows dalle minacce malware che potrebbero danneggiare la sicurezza di BitLocker, è importante notare che le porte DMA possono essere abilitate durante il periodo di tempo tra il momento in cui BitLocker sblocca l'unità e Windows viene avviato e quello in cui Windows può impostare tutti i criteri correlati alle porte configurati. Questo periodo di tempo in cui la chiave di crittografia può essere esposta ad attacchi DMA può essere inferiore a un minuto nei dispositivi più recenti o maggiore, a seconda delle prestazioni del sistema. L'autenticazione prima dell'avvio con un PIN può essere usata per prevenire in modo efficace un attacco.

Protezione dopo l'avvio: eliminazione della disponibilità di DMA

I dispositivi Windows certificati per InstantGo non hanno porte DMA, per eliminare il rischio di attacchi DMA. In altri dispositivi puoi disabilitare le porte FireWire, Thunderbolt e di altro tipo che supportano DMA.

Vedi anche