Il metodo di attacco è stato soprannominato PLATYPUS (Power Leakage Attacks: Targeting Your Protected User Secrets) perché l’ornitorinco può rilevare deboli segnali elettrici emessi dalla sua preda.
È stato scoperto dai ricercatori della Graz University of Technology, dell’Università di Birmingham e del CISPA Helmholtz Center for Information Security, ed è stato confermato funzioni contro i sistemi che utilizzano processori prodotti da Intel. Vale la pena notare che la ricerca è stata condotta come parte di un progetto parzialmente finanziato da Intel.
Sebbene i ricercatori ritengano che possa anche essere possibile lanciare attacchi contro CPU realizzate da ARM, AMD e NVIDIA, non sono stati in grado di verificare questa teoria a causa della mancanza di accesso o dell’accesso limitato ai sistemi che utilizzano questi tipi di processori.
L’attacco PLATYPUS si basa sull’accesso al Running Average Power Limit (RAPL) di Intel, una funzionalità introdotta dall’azienda con la microarchitettura Sandy Bridge e progettata per monitorare e controllare il consumo energetico di CPU e DRAM.
Gli attacchi che si basano sul monitoraggio del consumo di energia per il recupero di dati non sono inediti. Tuttavia, molti dei metodi divulgati in passato richiedevano l’accesso fisico al sistema mirato e prevedevano l’uso di oscilloscopi.
L’attacco PLATYPUS utilizza l’interfaccia RAPL invece di un oscilloscopio per monitorare il consumo energetico. Le misurazioni dall’interfaccia RAPL possono essere ottenute anche da un utente non privilegiato tramite un driver Linux, che consente a un’applicazione dannosa non privilegiata installata sul sistema mirato, di monitorare il consumo energetico e correlarlo ai dati in elaborazione, che possono potenzialmente consentirgli di ottenere informazione sensibile.
I ricercatori hanno dimostrato che un utente malintenzionato potrebbe utilizzare il metodo PLATYPUS per recuperare le chiavi di crittografia da un’encrypt Intel SGX, progettata per proteggere i dati anche se il sistema operativo è stato compromesso. L’attacco può anche essere sfruttato per interrompere la randomizzazione del layout dello spazio degli indirizzi del kernel (KASLR) o per stabilire un canale nascosto.
Tuttavia, vale la pena notare che lo svolgimento di un attacco riuscito potrebbe richiedere da pochi secondi a centinaia di ore. Ad esempio, gli esperti sono riusciti a rompere KASLR dallo spazio utente entro 20 secondi. Il ripristino di una chiave di crittografia da un’implementazione AES-NI in un’encrypt SGX può richiedere tra 26 ore (con rumore minimo) e 277 ore (in un ambiente reale), mentre il ripristino delle chiavi private RSA elaborate da mbed TLS da SGX può essere eseguito entro 100 minuti. L’applicazione mirata deve essere in esecuzione per tutto il tempo durante la misurazione del consumo energetico.
AES-NI, ad esempio, viene utilizzato per applicazioni che necessitano di crittografare grandi quantità di dati, come software di crittografia del disco, browser e server Web, ha dichiarato Michael Schwarz del CISPA Helmholtz Center for Information Security. Se riesce a ottenere una chiave, a seconda del tipo di chiave che può ottenere, l’aggressore potrebbe svolgere varie attività, come decrittografare dischi rigidi crittografati o spiare comunicazioni di rete protette.
Schwarz ha anche notato che l’attacco non può prendere di mira direttamente un’applicazione specifica.
“Tuttavia, l’applicazione di destinazione funziona sempre con gli stessi dati (ad esempio, la chiave crittografica), mentre i dati di altre applicazioni in genere cambiano nel tempo. Pertanto, il “rumore” causato da altre applicazioni viene calcolato come media quando si misura per un lungo periodo”, ha spiegato.
I ricercatori hanno pubblicato un documento che descrive in dettaglio i loro risultati e hanno anche pubblicato un paio di video che mostrano l’attacco in azione. I video mostrano test condotti su un normale laptop con Ubuntu.
Intel, che conosce il metodo di attacco da novembre 2019, ha assegnato due identificatori CVE, CVE-2020-8694 e CVE-2020-8695, per le vulnerabilità sottostanti, che la società ha classificato di media gravità. Un advisory pubblicato martedì dal gigante della tecnologia affronta l’argomento.
È stato rilasciato un aggiornamento per il driver Linux per impedire agli utenti non privilegiati di accedere all’interfaccia RAPL. Intel ha anche sviluppato aggiornamenti del microcodice per i suoi processori che dovrebbero impedire ad hacker malintenzionati di utilizzare l’attacco PLATYPUS per recuperare eventuali segreti dalle enclavi SGX. Gli aggiornamenti del microcodice vengono rilasciati tramite il processo Intel Platform Update (IPU).
Sebbene non vi siano indicazioni che un attacco PLATYPUS sia stato lanciato nel mondo reale, Intel ha deciso, come ulteriore precauzione, di rilasciare nuove chiavi alle piattaforme che hanno rilevato deboli a questa vulnerabilità.