211service.com
La minaccia in corso di attacchi di avvio a freddo
Tra i molti modi diversi di attaccare i contenuti del computer, uno dei più interessanti è l'attacco di avvio a freddo. Ciò è emerso nel 2008 quando un gruppo di ricercatori dell'Università di Princeton ha annunciato di aver scoperto un modo completamente nuovo per battere la crittografia del disco, il meccanismo standard per la protezione dei dati sensibili su laptop, smartphone, netbook, PC e Mac.
Oggi Jos Wetzels dell'Università di Tecnologia di Eindhoven, nei Paesi Bassi, delinea la tecnica e discute le varie opzioni per prevenire questo tipo di attacco. La sua conclusione che fa riflettere è che, nonostante il tempo trascorso da quando sono stati scoperti per la prima volta gli attacchi di avvio a freddo, questa forma di attacco rappresenta ancora un pericolo chiaro e presente.
L'attacco a freddo è possibile a causa di una proprietà poco nota delle memorie ad accesso casuale utilizzate nei computer per archiviare e leggere rapidamente i dati. La memoria ad accesso casuale è volatile, il che significa che deve essere costantemente riscritta per periodi misurati in millisecondi. Questa proprietà significa che tutto ciò che è memorizzato nella memoria ad accesso casuale è temporaneo: quando la macchina si spegne e la memoria perde alimentazione, la data viene presto persa.
Almeno questo è quello che pensavano tutti. Nel 2008, il gruppo di Princeton ha dimostrato che i dati archiviati nella memoria ad accesso casuale risultano essere conservati per un periodo di molti secondi dopo la perdita di alimentazione. Inoltre, il raffreddamento della memoria può estendere questo periodo a molti minuti e forse anche a ore. (Un modo per raffreddare la memoria ad accesso casuale è spruzzarla con una bomboletta capovolta di aria liquida, che rilascia liquido freddo anziché gas.)
Durante questo breve periodo dopo l'interruzione dell'alimentazione, qualsiasi informazione nella memoria ad accesso casuale è lì per essere presa. Ed è esattamente così che funziona l'attacco di avvio a freddo.
L'idea è di interrompere l'alimentazione al dispositivo e quindi riavviarlo immediatamente su un'unità flash USB in modo che il sistema operativo non sovrascriva immediatamente il contenuto della memoria ad accesso casuale. Quindi, cerca nella memoria ad accesso casuale materiale sensibile, scaricalo e vai via.
E questo è tutto. Chiaramente, l'attaccante deve avere accesso al computer in questione. Ma l'intero processo può essere terminato molto rapidamente.
Gli attacchi di avvio a freddo sono progettati in particolare per estrarre informazioni quando il contenuto è archiviato su disco in forma crittografata. La maggior parte dei sistemi di crittografia gestisce questo memorizzando la chiave di crittografia nella memoria ad accesso casuale in modo che sia rapidamente disponibile quando necessario. Ma ciò significa che la chiave può essere letta in un attacco di avvio a freddo.
Dopo aver estratto il contenuto della memoria, l'attaccante deve ancora trovare la chiave, il che non è sempre del tutto semplice. Un modo per farlo è con la forza bruta, testando ogni possibile sequenza di byte come una potenziale chiave. Ma questo è dispendioso in termini di tempo e inefficiente. Un altro modo è cercare i metadati associati alle chiavi come i prefissi ASN.1 utilizzati con le chiavi RSA.
Ancora un'altra possibilità è cercare le proprietà matematiche delle chiavi, come la loro elevata entropia. Ma questo può produrre un numero elevato di falsi positivi.
Probabilmente il modo migliore per estrarre le chiavi è utilizzare tutte queste tecniche e tutte le altre disponibili.
Gli esperti di sicurezza hanno utilizzato con successo attacchi di avvio a freddo per sconfiggere la crittografia del disco su un'ampia varietà di computer. Lo hanno usato per attaccare BitLocker che viene fornito con Windows Vista, FileVault, che viene fornito con Mac OS X e dm–crypt è usato con Linux. Lo hanno anche utilizzato su vari smartphone Android con dati crittografati.
Quindi cosa si può fare per proteggersi dagli attacchi di avvio a freddo? Wetzels dice che ci sono diverse opzioni con vari gradi di efficacia.
Un approccio ovvio è quello di non archiviare le chiavi crittografiche nella memoria ad accesso casuale più a lungo del necessario. Ciò richiede un software che rimuove la chiave quando è stata utilizzata e sovrascrive quella sezione della memoria. Un esempio è un'applicazione chiamata Deadbolt per smartphone Android, che sovrascrive in modo sicuro qualsiasi chiave memorizzata non appena lo schermo dello smartphone si blocca.
Un altro approccio particolarmente promettente è quello di archiviare qualsiasi chiave sensibile al di fuori della memoria ad accesso casuale. Una categoria di soluzioni proposta consiste in modifiche del kernel che memorizzano il materiale sensibile della chiave crittografica in modo sicuro all'esterno della RAM in modo tale che non siano facilmente accessibili dalle applicazioni in esecuzione con privilegi regolari e vadano perse non appena il computer si riavvia, afferma Wetzel.
È anche possibile ottenere hardware non suscettibile agli attacchi di avvio a freddo. Ad esempio, è possibile crittografare le informazioni archiviate in una memoria ad accesso casuale e decrittografarle quando vengono utilizzate.
Un'altra opzione consiste nell'utilizzare dischi dotati di un proprio chip crittografico che decodifica i dati quando necessario. In questo modo, la chiave non viene mai archiviata nella memoria ad accesso casuale o utilizzata dalla CPU del sistema.
Naturalmente, la sicurezza di questi sistemi dipende dall'assicurare che qualsiasi chiave su cui fanno affidamento venga cancellata ogni volta che viene interrotta l'alimentazione.
Nessuno di questi è perfetto, ovviamente, e la conclusione di Wetzel è che gli attacchi di avvio a freddo sono un vettore praticabile e realistico per un utente malintenzionato che cerca di estrarre informazioni sensibili contenute nella memoria.
Sei stato avvertito!
Rif: arxiv.org/abs/1408.0725 : Nascosto nella neve, rivelato nel disgelo: gli attacchi di avvio a freddo rivisitati