La scoperta delle lacune di sicurezza battezzate con i nomi di Spectre e Meltdown, a inizio 2018, ha segnato l’inizio di una nuova era in cui gli attacchi side-channel a livello di processore sono sempre più all’ordine del giorno. La vulnerabilità Downfall è l’ultima di una lunga serie: sfruttandola, eventuali aggressori possono estrapolare informazioni riservate dalle CPU Intel (dalla sesta all’undicesima generazione). Con la possibilità di impossessarsi di password, credenziali di accesso, chiavi crittografiche e dati appartenenti ad altri utenti, ad esempio sui sistemi cloud condivisi tra tanti clienti diversi che neppure si conoscono reciprocamente.
Patch per Downfall affossa le prestazioni dei processori Intel
Con il preciso obiettivo di mitigare gli effetti di Downfall, a breve i principali produttori di schede madri rilasceranno nuovi aggiornamenti del firmware facendo proprie le correzioni condivise dagli ingegneri di Intel. In alternativa, sebbene questo passaggio non risolva alla base il problema legato alla vulnerabilità Downfall, gli utenti possono disattivare le estensioni SGX lato BIOS per i processori che le supportano (e che quindi sono affetti dal bug di sicurezza).
Come abbiamo visto nell’articolo citato in apertura, l’istruzione Gather, utilizzata a basso livello dal processore, accelera il recupero di dati sparsi in diversi punti della memoria di sistema. È proprio il suo funzionamento che il ricercatore autore della scoperta, parte del team di Google, ha sfruttato per dimostrare come il problema di sicurezza possa essere abusato dagli aggressori.
Intel si è limitata a dichiarare che la correzione per Downfall ha un impatto complessivamente significativo sui sistemi HPC e con carichi di lavoro specifici. Nello specifico, si parla di perdite prestazionali fino al 50% soltanto nei casi in cui i programmi in esecuzione facessero un massiccio uso dell’istruzione Gather. E ciò avviene quando le applicazioni si servono in maniera assidua delle estensioni AVX2 e AVX-512.
Cosa sono le estensioni Intel AVX2 e AVX-512
Le estensioni AVX2 (Advanced Vector Extensions 2) e AVX-512 (Advanced Vector Extensions 512) sono estensioni delle istruzioni SIMD (Single Instruction, Multiple Data) che consentono di eseguire operazioni su più dati in parallelo, migliorando le prestazioni complessive con le applicazioni che richiedono elaborazioni in parallelo e ad alte prestazioni (calcolo scientifico, grafica e rendering, machine learning e deep learning).
I tecnici di Phoronix hanno voluto verificare da vicino l’impatto delle patch per la vulnerabilità Downfall rilasciate da Intel. Protagonisti dei test alcuni esemplari di CPU Xeon Platinum 8380 (Ice Lake), Xeon Gold 6226R (Cascade Lake) e Core i7-1165G7 (Tiger Lake) oltre a pacchetti software facenti parte di OneAPI.
Intel OneAPI è una piattaforma di sviluppo software creata per semplificare e unificare la creazione di applicazioni ad alte prestazioni che possono essere eseguite su diverse architetture di processori, acceleratori grafici e altri dispositivi. L’obiettivo principale di OneAPI è consentire agli sviluppatori di scrivere un singolo codice sorgente che può essere eseguito su una vasta gamma di dispositivi, sfruttando al meglio le capacità di ciascuno di essi.
I cali prestazionali dopo l’installazione delle correzioni per la vulnerabilità Downfall
Gli Xeon utilizzati nella prova hanno evidenziato cali prestazionali variabili: il 6% con OpenVKL 1.3.1 per quanto concerne le CPU Xeon Platinum 8380; fino al 34% con OSPRay 2.12, fino al 17% con i carichi di lavoro legati all’intelligenza artificiale (Neural Magic DeepSparse 1.5, Tencent NCNN e QMCPACK).
Lo Xeon Cascade Lake ha perso fino al 33% di performance con OSPRay 2.12 e fino al 20% con Neural Magic DeepSparse 1.5.
Sul Core i7-1165G7 rilevate prestazioni inferiori dell’11% con OpenVLK 1.3.1 mentre con OSPRay 2.12 l’applicazione della patch contro Downfall ha ridotto le performance tra il 19% e il 39%.
La cattiva notizia è che la penalizzazioni prestazionale non riguarda soltanto workload HPC o legati all’intelligenza artificiale ma inizia ad essere piuttosto evidente anche in operazioni come la codifica video e la transcodifica.
L’aggiornamento non è obbligatorio e le modifiche possono essere disattivate
Ovviamente l’aggiornamento del microcodice del processore con l’installazione dei firmware aggiornati non è obbligatorio. Tuttavia, sembra essere un passaggio pressoché imprescindibile per i provider di servizi cloud che mettono a disposizione degli utenti sistema condivisi tra una vasta mole di utenti. Va detto, comunque, che Intel offre un meccanismo di disattivazione per ripristinare le prestazioni del processore così da gestire carichi di lavoro pesanti.
Poi c’è il dibattito sulla complessità di portare a termine con successo un attacco Downfall. L’impresa è descritta come piuttosto ardua mentre altri ricercatori hanno individuato “scorciatoie” per rendere l’aggressione meno complicata da porre in essere.