CPU Intel, lo spazio sicuro SGX come strumento per le infezioni

Sfruttando la funzionalità SGX presente nelle ultime generazioni di CPU Intel, alcuni ricercatori sono riusciti a rendere un malware praticamente irrintracciabile ai software di sicurezza.

Avatar di Manolo De Agostini

a cura di Manolo De Agostini

I ricercatori Michael Schwarz, Samuel Weiser e Daniel Gruss (quest'ultimo già coinvolto nelle ricerche sull'attacco Spectre) della Graz University of Technology hanno trovato un modo per eseguire codice maligno su sistemi con CPU Intel in modo tale da impedire agli antivirus di analizzare il malware.

Per farlo hanno sfruttato Intel SGX (Software Guard eXtensions), una funzione di sicurezza nelle CPU Intel (da Skylake in poi) che consente ai software di creare delle enclavi (recinti) di sicurezza. Uno spazio protetto per codice e dati, che impedisce i tentativi di accesso dall'esterno: Intel SGX si può usare per diversi scopi, dal controllo dei DRM alla gestione dei dati biometrici.

Cosa succede quando il codice nell'enclave è maligno? È questa la domanda che si sono fatti i ricercatori. SGX, per design, impedisce ai software di sicurezza l'analisi dei dati che contiene. Ed è proprio questa sorta di immunità a rendere SGX un posto interessante in cui inserire del codice maligno.

Il codice in un'enclave è piuttosto limitato, non può fare chiamate al sistema operativo, aprire file, leggere dati dal disco o scrivere su disco. Tutte queste cose devono essere eseguite al di fuori dell'enclave. Il codice, tuttavia, può leggere e scrivere ovunque nella memoria non crittografata; così, mentre nulla all'esterno dell'enclave può guardare dentro, qualsiasi cosa all'interno dell'enclave può guardare fuori.

I ricercatori hanno usato questa capacità per mettere a punto il loro attacco, sfruttando al tempo stesso un'altra caratteristica delle CPU Intel nota come TSX (Transactional Synchronization eXtensions). Grazie al modo in cui funziona TSX, i ricercatori sono riusciti a garantire all'enclave maligna tutto ciò di cui aveva bisogno per funzionare.

In questo modo i ricercatori hanno dimostrato che Intel SGX può essere usata in modo imprevisto, permettendo ai malware di funzionare senza essere mai esposti al sistema operativo o all'antivirus, ma con la capacità di accedere alle API del sistema operativo, aprendo le porte ad attacchi come la cifratura dei file (ransomware).

"Intel è a conoscenza di questa ricerca che si basa su presupposti che esulano dal modello di minacce previsto per Intel SGX. Il valore di Intel SGX è quello di eseguire codice in un'enclave protetta; tuttavia, Intel SGX non garantisce che il codice eseguito nell'enclave provenga da una fonte attendibile", hanno commentato dalla casa di Santa Clara.

"Vi consigliamo di usare programmi, file, app e plug-in da fonti attendibili. Proteggere i clienti continua a essere una priorità fondamentale per noi, e vorremmo ringraziare Michael Schwarz, Samuel Weiser e Daniel Gruss per le loro continue ricerche e per aver collaborato con Intel sulla divulgazione coordinata delle vulnerabilità".

I ricercatori stanno comunque proseguendo nella ricerca, pensando a come si potrebbe rendere più sicuro SGX. "Stiamo lavorando a delle mitigazioni, alcune delle quali riducono le prestazioni per la sicurezza, mentre altre richiedono cambiamenti hardware ma non impattano sulle prestazioni", ha affermato Gruss.