Le schede SD Express rappresentano un significativo balzo in avanti nel campo delle memorie esterne, combinando le tecnologie PCI Express 3.0 e NVMe 1.3 per raggiungere velocità di trasferimento dati paragonabili a quelle degli SSD. Lo standard SD Express, introdotto dalla SD Association nel 2018, è progettato per superare i limiti delle attuali schede SD, in particolare quelle SDXC, sia in termini di velocità che di capacità. I ricercatori di Positive Technologies hanno scoperto una modalità di attacco, battezzata DaMAgeCard, che sfrutta un cliché ampiamente noto per prendere di mira il bus PCIe e la memoria del dispositivo facendo leva su memorie SD Express compromesse.
Vulnerabilità di sicurezza e DMA
Il DMA (Direct Memory Access) è una tecnica che consente ai dispositivi periferici di accedere direttamente alla memoria principale di un sistema, senza coinvolgere la CPU. L’obiettivo è evidentemente quello di fornire vantaggi in termini di velocità e prestazioni, poiché la CPU può eseguire altre attività mentre il trasferimento dei dati avviene in background. Se non implementato in modo corretto, tuttavia, DMA può introdurre significativi rischi per la sicurezza.
Un dispositivo esterno con accesso DMA potrebbe leggere o scrivere aree della memoria in modo arbitrario, causando fughe di dati, corruzione della memoria o persino esecuzione di codice dannoso.
Neutralizzazione degli attacchi DMA: IOMMU
Per mitigare la minaccia degli attacchi DMA, si è pensato all’introduzione dell’unità di gestione della memoria di input/output (IOMMU, input-output memory management unit). IOMMU funziona mappando in modo trasparente gli indirizzi di memoria richiesti dai dispositivi, impedendo loro l’accesso diretto alla memoria fisica.
Dal punto di vista pratico, IOMMU crea una mappatura tra l’indirizzo di memoria visto dal dispositivo e l’indirizzo di memoria fisico, controllando così l’accesso alla memoria da parte delle periferiche e dei device rimovibili.
Nonostante la sua efficacia, l’adozione e l’implementazione dell’IOMMU si sono rivelate piuttosto incoerenti, soprattutto prima della metà degli anni 2010. Diversi fattori hanno contribuito a formare questa situazione: costo prestazionale, supporto limitato del sistema operativo e dei driver, configurazione complessa.
I precursori di DaMAgeCard: gli attacchi
PCILeech è noto come un notevole esempio di strumento di attacco DMA. Presentato nel 2016, PCILeech consiste in una soluzione pronta all’uso per l’accesso alla memoria DMA utilizzando hardware a basso costo e software open source. Lo strumento ha dimostrato la fattibilità degli attacchi DMA e ha spinto i fornitori a rivalutare le proprie posizioni in materia di sicurezza.
Anche con l’IOMMU abilitata e configurata correttamente, sono ancora possibili attacchi. Gli esperti di Positive Technologies citano le vulnerabilità Thunderclap del 2019: queste ultime hanno messo in evidenza come vulnerabilità presenti nei driver dei dispositivi possano essere sfruttate per bypassare IOMMU. Gli aggressori possono di fatto utilizzare strutture di dati specifiche del driver caricato in memoria per ottenere il controllo sui puntatori e attivare l’esecuzione di codice dannoso.
SD Express e l’attacco DaMAgeCard su portatili e console di gioco
Lo standard SD Express mira ad aumentare le velocità di trasferimento dati collegando le schede SD al bus PCIe. Sebbene lo standard offra notevoli vantaggi in termini di prestazioni, introduce, secondo Positive Technologies, nuove preoccupazioni per la sicurezza a causa dell’accesso DMA.
I ricercatori hanno scoperto che le implementazioni di SD Express non affrontano adeguatamente i rischi di sicurezza associati al DMA. Tramite tecniche di reverse engineering, i tecnici di Positive hanno dimostrato con successo gli attacchi DaMAgeCard sia su laptop che su console di gioco portatili, riuscendo ad eseguire codice arbitrario sui dispositivi vulnerabili.
Le schede SD Express supportano la modalità SDIO legacy e la modalità PCIe. I controller host solitamente cercano di avviare le schede in modalità SDIO (Secure Digital Input Output), ma l’attaccante può ingannare il controller host emulando il supporto PCIe e forzando il passaggio alla modalità PCIe.
Una volta in modalità PCIe, la scheda SD Express funge da ponte verso il bus PCIe interno, consentendo all’attaccante di collegare un dispositivo come PCILeech.
Con il dispositivo di attacco collegato, l’aggressore può sfruttare le funzionalità DMA per leggere o scrivere aree della memoria in modo arbitrario, arrivando potenzialmente a compromettere il sistema.
Cosa serve ad un attaccante per eseguire un attacco DaMAgeCard?
Per sferrare con successo un attacco DaMAgeCard, l’aggressore necessita di quanto segue:
- Un dispositivo host vulnerabile: L’attaccante ha bisogno di un dispositivo che supporti SD Express e che non abbia adeguate protezioni di sicurezza contro gli attacchi DMA, come una configurazione IOMMU correttamente implementata e abilitata. Molti dispositivi, in particolare quelli di fascia media e workstation aziendali, potrebbero non avere queste protezioni abilitate per impostazione predefinita, a causa del potenziale impatto sulle prestazioni.
- Una scheda SD Express modificata o un emulatore: L’attaccante necessita di una scheda SD Express modificata che faccia da bridge verso il bus PCIe interno o di un dispositivo che emula il cambio di modalità. I ricercatori hanno dimostrato che è possibile creare un adattatore che emula i segnali necessari per attivare la modalità PCIe, eliminando la necessità di modificare una scheda SD reale.
- Un dispositivo di attacco DMA: L’aggressore deve inoltre equipaggiarsi con un dispositivo come PCILeech, che può essere collegato tramite l’adattatore SD Express modificato o l’emulatore e utilizzato per eseguire attacchi DMA. Questo dispositivo consente all’attaccante di leggere o scrivere memoria arbitraria sul dispositivo host.
- Software di attacco: Un apposito software permette di controllare il dispositivo di attacco DMA e sfruttare l’accesso alla memoria. La struttura del software può variare a seconda dell’obiettivo dell’attacco, ma può includere strumenti per estrarre dati sensibili, bypassare l’autenticazione o eseguire codice arbitrario sul dispositivo host.
Accesso fisico al dispositivo: requisito essenziale
Sebbene alcuni attacchi DMA possano essere eseguiti in modalità remota, DaMAgeCard richiede l’accesso fisico al dispositivo host per inserire la scheda SD Express modificata o utilizzare l’emulatore. Per qualcuno, questo ridimensiona significativamente la portata dell’attacco. In realtà, il problema resta rilevante perché DaMAgeCard consente di superare qualunque protezione presente sul sistema e sbloccare una macchina protetta utilizzando un attacco che sfrutta hardware esterno.
Per sfruttare efficacemente l’accesso alla memoria, l’attaccante potrebbe aver bisogno di conoscere il layout della memoria sul sistema di destinazione, la posizione dei dati sensibili e le vulnerabilità specifiche del sistema operativo o dei driver.
In ogni caso, è importante evidenziare che l’attacco non richiede alcuna modifica fisica del dispositivo target, ma si basa sulla manipolazione del protocollo di comunicazione al quale si appoggia lo standard SD Express.
Uno sguardo al futuro e implicazioni pratiche
Poiché SD Express è sempre più utilizzato, la potenziale superficie di attacco per gli attacchi DMA si amplia in modo significativo. I dispositivi come smartphone, sistemi embedded, videocamere e altri device che danno la priorità alla velocità e adottano SD Express sono particolarmente vulnerabili.
L’utilizzo di strumenti di attacco DMA open source come PCILeech riduce ulteriormente la barriera da superare da parte dei potenziali aggressori. Con la disponibilità di hardware e software facilmente accessibili, è probabile che gli attacchi DMA diventeranno più diffusi.
Positive Technologies si sofferma sul fatto che tanti produttori sembrano non aver imparato nulla dalle lezioni del passato e non hanno affrontato in modo proattivo i rischi di sicurezza associati al DMA. La mancata implementazione di solide misure di sicurezza, come IOMMU abilitato e configurato correttamente, lascia molti dispositivi vulnerabili agli attacchi DaMAgeCard e ad altre aggressioni similari.
Guardando al futuro, Positive Technologies prevede che SD Express e CFexpress diventeranno più diffusi. Questa proliferazione aumenta l’importanza di dare priorità alle misure di sicurezza e affrontare le vulnerabilità associate a DMA per mitigare il rischio di attacchi.