Elia Tufarolo

Chipset, attacco tramite gestione del risparmio energetico

Ricercatori della Columbia University hanno dimostrato di poter accedere al TrustZone di ARM utilizzando un attacco differenziale. Le prospettive sono allarmanti, data l'assenza di sicurezza nell'ambito del risparmio energetico

Roma - Tre ricercatori della Columbia University hanno presentato un paper allo USENIX Security Symposium di quest'anno, trattando la sicurezza dei meccanismi di risparmio energetico presenti all'interno dei moderni chipset.

La fragilità di questi sistemi, mai approfondita in precedenza, consente una tipologia di attacco chiamato CLKSCREW (leggibile come "clock screw"). CLKSCREW è una variante di una tecnica già nota e utilizzata in crittanalisi, la DFA (Differential Fault Analysis): essa consiste nello stressare il processore fino ad ottenere una corruzione di memoria, allo scopo di indebolire un sistema di sicurezza fino a violarlo.


Gli autori si sono concentrati in particolare sul DVFS (Dynamic Control and Frequency Scaling), una tecnica di ottimizzazione energetica utilizzata pressoché in qualunque CPU e SoC attualmente in commercio: nel caso specifico, CLKSCREW è stato utilizzato con successo per violare la TrustZone del SoC ARMv7 di uno smartphone Google Nexus 6.
Gli attacchi descritti all'interno del paper sono due: nel primo viene violata l'esecuzione di un'app di decifratura AES in esecuzione all'interno del TrustZone, riuscendo ad estrarre la chiave utilizzata; nel secondo viene corrotta la procedura di verifica delle chiavi RSA, in modo da riuscire a caricare una propria immagine firmware all'interno del TrustZone.

Nel dettaglio, CLKSCREW si divide in quattro fasi: inizialmente vengono puliti eventuali stati residui della CPU, invocando più volte su due core distinti il thread vittima e quello utilizzato per l'attacco, in rapida successione.

In seguito, il thread vittima viene profilato, allo scopo di ottenere un punto di esecuzione ideale per effettuare l'attacco: nel caso specifico, l'attività di profilazione è basata su una tecnica già nota, facente parte di un attacco alle cache dei dispositivi, presentato allo USENIX dello scorso anno.

Prima di effettuare l'attacco vero e proprio, al fine di ottenere una maggiore precisione temporale, è necessario ritardare l'esecuzione del thread di attacco per mezzo di una serie di operazioni no-op; viene quindi effettuato l'attacco: dato un determinato voltaggio di funzionamento, il thread di attacco aumenterà la frequenza del core utilizzato dal thread vittima ad un certo valore, mantenendola per un dato numero di cicli della CPU, per poi riportarla al valore originario.

Questo comportamento viene ripetuto più volte, partendo sempre da un determinato istante temporale e variando i cinque dati in input, fino ad ottenere una situazione di errore.

funzionamento clkscrewparametri clkscrew

Nel primo attacco preso in esame, i ricercatori sono riusciti a violare il protocollo AES, ottenendo la chiave di cifratura in circa dodici minuti: un errore di bit ottenuto durante l'ottavo round AES ha consentito di ridurre l'intervallo delle chiavi possibili da 2128 a 212; dopodiché, attraverso una classica procedura brute force, sono state generate 3.650 chiavi, tra cui quella autentica.

Nel secondo attacco, viene indotto un errore all'interno dell'esecuzione della funzione DECRYPTSIG utlizzata dall'algoritmo RSA, in modo che il suo risultato in output coincida con l'hash del codice di attacco utilizzato. In questo caso, la percentuale di successo dell'attacco è minore (circa il 20 per cento), ma comunque significativa.

I ricercatori insistono sulla gravità della situazione, dovuta non a difetti di codice significativi, ma piuttosto ad una generale mancanza di attenzione verso la sicurezza, durante le fasi di disegno e implementazione dei meccanismi di risparmio energetico.
Inoltre, sempre secondo i ricercatori, è tecnicamente possibile effettuare attacchi di questo tipo attraverso Internet, senza quindi ottenere l'accesso fisico al dispositivo.

Elia Tufarolo

fonte immagine
Notizie collegate
  • SicurezzaAndroid, attacco al TrustZoneUn bug consente di effettuare il downgrade delle applicazioni sicure in esecuzione sugli smartphone. Tuttavia, per condurre l'attacco bisogna ottenere i permessi di root
  • SicurezzaAndroid, nuovi bug nei principali bootloaderI ricercatori dell'UniversitÓ della California hanno scovato sei vulnerabilitÓ nei bootloader dei principali produttori, cinque dei quali riguardano Huawei. I bug, se sfruttati, possono portare anche al brick dei dispositivi
4 Commenti alla Notizia Chipset, attacco tramite gestione del risparmio energetico
Ordina
  • Da quel che ho capito sforzi la CPU fino ad arrivare il punto critico e BAM!
    Ok, quindi se qualcuno fa mining pirata con la tua CPU e poi ci ottiene pure l'accesso ottiene 2 piccioni con una fava?? Sara' possibile? Sempre peggio?
    In lacrime
    non+autenticato
  • ma con "è tecnicamente possibile effettuare attacchi di questo tipo attraverso Internet" ci si riferisce ai soliti attacchi effettuati tramite pagina web?

    Cioe', tanto per fare un esempio ipotetico, l'NSA chiede gentilmente a facebook di mettere la "sorpresa" nella pagina web del profilo del sospettato di essere un pedopornoterrosatanistabruttosporcoecattivo da assicurare alla Giustizia?
    non+autenticato
  • - Scritto da: ...
    > ma con "è tecnicamente possibile effettuare
    > attacchi di questo tipo attraverso Internet" ci
    > si riferisce ai soliti attacchi effettuati
    > tramite pagina
    > web?
    >
    > Cioe', tanto per fare un esempio ipotetico, l'NSA
    > chiede gentilmente a facebook di mettere la
    > "sorpresa" nella pagina web del profilo del
    > sospettato di essere un
    > pedopornoterrosatanistabruttosporcoecattivo da
    > assicurare alla
    > Giustizia?

    E' proprio un esempio ipotetico molto improbabile il tuo.

    Nella realta' le cose sono ben diverse.
    Intanto NSA non chiede gentilmente ma ORDINA, e fessbuk risponde SIGNORSI' SISSIGNORE!

    E poi non e' necessario che il profilo sia sospettato di alcunche'.
  • > ma con "è tecnicamente possibile effettuare
    > attacchi di questo tipo attraverso Internet" ci
    > si riferisce ai soliti attacchi effettuati
    > tramite pagina web?
    >

    Ti consiglio di guardare il video perché la spiegazione è ben fatta.
    Perˇ non spiega come l'attacco possa essere eseguito da remoto. Il ricercatore che fa la presentazione ha detto solo che devi avere un processo che gira in locale con l'accesso alle API per la gestione dell'energia, quindi credo avesse in mente un'app distribuita attraverso qualche store.
    non+autenticato