Un gruppo di ricercatori delle università del Texas, dell'Illinois e di Washington ha rivelato informazioni su una nuova famiglia di attacchi tramite canali laterali (CVE-2022-23823, CVE-2022-24436), denominata Hertzbleed. Il metodo di attacco proposto si basa sulle caratteristiche della gestione dinamica della frequenza nei moderni processori e colpisce tutti gli attuali CPU Intel e AMD. Potenzialmente, il problema potrebbe manifestarsi anche nei processori di altri produttori che supportano la modifica dinamica della frequenza, come nei sistemi ARM, ma lo studio condotto si è limitato a testare i chip Intel e AMD. I codici sorgente con l'implementazione del metodo di attacco sono stati pubblicati su GitHub (l'implementazione è stata testata su un computer con CPU Intel i7-9700).
Per ottimizzare il consumo energetico e prevenire il surriscaldamento, i processori modificano dinamicamente la frequenza in base al carico, causando variazioni nelle prestazioni e influenzando i tempi di esecuzione delle operazioni (una variazione della frequenza di 1 Hz comporta un cambiamento nelle prestazioni di 1 ciclo al secondo). In uno studio condotto è emerso che, in determinate condizioni, nei processori AMD e Intel la modifica della frequenza è direttamente correlata ai dati elaborati, il che significa che, ad esempio, i tempi di calcolo delle operazioni '2022 + 23823' e '2022 + 24436' saranno diversi. Sulla base dell'analisi delle differenze nei tempi di esecuzione delle operazioni con dati diversi, è possibile ricostruire indirettamente le informazioni utilizzate nei calcoli. Inoltre, nelle reti ad alta velocità con ritardi costanti e prevedibili, è possibile eseguire l'attacco da remoto, valutando i tempi di esecuzione delle richieste.
Con un attacco riuscito, le vulnerabilità identificate permettono di determinare le chiavi private basandosi sull'analisi dei tempi di calcolo nelle librerie crittografiche che utilizzano algoritmi la cui complessità computazionale è sempre costante, indipendentemente dalla natura dei dati trattati. Tali librerie erano considerate protette da attacchi attraverso canali laterali, ma si è rivelato che il tempo di calcolo è influenzato non solo dall'algoritmo, ma anche dalle specifiche del funzionamento del processore.
Come esempio pratico che dimostra la realistica applicazione del metodo proposto, è stata dimostrata un'attacco all'implementazione del meccanismo di incapsulazione delle chiavi SIKE (Supersingular Isogeny Key Encapsulation), che è entrato nelle fasi finali del concorso per sistemi di crittografia post-quantistica organizzato dal National Institute of Standards and Technology (NIST) degli Stati Uniti, e si posiziona come protetto contro attacchi mediante canali laterali. Durante l'esperimento, grazie a una nuova variante dell'attacco basato su un testo cifrato scelto (tentativi progressivi basati su manipolazioni del testo cifrato e ottenimento della sua decrittazione), è stato possibile ripristinare completamente la chiave utilizzata per la crittografia, effettuando misurazioni da un sistema remoto, nonostante l'implementazione di SIKE fosse progettata per garantire un tempo di calcolo costante. Ci sono volute 36 ore per determinare una chiave a 364 bit utilizzando l'implementazione CIRCL, e 89 ore per la PQCrypto-SIDH.
Le aziende Intel e AMD hanno riconosciuto che i loro processori sono vulnerabili, ma non prevedono di risolvere il problema tramite un aggiornamento del microcodice, poiché non è possibile eliminare hardware la vulnerabilità senza un impatto significativo sulle prestazioni. Invece, agli sviluppatori di librerie crittografiche sono state fornite raccomandazioni per bloccare in modo software la fuoriuscita di informazioni durante l'esecuzione di calcoli riservati. Le aziende Cloudflare e Microsoft hanno già aggiunto una protezione simile alle loro implementazioni di SIKE, il che ha portato a una riduzione delle prestazioni del CIRCL del 5% e del PQCrypto-SIDH dell'11%. Come altra soluzione per bloccare la vulnerabilità nel BIOS o nel driver, è possibile disattivare le modalità "Turbo Boost", "Turbo Core" o "Precision Boost", ma questa modifica comporterà una significativa diminuzione delle prestazioni.
Le aziende Intel, Cloudflare e Microsoft sono state informate del problema nel terzo trimestre del 2021, e AMD nel primo trimestre del 2022, ma su richiesta di Intel la divulgazione pubblica del problema è stata rinviata al 14 giugno 2022. La presenza del problema è stata confermata nei processori per sistemi desktop e laptop basati sulle architetture Intel Core di 8-11 generazione, nonché per vari processori desktop, mobili e server AMD Ryzen, Athlon, A-Series ed EPYC (i ricercatori hanno dimostrato il metodo su CPU Ryzen con architettura Zen 2 e Zen 3).
Fonte: opennet.ru
