Attacchi cold boot: cosa ricorda la RAM dopo il distacco dell'alimentazione
Spegnere un computer sembra un confine netto. Non lo è. La DRAM che contiene la memoria di lavoro di un sistema in esecuzione è una griglia di condensatori minuscoli, e i condensatori si scaricano gradualmente. Per secondi, talvolta minuti, dopo la scomparsa della corrente i chip conservano gran parte di ciò che vi è stato scritto, comprese le chiavi di volume che la crittografia del disco carica all'avvio. Un attaccante che riavvii una macchina del genere con un bootloader minimale e copi ciò che resta se ne va con quelle chiavi. Questo è un attacco cold boot, ed è stato dimostrato contro prodotti reali di crittografia ampiamente diffusi dal 2008.
Il lavoro di Princeton che ha dato un nome al problema
La dimostrazione canonica viene dai ricercatori del Center for Information Technology Policy dell'Università di Princeton e dai loro collaboratori. Il loro articolo, 'Lest We Remember: Cold Boot Attacks on Encryption Keys', è stato presentato al simposio USENIX Security di San Jose nel luglio 2008. Il divario tra allora e ora merita di essere detto con chiarezza: la tecnica è vecchia, e l'avvertimento pure. Gli autori hanno mostrato che la DRAM conserva il contenuto per secondi o minuti dopo la perdita di alimentazione, anche a temperatura di esercizio e perfino dopo che i moduli sono stati estratti dalla scheda madre, e che un raffreddamento semplice, applicato dal team con spray refrigerante, allarga quella finestra in modo drammatico. Senza dispositivi o materiali particolari, hanno recuperato chiavi di crittografia del disco da immagini di memoria e hanno avuto la meglio su BitLocker, FileVault, dm-crypt e TrueCrypt in riavvii a freddo. Hanno anche descritto algoritmi per individuare chiavi in memoria parzialmente degradata e correggere gli errori di bit.Perché le chiavi sopravvivono
I key schedule AES sono il punto debole. La chiave espansa è conservata in memoria con una forte ridondanza interna, così anche un dump rumoroso può essere corretto fino alla chiave vera. E l'hardware moderno non chiude il varco. Un'analisi accademica del 2017, 'Cold Boot Attacks are Still Hot: Security Analysis of Memory Scramblers in Modern Processors', ha esaminato la logica di scrambling che i processori contemporanei applicano alla DRAM, una misura che si presume attenui questi attacchi, giudicandola inefficace: la maschera di scrambling può essere ricavata dal dump stesso. Gli autori hanno costruito una proof of concept che recupera una chiave AES di crittografia del disco dalla memoria di un processore moderno, e il loro attacco si basa su una breve interruzione dell'alimentazione più che sul raffreddamento dei moduli.Perché lo spegnimento non è sicurezza
Se le chiavi fossero cancellate in modo affidabile allo spegnimento, la finestra sarebbe stretta. Ma diversi stati di alimentazione comuni non cancellano mai nulla. La sospensione su RAM tiene la DRAM alimentata e rinfrescata: ogni chiave che il sistema deteneva resta al suo posto, dietro una schermata di blocco che si può attaccare direttamente. L'ibernazione scrive l'immagine della RAM su disco, il che è sicuro quanto la crittografia del volume di swap o di ibernazione, perché un'istantanea della memoria in esecuzione su archiviazione non cifrata è un regalo. Perfino un riavvio a caldo non toglie alimentazione ai moduli a lungo. Il progetto Tails, che documenta questa minaccia per i suoi utenti, sintetizza l'esposizione senza giri di parole:... può rimanere nella RAM fino a diversi minuti dopo lo spegnimento ...Quell'avvertimento riguarda i portatili comuni. Una macchina spenta nel senso quotidiano, coperchio chiuso, schermo nero, stato dell'alimentazione vago, può ancora contenere tutto ciò che un attaccante vuole, e prenderla costa secondi.
Quali mitigazioni esistono davvero
Tails è la difesa più visibile nell'uso quotidiano. Allo spegnimento il sistema sovrascrive gran parte della sua RAM con dati casuali, e la stessa cancellazione scatta quando il supporto di avvio viene fisicamente estratto durante il funzionamento, una via d'emergenza costruita proprio per il momento in cui qualcuno afferra la macchina. Sotto il cofano si appoggia alla funzione init-on-free del kernel più a un watchdog che controlla il supporto USB, e le note di progettazione aggiungono che i file di cui il processo di cancellazione ha bisogno vengono bloccati in memoria dall'avvio, così la cancellazione non può essere espulsa mentre gira. Le abitudini che la accompagnano sono poco appariscenti ma concrete:- Spegni del tutto invece di sospendere, soprattutto prima di consegnare un dispositivo a qualcun altro.
- Impara il percorso di spegnimento più rapido del tuo sistema, perché la cancellazione richiede tempo per girare.
- Non lasciare mai incustodito un portatile acceso o sospeso.
- Se l'hardware esce dal tuo campo visivo in un contesto ad alto rischio, trattalo come potenzialmente manomesso, non semplicemente spento.










