» »

Napad na pomnilnik Rowhammer omogoča krajo šifrirnih ključev

Napad na pomnilnik Rowhammer omogoča krajo šifrirnih ključev

Slo-Tech - Raziskovalci z univerz v Michiganu, Gradcu in Adelajdi so odkrili nov način, kako lahko z izkoriščanjem ranljivosti rowhammer pridobijo celo 2048-bitne šifrirne ključe, ki so shranjeni v pomnilniku, če uporabljamo ranljive module DRAM. O napadu rowhammer smo prvikrat pisali pred petimi leti, pol leta pozneje so ga demonstrirali tudi v praksi, kasneje pa so pokazali, da so ranljivi tudi moduli z ECC in celo androidni telefoni. Napad je posledica fizikalnega ozadja pomnilnika, saj se njegove celice v želji po miniaturizaciji komponent, višanju hitrosti in zniževanju porabe približujejo fizikalnim omejitvam. Sedaj so že tako majhne, da lahko vztrajno zaporedno branje vedno znova istih vrstic pomnilnika povzroči spremembe v celicah v sosednjih vrsticah. Od te okvare podatkov (bit flip) do izrabe pa je le kratka pot (in veliko znanja).

Novo uporabo te ranljivosti so raziskovalci poimenovali RAMBleed. Članek je bil objavljen včeraj. Pri napadu napadalec začne hitro brati podatke iz delov pomnilnika, do katerega ima legitimen dostop. To je znani del napada, na novo pa so raziskovalci odkrili še eno ranljivost, ki omogoča uhajanje občutljivih podatkov (side channel). Raziskovalci so odkrili tudi, kako lahko preverijo, kateri biti v pomnilniku so sploh dovzetni za napad.

To je tudi prvi del napada. Raziskovalci so porabili 34 ur, da so našli potrebnih 84.000 ranljivih bitov, ki so potrebni za dostop do ključa SSH. To se sliši veliko, a ta del napada je moč izvesti kadarkoli, predvsem pa ne terja nobene eskalacije privilegijev ali drugih vdorov, saj zadostuje že uporabniški dostop. Na koncu so 84.000 bitov zreducirali na 4200, ki so bili ključni.

Potem so uporabili posebno tehniko manipulacije s pomnilnikom (memory massaging), s čimer so poskrbeli, da se je ključ naložil v lokacije, do katerih imajo dostop. Nato so raziskovalci uspeli obnoviti 68 odstotkov ključa (s hitrostjo 0.31 bitov na sekundo). To je zadoščalo, da so s Heninger-Shachamovim algoritmom obnovili celotni ključ.

Ob tem raziskovalci dodajajo, da niti ECC ni rešitev, saj ta resda popravlja preskoke bitov, a je mogoče iz nenavadnih zakasnitev (zaradi poprave bitov) vseeno sklepati o vsebini. Vseeno pa je omenjeni napad v praksi malo verjeten, ker obstaja kopica bistveno manj zapletenih, hitrejših in lažjih metod za krajo šifrirnih ključev.

13 komentarjev

MrStein ::

Vseeno pa je omenjeni napad v praksi malo verjeten

Ah, za malo panike bo čisto OK. ;)

RAMBleed relies on Rowhammer-induced bit flips

rowhammer pa je več ali manj pofiksan (glej prejšnjo debato o tem)
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!

Brane3 ::

Že. a moderni memcontrollerji imajo AFAIK mehanizem, ki v primeru detekcije stalne masaže vrstice ustrezno poveča frekvenco osveževanja.

Je to vzeto v ozir ?

No ja, sicer pa, kako naj user ve, če je to sploh vklopljeno ?

MrStein ::

Lahko požene rowhammer test. Če ni rowhammer-ja, ni RAMBleed-a.
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!

Brane3 ::

Stvar je verjetno v/iz/klopljiva z vpisom v MSR.

Ko na mašini teče samo metest86 lahko ugotovi, da je stvar OK.

Nato zbootaš svoj OS z "dodatkom", ki stvar izklopi in si brez.

Brane3 ::

Sem pogledal na brzino članek.

1. Stvar je demonstrirana na HAswellu. Za AMD se mi zdi, da sem nekje v info za memcontroller videl MSR ali nekaj, kjer je bilo to nastavljivo.
Se pravi, stvar ima opcijo, da spremlja število prechargeov posameznih vrstic in jhih po potrebi hitreje refresha.

2. Stvar govori o 8K RAM pageih in 4K VM pageih, kjer izkorišča možnost, da je več VM pageov v RAM pageu ( tu torej 2).
IIRC Linux uporablja na 64-bitnih strojih najmanj 8K page.

3. Ni razvidno, kako lahko poljubno zmanipuliraš RAM alokator, da izvede to, kar naj bi bilo potrebno za napad.

MIslim OK, verjamem da dela, samo fajn bi bilo, če bi kdo malce razbistril te in podobne detajle...

Brane3 ::

BTW, kakšna je verjetnost, da se podobne zadeve uporabljajo v krava-maga izvedbi danes skozi javascript ?

Kaki popularni in zanimivi sajti bi lahko imeli tovrstno kodo, ki skozi VM container v browserju masira memory, dokler ne dobi ključa browserja ?

MIslim, za slo-tech najbrž ni treba veliko prisile v kaj takega.

Za YT pin podobne zadeve pa najbrž mora biti vsaj kdo relevanten v Googlu načeloma za tako sodelovanje.
Ali pa mogoče gre tudi brez tega ?

Zgodovina sprememb…

  • spremenilo: Brane3 ()

Brane3 ::

Nobenih mnenj, idej itd ?

Mogoče kakšno PoliCIJsko mnenje ?


Ehh, ST je bil včasih tehnični portal, bo treba najti kaj, kar se danes dejanjsko ukvarja s tehniko...

MrStein ::

Brane3 je izjavil:


3. Ni razvidno, kako lahko poljubno zmanipuliraš RAM alokator, da izvede to, kar naj bi bilo potrebno za napad.

V članku (znanstvenem, ne novici) si preveril?

Brane3 je izjavil:

Nobenih mnenj, idej itd ?

--->

MrStein je izjavil:

Če ni rowhammer-ja, ni RAMBleed-a.

In rowhammer-ja ni na 99% sistemov.
Torej je RAMBleed, kot eni rečejo: zgolj teoretičen

Večji problem je, da v torek nisi (ti in milijarda drugih) takoj namestil popravkov.
Ne "večji", ampak VEEEEEELIKOOOOOOO večji.

(sicer bi res tu lahko bilo malo debate, ampak hej, neolibi, levi/desni in podobne bolj pomembne teme imajo prednost)
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!

Zgodovina sprememb…

  • spremenil: MrStein ()

Brane3 ::

Ne verjamem.


Spectre & Co ni ena ranljivost ampak cela galaksija bolečih točk.

Kar se Rowhammerja tiče, čisto možno je, da preko česa drugega lahko antimeasures izklopijo. Verjetno je zadosti vpis v MSR ali kaj podobnega.

Tudi ta vektr napada je samo en od možnih. Povsem verjetno je, da, bodo pisci alokatorjev ob naslednjem ali naslednjih nekaj vektorjev rekli "jbg, ne gremo se več",
ker bodo protiukrepi že smešno povečali režijo...

Čudilo bi me, če kaj takega preko lokalnih in malo manj lokalnih portalov ni že kar nekaj časa v uporabi, le da v režiji strani, ki so plačane, da delajo po naročilu in ne oglašuejejo tega...

Zaphod_B75 ::

Rowhammer, Rambleed, Spectre, Meltdown ipd
In kaj naj bi običan enduser moral narediti da se zaščiti?
Goooooogle sicer najde tole https://www.zdnet.com/article/openssh-g... in nekaj drugih novejših člankov na to temo, ne pa nekih konkretnih odgovorov.
PRIME B350+, Seasonic 750W, Ryzen 5 5600X, 16GB DDR4, Radeon 6650XT, WIN10

MrStein ::

Zaphod_B75 je izjavil:


In kaj naj bi običan enduser moral narediti da se zaščiti?

Nič.
Večina teh lukenj ali sploh ni bila na njegovem sistemu, ostale pa so bile vmes popravljene.
Kar preostane pa je na nivoju "joj, šipa mojega avtomobila zdrži strel iz pištole, ne zdrži pa strel iz snajper puške!!! ojoj!!".
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!

Zgodovina sprememb…

  • spremenil: MrStein ()

pegasus ::

OpenSSH je že implementiral zanimivo zaščito: https://marc.info/?l=openbsd-cvs&m=1561...

MrStein ::

Ja, saj to piše v zgornjem članku.
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Nov napad na Intelove procesorje izrablja spreminjanje napetosti

Oddelek: Novice / Varnost
338289 (5887) mtosev
»

Samsungovi in Crucialovi SSD-ji ne znajo varno šifrirati

Oddelek: Novice / Varnost
317316 (4072) bbbbbb2015
»

Napad rowhammer deluje tudi androidnih telefonih

Oddelek: Novice / Varnost
75757 (3944) srus
»

Tudi DDR4 in DDR3 z ECC ranljiva na obračanje bitov

Oddelek: Novice / Varnost
146942 (5530) sodnicaN
»

Raziskovalci uspeli rekonstruirati 1024-bitni RSA ključ v 104 urah

Oddelek: Novice / Varnost
54594 (3750) Matevžk

Več podobnih tem