patrizio.tufarolo

Attacco TEMPEST ad AES-256 con un kit da 200 euro

Un recente studio mostra come il robusto algoritmo di crittografia AES possa essere crackato mediante l'analisi delle emissioni elettromagnetiche

Roma - Alcuni ricercatori tedeschi della società olandese Fox IT hanno dimostrato la possibilità di effettuare attacchi ad AES-256 estraendo i bit della chiave con l'analisi del consumo energetico e lo studio delle onde elettromagnetiche emesse dalla CPU durante l'operazione di cifratura.

Questa tipologia di attacchi ricade sotto la definizione di TEMPEST, nome in codice coniato dall'NSA e usato sin dagli anni 60 per indicare il campo della "emission security" (EMSEC), l'approccio alla sicurezza basato sull'analisi e il contrasto delle emanazioni non intenzionali dei dispositivi elettronici, come ad esempio le emissioni in radio frequenza (RF).
Tali problematiche erano inizialmente considerate di carattere poco realistico, fino ad uno studio del 1985 ad opera di Van Eck che ha dimostrato come sia possibile intercettare i segnali in radio frequenza emessi dai circuiti ad alta tensione di un monitor CRT, così da ricostruire l'immagine visualizzata; avevamo inoltre approfondito su Punto Informatico alcune tecniche di esfiltrazione ambientale di dati effettuabili tramite i sensori di luminosità.

Nel merito della ricerca di FoxIT, si può scorgere però una novità: tecniche di intercettazione ambientale di questo tipo, condotte perlopiù mediante strumenti ad alto costo e a disposizione di pochi, possono essere ora riprodotte da chiunque, sfruttando sensori o, come in questo caso, le Software Defined Radio.
In tal senso il fattore economico è rilevante: il costo totale dei componenti hardware utilizzati si attesta a circa 200 euro.
Un ulteriore punto di rilievo è costituito proprio dall'oggetto della ricerca: il cracking di un algoritmo crittografico. Alcuni ricercatori dell'Università di Tel Aviv avevano già effettuato un attacco side-channel nei confronti di algoritmi a chiave asimmetrica, sfruttando le proprietà matematiche degli stessi.
In particolare erano state attaccate le implementazioni di El Gamal e RSA in GnuPG, distorcendo i segnali emessi in modo da poter individuare l'esponente utilizzato nella fase di cifratura; un approccio simile è stato utilizzato dagli stessi per attaccare anche l'algoritmo di firma digitale a chiave ellittica (ECDSA).

Per gli algoritmi a chiave simmetrica come AES, tuttavia, tali metodologie sono totalmente inefficienti a causa della struttura stessa dei cifrari; l'attacco prevede perciò la facoltà di osservare - ed eventualmente manipolare - il dato crittografato e il dato in chiaro. Il parametro utilizzato per l'estrazione della chiave di cifratura è il consumo energetico, dedotto dal confronto del campo elettromagnetico emesso durante la fase di criptazione.

L'attacco può essere riassunto in quattro fasi, eseguite per ciascun blocco di cifratura.
1. Campionamento del segnale
2. Normalizzazione e digitalizzazione del dato
3. Preprocessing
4. Analisi ed estrazione della chiave

Workflow dell'attacco

Nella prima fase viene effettuato un campionamento analogico tramite l'utilizzo di una piccola antenna, costruita banalmente con un cavo disposto a cappio, al fine di misurare il campo elettromagnetico per poi filtrare e amplificare le sole frequenze interessate. Il cappio permette di catturare il campo elettromagnetico a distanze di poche centimetri, il segnale viene poi filtrato su un'ampiezza di banda di 10MHz e amplificato.

Dispositivi

La misurazione viene quindi registrata con un dispositivo apposito, che digitalizza il dato catturato in modo che sia possibile elaborarlo con un computer. Possono essere utilizzati sia dispositivi costosi, caratterizzati da possibilità di catturare dati a velocità elevata, sia dispositivi SDR acquistabili online a poche decine di euro, con data rate più bassi.

Dispositivi

L'esperimento effettuato ha visto l'utilizzo di un registratore SR-7100 per attaccare l'implementazione di AES 256 in OpenSSL, sulla CPU ARM Cortex-M3 (SOC SmartFusion 2). In OpenSSL vengono utilizzate le cosiddette T-Tables, ovvero delle tabelle di appoggio per l'ottimizzazione dell'algoritmo AES che permettono di applicare lo stesso tramite una serie di operazioni di lookup e XOR.
Nel caso del SOC SmartFusion2, il leakage sembra originare dal bus AHB (Advanced High-performance Bus) che collega la CPU ai chip di memoria.
Nel campionamento effettuato è stato possibile individuare vari pattern ricollegabili al consumo energetico istantaneo (strettamente legato alla mole e alla tipologia di dato che il processore sta trattando), raffiguranti le fasi di scambio di dati con l'esterno (input/output), gestione della chiave (key schedule), e i 14 rounds della fase di encryption.

Grafico patterns AES

Successivamente, il dato raccolto viene preprocessato dall'elaboratore dell'attaccante e analizzato, così da poter individuare il punto in cui il blocco di cifratura inizia e dividere la registrazione in blocchi singoli.
Infine, viene effettuata la correlazione tra le caratteristiche della registrazione e i byte della chiave; come facilmente intuibile, la qualità del risultato di questa operazione dipende fortemente dall'affidabilità del modello utilizzato, che deve essere adattato all'istanza.
In tal senso la metodologia utilizzata è di tipo empirico. Analizzando più volte l'esecuzione dell'algoritmo sia con dati in chiaro sia con dati cifrati, viene calcolata la distanza di Hamming degli stessi (ovvero la distanza degli stessi da una stringa composta da tutti zeri), costruendo un grafico i cui picchi identificano i momenti in cui vengono effettivamente gestiti i dati.
L'estrazione della chiave, quindi, può essere effettuata con una metodologia ibrida fondata sulla supposizione dei byte della chiave tra le 256 combinazioni possibili e la correlazione degli stessi con tale grafico.
Un normale attacco a forza bruta su AES-256 richiederebbe il calcolo di 2256 valori possibili, ottenibile idealmente in un tempo di circa 3x1051 anni con l'aiuto di 50 supercomputer in grado di calcolare 1018 chiavi per secondo; grazie a questo attacco, invece, i tentativi sarebbero solo 8192 (256 tentativi per ciascun byte, in un codice di 32 byte), eseguibili in pochi secondi.

L'esperimento è stato ripetuto anche con un dispositivo SDR economico, dal costo di circa 20 euro, usando la medesima antenna costruita tramite il cavo con il cappio ad una distanza di poche decine di centimetri. All'aumentare della distanza si è registrata una significativa perdita di potenza; l'utilizzo di un'antenna PCB a 400MHz, più costosa ma ugualmente economica, unitamente ad altri accorgimenti ambientali, ha permesso di effettuare l'attacco alla distanza di 30cm nei confronti di una board Pynq.
Successivamente è stato costruito un ambiente ideale in camera anecoica (laboratorio caratterizzato da pareti in grado di minimizzare la riflessione dei segnali), utilizzando un'antenna biconica di tipo discone, in cui è stata attaccata con successo la board Pynq dalla distanza di un metro, campionando circa 2,4 milioni di misurazioni in 5 minuti.

Patrizio Tufarolo
Notizie collegate
19 Commenti alla Notizia Attacco TEMPEST ad AES-256 con un kit da 200 euro
Ordina
  • Mai lette tante cazzate tutte insieme quante ne sto leggendo nei commenti di questo forum, siete superiori a facebook e twitter messi insieme.
    non+autenticato
  • - Scritto da: Hisashi
    > Come da oggetto...
    > http://thehackernews.com/2017/07/gnupg-libgcrypt-r
    perchè tu eri convinto che una chiave RSA 1024 fosse sufficientemente robusta nel "medio-lungo" termine?
    Ma per favooooreeeeee!
    Rotola dal ridereRotola dal ridereRotola dal ridereRotola dal ridereRotola dal ridere
    non+autenticato
  • ma un case metallico non si comporta come una gabbia di faraday ? oltre ad avvicinarmi deve aprire anche lo sportello esterno
    non+autenticato
  • come da oggetto,
    adesso non conta il come poterlo fare, ma "e possibile farlo" e aperta la strada prima o poi romperanno l'AES anche con chiavi più grandi
    non+autenticato
  • - Scritto da: nemo
    > romperanno l'AES anche con chiavi più grandi
    Romperanno l'AES? ma hai capito di che si parla?
    Non hanno rotto proprio nulla. Dicono, ma se i dati sono quelli dell'articolo è falso, di aver intercettato la chiave di cifratura.

    Trovare o rubare le chiavi non significa aver scassinato la serratura!
    non+autenticato
  • - Scritto da: nemo
    > come da oggetto,
    > adesso non conta il come poterlo fare, ma "e
    > possibile farlo" e aperta la strada prima o poi
    > romperanno l'AES anche con chiavi più
    > grandi


    Hanno captato le emissioni elettromagnetiche come ad esempio da un monitor, per poterlo visualizzare da un altro.... Non hanno rotto nessuna protezione.
    non+autenticato
  • Riassumendo:
    piazzando un'antenna a pochi centimetri da una cpu (aggiungo io: dopo aver aperto il case se metallico, dopo aver spento router, smartphone,wifi ecc. dopo aver disattivato tutti gli altri processi in esecuzione sulla cpu), dopo aver fatto un training empirico testando l'algoritmo ripetutamente con dati in chiaro e cifrati è possibile scoprire la chiave privata.
    Incredibile! e sopratutto utilissimo.
    Se poi riesci a portare la vittima in una camera anecoica puoi persino allontanare l'antenna fino ad un metro. In tal modo la vittima non si accogerà di nulla.

    Infine, l'articolo contiene un sacco di dati incoerenti:
    "segnale viene poi filtrato sulla frequenza dei 10MHz"
    10Mhz? la piu sfigata delle cpu moderne cripta decine di megabytes al secondo.

    "campionando circa 2,4 milioni di misurazioni in 5 minuti"
    Cioè a 8khz? forse intendevi a 2,4MS/s per un tempo di 5 minuti.

    A proposito dei 2,4MS/s mai sentito parlare di Nyquist-Shannon?

    "l'utilizzo di un'antenna PCB a 400MHz"
    Ma il segnale non era a 10MHz? quindi secondo voi un'antenna a "piu MHz" prende di piu vero?
    Basta la scuola Radio Elettra per capire che è una cagata pazzesca
    non+autenticato
  • Si, ma il lavoro di quei ricercatori è stato fatto con uno sforzo minimo, con un budget di quelli che hanno quelli della CIA si puˇ fare un sistema pi˙ efficace?
    Una scrivania imbottita di sensori sofisticati in una camera d'albergo o in un centro di conferenze internazionale puˇ monitorare il funzionamento di un laptop? Considera che il case non è schermato.
    non+autenticato
  • - Scritto da: fd2550d8ed5
    > Si, ma il lavoro di quei ricercatori è stato
    > fatto con uno sforzo minimo,
    Al dilà del budget, i dati tecnici dell'esperimento sono incoerenti ergo: è un fake!

    > con un budget di
    > quelli che hanno quelli della CIA si puˇ fare un
    > sistema pi˙ efficace?
    A mio parere no per vari motivi:
    L'emissione della cpu, ammesso che stia eseguendo solo la crittazione è indistinguibile dall'emissione ti tutti gli altri elementi all'interno di un laptop.
    Vista l'enorme variabilità di situazioni pratiche (posizione, modello di laptop, cpu ecc), lo strumento di intercettazione andrebbe tarato sullo specifico caso con procedure lunghe ed empiriche.


    >Considera che il case non è schermato.
    Al contrario, il case dei notebook è estremamente ben schermato. L'interno del case plastico è metallizzato con un riporto galvanico in rame. La cpu è sotto il thermal pipe, tutte le parti mobili sono "messe a massa" in vari punti con lamelle metalliche o spugnette conduttive.
    I campi elettromagnetici che sfuggono sono un mix di tutto ciò che il laptop contiene. Individuare l'emissione di un singolo processo della cpu è praticamente impossibile o inutilmente complicato.

    Si fa molto prima ad iniettare un malware.
    non+autenticato
  • > A mio parere no per vari motivi:
    > L'emissione della cpu, ammesso che stia eseguendo
    > solo la crittazione è indistinguibile
    > dall'emissione ti tutti gli altri elementi
    > all'interno di un laptop.

    Se ci fosse un solo sensore si. Se ci fosse una matrice di sensori che confronta la differenza tra le emissioni in determinati punti identificando i componenti e pulendo il rumore di fondo la cosa sarebbe diversa.

    > Vista l'enorme variabilità di situazioni pratiche
    > (posizione, modello di laptop, cpu ecc), lo
    > strumento di intercettazione andrebbe tarato
    > sullo specifico caso con procedure lunghe ed
    > empiriche.
    >

    Se i soldi ci sono fanno pure quello.

    >
    > Al contrario, il case dei notebook è estremamente
    > ben schermato. L'interno del case plastico è
    > metallizzato con un riporto galvanico in rame. La

    E' unoo strato molto sottile.

    > cpu è sotto il thermal pipe, tutte le parti
    > mobili sono "messe a massa" in vari punti con
    > lamelle metalliche o spugnette
    > conduttive.
    > I campi elettromagnetici che sfuggono sono un mix
    > di tutto ciò che il laptop contiene. Individuare
    > l'emissione di un singolo processo della cpu è
    > praticamente impossibile o inutilmente
    > complicato.
    >

    Vedi sopra.

    > Si fa molto prima ad iniettare un malware.

    Ad una riunione diplomatica non è facile mettere le mani sui laptop della controparte, peró l'ospite puo preparare una sala ben attrezzata. Questo vale anche per le trattative tra aziende, spesso lo spionaggio industriale vale più di quello diplomatico.
    non+autenticato
  • - Scritto da: 1af0f025295

    > Se ci fosse un solo sensore si. Se ci fosse una
    > matrice di sensori che confronta la differenza
    > tra le emissioni in determinati punti
    > identificando i componenti e pulendo il rumore di
    > fondo la cosa sarebbe
    > diversa.
    Non è questione di numero di sensori. L'ipotesi dell'articolo si basa sull'analisi dei campi irradiati da sorgente nota che esegue un algoritmo noto (e solo quello) e i "ricercatori" hanno confrontato gli stessi dati con e senza cifratura.
    In un caso pratico, con un laptop, a mio parere, tutto ciò è pura fantasia.

    > Se i soldi ci sono fanno pure quello.
    non è questione di soldi, se una cosa è tecnicamente impossibile non la puoi fare.

    > E' unoo strato molto sottile.
    Non è lo spessore a fermare la radiofrequenza ma la gabbia di Faraday.


    > Ad una riunione diplomatica non è facile mettere
    > le mani sui laptop della controparte,
    Non sarà facile ma sicuramente più fattibile che intercerrare i campi elettromagnetici della cpu.
    non+autenticato
  • > Non è questione di numero di sensori.

    Non è questione di potenziare la sensibilità, ma differenziare il segnale presente punto per punto e confrontare i vari punti. Una matrice di sensori puo essere usata prima per identificare il punto da osservare. Poi alcuni sensori possono funzionare per rilevare il rumore che circonda il punto da osservare e ripulirlo via software.

    > L'ipotesi
    > dell'articolo si basa sull'analisi dei campi
    > irradiati da sorgente nota che esegue un
    > algoritmo noto (e solo quello) e i "ricercatori"
    > hanno confrontato gli stessi dati con e senza
    > cifratura.

    L'ipotesi dell'articolo è un punto di partenza con budget risicato.

    > In un caso pratico, con un laptop, a mio parere,
    > tutto ciò è pura fantasia.
    >

    La CIA è quella che 15 anni fa recuperava i dati cancellati dagli hard disk osservando la magnetizzazione degli atomi adiacenti le tracce. Con tanti soldi si puˇ fare quello che la gente reputa pura fantasia.


    > non è questione di soldi

    Si che è una questione di soldi, tempo e scienziati da dedicare al problema.

    > se una cosa è
    > tecnicamente impossibile non la puoi
    > fare.
    >

    Se lo dici tu.

    > > E' unoo strato molto sottile.
    > Non è lo spessore a fermare la radiofrequenza ma
    > la gabbia di
    > Faraday.
    >

    Nel mio laptop sul fondo c'è uno sportello di plastica grande un terzo dell'area, l'ho smontato pi˙ volte e ti assicuro che di strati di rame non ce n'erano.
    non+autenticato
  • Hai ragione, perché quella è l'ampiezza di banda usata nel filtraggio.
  • > "segnale viene poi filtrato sulla frequenza dei
    > 10MHz"
    > 10Mhz? la piu sfigata delle cpu moderne cripta
    > decine di megabytes al
    > secondo.
    >...
    > Ma il segnale non era a 10MHz? quindi secondo voi
    > un'antenna a "piu MHz" prende di piu
    > vero?


    C'è scritto un'ampiezza di banda di 10Mhz, non una frequenza!
    non+autenticato
  • - Scritto da: A.C.

    > C'è scritto un'ampiezza di banda di 10Mhz, non una frequenza!
    L'articolo è stato cambiato dopo il mio post!
    non+autenticato
CONTINUA A LEGGERE I COMMENTI
Successiva
(pagina 1/2 - 8 discussioni)