Come impiantare idee in un computer
I ricercatori dell'ETH di Zurigo hanno scoperto un nuovo attacco ai chip dei computer AMD in cui l'aggressore impianta un'"idea" nel computer senza che questo se ne renda conto. Con questo attacco è stato possibile accedere ai dati da qualsiasi punto della memoria del computer.
- Leggi tutto
- Numero di commenti
In breve
- I ricercatori dell'ETH hanno scoperto una grave vulnerabilità in alcune CPU (Central Processing Unit).
- Gli aggressori possono forzare le CPU prese di mira a eseguire determinate istruzioni per accedere a informazioni sensibili.
- I ricercatori hanno informato tempestivamente il produttore per dargli il tempo di fornire una patch di sicurezza.
I sogni possono influenzare il nostro umore e le nostre azioni. Lo abbiamo sperimentato tutti. Tuttavia, impiantare un'idea in qualcuno mentre sta sognando per fargli fare qualcosa di specifico dopo il risveglio appartiene al regno della fantascienza. Come nel film del 2010 "Inception", dove un esperto interpretato da Leonardo DiCaprio cerca di influenzare l'erede di un ricco uomo d'affari per distruggere l'impero del padre. A tal fine, entra in un sogno condiviso con l'erede in cui cambia sottilmente l'atteggiamento del padre nei suoi confronti attraverso un'abile manipolazione. Alla fine, lo convince a cedere l'attività del padre defunto.
Ciò che è impossibile nella vita reale è stato recentemente realizzato in modo simile nel mondo dei computer: un'équipe di ricercatori dell'ETH guidata da Kaveh Razavi, professore presso il Dipartimento di ingegneria elettrotecnica e dell'informazione, ha scoperto una grave vulnerabilità in alcune CPU (unità centrali di elaborazione).
Grazie a questa vulnerabilità, un utente malintenzionato può inserire qualcosa di simile a un'idea nelle CPU di destinazione e farle eseguire determinate istruzioni. In questo modo è possibile intercettare informazioni sensibili. Razavi e i suoi colleghi hanno presentato i loro risultati questa settimana alla conferenza Usenix Security 2023.
Un attacco complesso
L'articolo di ricerca di Razavi contiene nomi che ricordano più James Bond e i film catastrofici - Spectre e Meltdown fanno la loro comparsa - ma la maggior parte dell'articolo è di informatica molto complessa. "In effetti, l'attacco Inception, come l'omonimo film, è particolarmente complicato e difficile da spiegare", afferma lo studente di master Dani?l Trujillo, che ha trovato questo nuovo attacco durante la sua tesi finale sotto la supervisione del dottorando Johannes Wikner nel gruppo di ricerca di Razavi. "Tuttavia, tutti questi attacchi riguardano essenzialmente una cosa semplice: la CPU di un computer deve costantemente fare delle ipotesi, che possono essere manipolate", aggiunge Wilkner.
Nei computer moderni è necessario fare congetture, poiché la CPU deve prendere centinaia di milioni di decisioni al secondo durante l'esecuzione di un programma, come un gioco o un browser. In alcuni momenti dell'esecuzione, l'istruzione successiva può dipendere da una scelta basata su informazioni che devono essere prima caricate dalla memoria dati del computer.
Negli ultimi anni le CPU sono diventate incredibilmente veloci, ma la velocità di trasferimento dei dati dalla memoria (DRAM) alla CPU non ha tenuto il passo con questa accelerazione. La CPU dovrebbe trascorrere gran parte del suo tempo in attesa di dati freschi per prendere una decisione.
Accelerazione attraverso le congetture
? qui che entrano in gioco le congetture: sulla base dell'esperienza passata, la CPU crea una sorta di tabella di ricerca e la utilizza per indovinare il passo successivo più probabile e quindi eseguirlo. Nella maggior parte dei casi, la CPU ha ragione e può quindi risparmiare molto tempo di calcolo. Occasionalmente, tuttavia, si sbaglia e queste previsioni errate possono essere sfruttate da un aggressore per ottenere l'accesso a informazioni sensibili.
"Sembrava che potessimo far credere alle CPU prodotte da AMD di aver già visto determinate istruzioni, mentre in realtà non era mai successo".Dani?l Trujillo
"L'attacco Spectre scoperto nel 2018 si basava su tali previsioni errate", afferma Razavi, "ma inizialmente sembrava che i produttori avessero trovato il modo di mitigarle"."In effetti, i produttori di chip hanno fornito funzioni che cancellano parzialmente le tabelle di mappatura quando il contesto di sicurezza viene modificato (cioè quando si accede al core del sistema operativo sensibile) o aggiungono un bit di informazione che indica alla CPU se una previsione nella tabella è stata generata nel core ed è quindi affidabile.
Piantare un'idea nella CPU
Tuttavia, Razavi e i suoi collaboratori hanno cercato di capire se fosse possibile sferrare un attacco nonostante le nuove misure di sicurezza. Dopo una lunga ricerca, si sono finalmente imbattuti in qualcosa di strano: "Sembrava che potessimo far credere alle CPU prodotte da AMD di aver già visto certe istruzioni, anche se in realtà non era mai successo", dice Trujillo. Proprio come nel film "Inception", i ricercatori sono riusciti a impiantare un'idea nella CPU mentre questa sognava in un certo modo.
Di conseguenza, la tabella di allocazione, che la CPU compila costantemente in base alle istruzioni precedenti, poteva essere nuovamente manipolata. Poiché la CPU era convinta che le voci della tabella provenissero da istruzioni viste in precedenza, è stato possibile aggirare la precauzione di sicurezza che dovrebbe garantire che la CPU consideri solo previsioni affidabili. In questo modo, i ricercatori dell'ETH sono stati in grado di accedere ai dati da qualsiasi punto della memoria del computer, comprese informazioni sensibili come la versione crittografata della password di root.
Grave debolezza
Si tratta di una vulnerabilità di sicurezza molto grave, per cui Razavi ha informato AMD nel febbraio 2023 per dare al produttore il tempo sufficiente per fornire una patch di sicurezza prima della pubblicazione del documento di ricerca (AMD ha assegnato a questa vulnerabilità il numero CVE-2023-20569). "Abbiamo dimostrato questo concetto di una nuova classe di attacchi pericolosi che è particolarmente rilevante nel contesto del cloud computing, dove più clienti condividono un pezzo di hardware", dice Razavi. "Per esempio, vuole scoprire se esistono altri attacchi simili e se un tipo di attacco inception è possibile anche con CPU di altri produttori.
Riferimento alla letteratura
Trujillo D, Wikner J, Razavi K: pagina esternaInception: esporre nuove superfici di attacco con la formazione sull'esecuzione transitoria. 32nd Simposio sulla sicurezza Usenix, 2023