Alfonso Maruccia

Rowhammer, c'Ŕ un bug nella RAM

Ricercatori di Google hanno trovato il modo di sfruttare una debolezza di design dell'hardware di alcuni banchi di memoria, realizzando un attacco con cui compiere ogni genere di nefandezza. Gli OS Linux non hanno scampo

Roma - Dei ricercatori che fanno riferimento al Project Zero di Google hanno svelato l'esistenza di Rowhammer, un problema che affligge "alcuni" banchi di memoria DRAM prodotti di recente e che porta allo scambio di bit (bit flip) presenti in celle di memoria adiacenti. Un baco hardware che abusa del design delle DRAM, sostanzialmente impossibile da correggere in pieno.

Rowhammer sfrutta la configurazione estremamente compatta dei transistor dei chip DRAM usati sui moduli di memoria per portatili x86, un tipo di setup in cui il tentativo di accedere ripetutamente a un bit fa sì che si riesca a modificare immediatamente successivo.

La possibilità di cambiare e compromettere un singolo bit è tutto quello che è stato necessario ai ricercatori per ottenere risultati devastanti, dal punto di vista della sicurezza: grazie a Rowhammer è stato possibile ottenere privilegi di kernel partendo da un processo limitato su Linux, bypassare i meccanismi di sicurezza della memoria e compromettere tutto il sistema.
I ricercatori hanno testato la capacità distruttiva di Rowhammer su 29 diversi laptop x86 prodotti fra il 2010 e il 2014 con chip RAM DDR3, in 15 casi il bug è risultato sfruttabile e diversi marchi di DRAM sono risultati suscettibili al problema. Per compromettere il sistema bastano pochi minuti di tentativi, mentre i nuovi BIOS/firmware allungano i tempi da 5 a 40 minuti.

Dove Rowhammer non è apparentemente un rischio è sui sistemi desktop, dove i chip RAM hanno una configurazione meno "affollata" o addirittura immune (DDR4); meno sicuri sono gli ambienti di hosting economico, dove la memoria con controllo degli errori (ECC) è un sogno proibito.

Alfonso Maruccia
Notizie collegate
15 Commenti alla Notizia Rowhammer, c'Ŕ un bug nella RAM
Ordina
  • http://ddrdetective.com/files/6414/1036/5710/The_K...

    Comunque vista la logica di funzionamento sembra quasi un baco (?) (diciamo che i progettisti di memorie sono persone molto molto quadrate...) scoperto in fase di test delle memorie e volutamente non corretto ... diciamo che è un baco lasciato lì perchè nella gestione normale delle memorie non da problemi.

    PS: Per anni ho scritto fw di basso livello per innumerevoli tipi di "memorie" ed in fase di test dei dispositivi diciamo che accessi a raffica sulle memorie portavano alla "distruzione" della memoria. In questo caso (come riportato dal documento su indicato) questo non avviene. In elettronica nulla accade oppure no per caso. Anzi "per caso" le cose non funzionano. Ecco perchè la cosa mi fa storcere un pò il naso e non mi fa credere moltissimo al baco.
    non+autenticato
  • Ma se è un bug hardware !!!
    Un OS si basa sull'hardware sottostante,se quello contine un bug che fa ne crea una sul momento ?A bocca aperta
    Infatti di 30 laptop solo la metà il bug è sfruttabile,negli altri 15 non puoi compromettere l'OS allo stesso modo,mah...
    non+autenticato
  • - Scritto da: Etype
    > Infatti di 30 laptop solo la metà il bug è
    > sfruttabile,negli altri 15 non puoi compromettere
    > l'OS allo stesso
    > modo,mah...

    Interessante vedere con quanta leggerezza affronti un bug HW che riguarda il 50% della macchine provate.

    Il 10% sarebbe stato giá troppo.

    Deluso
  • - Scritto da: aphex_twin
    > - Scritto da: Etype
    > > Infatti di 30 laptop solo la metà il bug è
    > > sfruttabile,negli altri 15 non puoi
    > compromettere
    > > l'OS allo stesso
    > > modo,mah...
    >
    > Interessante vedere con quanta leggerezza
    > affronti un bug HW che riguarda il 50% della
    > macchine
    > provate.
    >
    > Il 10% sarebbe stato giá troppo.
    >
    > Deluso
    Magari ha ddr3 ECC come quelle sul mio PC
    A bocca aperta
    non+autenticato
  • Non si parla di un problema hardware?

    Clicca per vedere le dimensioni originali
    non+autenticato
  • - Scritto da: Ambra Orfei
    > Non si parla di un problema hardware?
    >
    Dando una rapidissima occhiata agli articoli linkati, mi pare di capire che abbiano fatto i test su Linux, e che, fruttando il bug, siano riusciti ad acquisire i privilegi di root (tipo alterando il bit che indica se l'utente è root oppure no)...

    ... il bug comunque riguarda l'hardware...
    non+autenticato
  • linux è come il prezzomolo centra su tutto.
    Ora vedrai la marea di troll che si riverserà su PI a dire la cavolata del secolo, poi tra 2 giorni il problema verrà evidenziato anche su windows e scapperanno tutti con la coda tra le gambe come è successo con il bug FREAK.
    non+autenticato
  • - Scritto da: nessuno
    > linux è come il prezzomolo centra su tutto.
    > Ora vedrai la marea di troll che si riverserà su
    > PI a dire la cavolata del secolo, poi tra 2
    > giorni il problema verrà evidenziato anche su
    > windows e scapperanno tutti con la coda tra le
    > gambe come è successo con il bug
    > FREAK.
    purtroppo e' tristissimo ma vero...mettere quella scemenza nel sottotitolo e' per generare trolling.
    Tra l'altro questa roba fa impallidire non freak (da asilo) ma heartbleed... e' roba NSA-level (anzi probabilmente la stanno gia usando su macacos da un paio d'anniCon la lingua fuori)
    non+autenticato
  • ... e' magiaCon la lingua fuori altro che iwatch
    non+autenticato
  • - Scritto da: bubba
    > ... e' magiaCon la lingua fuori altro che iwatch

    Sono d'accordo. E' veramente fantastico!
    non+autenticato
  • - Scritto da: bubba
    > ... e' magiaCon la lingua fuori altro che iwatch

    bhe il data rot nelle memorie senza correzione dell'errore è un fenomeno noto da tempo e causarlo tramite il "rowhammering" lo ha scoperto Yoongu; il reale valore aggiunto della ricerca in questione è usare il rowhammering per modificare una PTE (ed avere quindi accesso a tutta la ram, facendo puntare la PTE volta per volta alla ram fisica cui si vuole accedere).
    non+autenticato
  • - Scritto da: fgsdfgsdfgs dfgsdf
    > - Scritto da: bubba
    > > ... e' magiaCon la lingua fuori altro che iwatch
    >
    > bhe il data rot nelle memorie senza correzione
    > dell'errore è un fenomeno noto da tempo e
    > causarlo tramite il "rowhammering" lo ha scoperto
    > Yoongu; il reale valore aggiunto della ricerca in
    > questione è usare il rowhammering per modificare
    > una PTE (ed avere quindi accesso a tutta la ram,
    > facendo puntare la PTE volta per volta alla ram
    > fisica cui si vuole
    > accedere).
    puoi fermarti gia' a "usare il rowhammering". gia' riuscire a categorizzare e pilotare programmaticamente un effetto 'elettrico' di quel genere (che chiamano disturbance error) e' near-magic (almeno per noi comuni mortali[*] ... gh..). Usarlo poi per exploitare e' un notevole plus...
    Nel "magia" mettevo tutto insieme... cmq la ricerca di Yoongu e' roba fresca, e, per quello anche la magia, apparentemente la problematica (dal bit rot in avanti) interessa i progettisti hw e magari quelli del firmware (=problema di affidabilita')... non certo un privilege escalation..
    Ora che l'occhio di mordor e' puntato, mi aspetto presto altre ricerche su certi SoC MIPS, ARM ecc.


    [*] io trovo near-magic anche http://en.wikipedia.org/wiki/Power_analysis#Differ... per dire... non e' che come tecnica generale esista da oggi (da ma decenni), pero' gia' essa stessa mi impressiona... certi hack poi..
    non+autenticato
  • - Scritto da: bubba
    ...
    > puoi fermarti gia' a "usare il rowhammering".
    > gia' riuscire a categorizzare e pilotare
    > programmaticamente un effetto 'elettrico' di quel
    > genere (che chiamano disturbance error) e'
    > near-magic (almeno per noi comuni mortali[*] ...
    > gh..). Usarlo poi per exploitare e' un notevole
    > plus...

    vero, ma considera che sia la scelta degli indirizzi per il rowhammering che il trovare i giusti bit da "flippare" (partendo da utente non privilegiato) sono più un attacco a forza bruta; quindi il pilotaggio programmatico di un effetto elettrico "collaterale" avviene per ripetuti (ed innumerevoli) tentativi; la magia è tale se riesci a pilotare a colpo sicuro ed in maniera deterministica un fenomeno aleatorio e relativamente casuale come quello in questione, ma se provi finchè non riesci non c'è nulla di magico, è solo statisticaOcchiolino
    Comunque concordo che son stati più che bravi.

    > Nel "magia" mettevo tutto insieme... cmq la
    > ricerca di Yoongu e' roba fresca, e, per quello
    > anche la magia, apparentemente la problematica
    > (dal bit rot in avanti) interessa i progettisti
    > hw e magari quelli del firmware (=problema di
    > affidabilita')... non certo un privilege
    > escalation..

    purtroppo la sicurezza del software sta appena cominciando ad essere presa in considerazione tra chi lo progetta, quindi temo che dovranno passare ancora molti anni prima che diventi un problema sentito anche tra chi progetta hardware (anche perchè in tale ambito imho si tende a scaricare barile su chi progetta i kernel ed i driver, aspettandosi che isolino l'hardware gestendo i problemi di sicurezza)

    > Ora che l'occhio di mordor e' puntato, mi aspetto
    > presto altre ricerche su certi SoC MIPS, ARM ecc.

    sono dello stesso avviso, probabilmente questa è solo la punta dell'iceberg.
    non+autenticato
  • ci si aiuta con un analizzatore di bus e protocollo (in genere il FuturePlus FS2800) gestito dal relativo tool di controllo e analisi:

    http://www.futureplus.com/images/FS2800/Descriptio...