// TOM'S HARDWARE ITALIA — HARDWARE & GADGET
Una sola istruzione espone le aree protette delle vecchie CPU AMD
Il ricercatore di sicurezza Christopher Domas ha presentato di recente Skitter Creek Bath Salts, un exploit che consente di raggiungere aree protette della memoria su alcune vecchie CPU AMD attraverso una singola istruzione. La tecnica può esporre dati e codice normalmente inaccessibili al sistema operativo, compresi componenti legati alla sicurezza del processore. L’attacco richiede però privilegi a livello kernel e la possibilità di caricare driver propri, quindi presuppone già un controllo molto esteso della macchina.
Sono interessate le famiglie 15h e 16h, commercializzate indicativamente tra il 2011 e il 2015. La prima comprende processori desktop AMD FX e alcuni Opteron, mentre la seconda include Athlon, Sempron, Opteron X e SoC a basso consumo basati su Jaguar e Puma. Nella stessa famiglia rientrano anche chip collegati alla base hardware utilizzata da PlayStation 4 e Xbox One.
Il punto debole riguarda BankSwizzleMode, un’impostazione che controlla il modo in cui il controller della RAM distribuisce gli indirizzi tra i diversi banchi fisici. Questo meccanismo di bank interleaving migliora le prestazioni, ma rende la disposizione reale dei dati differente dalla superficie lineare mostrata al sistema operativo. Sui processori coinvolti, l’impostazione può essere modificata tramite l’istruzione xor dword [0xf80c2094], 0x00400000.
L’exploit inserisce inizialmente nella memoria un valore canarino riconoscibile, disattiva la funzione Swizzle e cerca dove quel dato è finito nella DRAM fisica. Ripetendo l’operazione è possibile ricostruire la corrispondenza tra gli indirizzi visibili al software e quelli effettivi. Una volta ottenuta la mappa, l’attaccante può disattivare nuovamente Swizzle e indirizzare letture o scritture verso porzioni di memoria che il sistema operativo non dovrebbe poter raggiungere.
Fra le aree esposte possono comparire il PSP, la memoria dello SMM, le patch del microcode e il codice di firma del fTPM. Un driver malevolo potrebbe quindi osservare o alterare componenti collocati al di sotto del normale livello del sistema operativo. Il prerequisito dei privilegi elevati richiama i rischi già emersi con la cancellazione di 96 database federali da parte di un ex contractor, ma in questo caso l’accesso si estende fino ai meccanismi interni della CPU.
La macchina non necessariamente si blocca quando viene alterata la disposizione della memoria. L’exploit disabilita temporaneamente gli interrupt e prepara il processore prima di modificare Swizzle. Durante la ricostruzione iniziale della mappa possono comunque verificarsi crash, mentre le operazioni successive diventano più affidabili perché indirizzate verso posizioni già identificate. La scrittura raggiunge il controllo hardware attraverso lo spazio di configurazione MMCONFIG, nel quale alcuni indirizzi non rappresentano RAM ordinaria ma registri dei dispositivi.
Nel proprio bollettino, AMD ha precisato che i processori coinvolti sono ormai fuori dal periodo di supporto per gli aggiornamenti di sicurezza. Skitter non è un attacco remoto né una scorciatoia per ottenere privilegi iniziali: richiede che l’aggressore controlli già il kernel. Rimane però una dimostrazione tecnica significativa, perché mostra come una funzione apparentemente ordinaria del controller di memoria possa annullare la separazione tra il sistema operativo e le aree più riservate della piattaforma.
Aggiungi Tom's Hardware alle tue fonti preferite su Google