Blacksmith - novi napad na DRAM memoriju i DDR4 čipove

Tim istraživača sa ETH Zurich, Vrije Universiteit Amsterdam i Qualcomm objavili su novu metodu napada RowHammer koja može promijeniti sadržaj pojedinačnih bitova dinamičke memorije s slučajnim pristupom (DRAM). Napad je nosio kodni naziv Blacksmith i identificiran kao CVE-2021-42114. Mnogi DDR4 čipovi opremljeni zaštitom od prethodno poznatih metoda RowHammer klase su podložni problemu. Alati za testiranje vaših sistema na ranjivost objavljeni su na GitHubu.

Podsjetimo da napadi klase RowHammer omogućavaju vam da izobličite sadržaj pojedinačnih memorijskih bitova cikličkim čitanjem podataka iz susjednih memorijskih ćelija. Budući da je DRAM memorija dvodimenzionalni niz ćelija, od kojih se svaka sastoji od kondenzatora i tranzistora, izvođenje kontinuiranog čitanja istog memorijskog područja rezultira fluktuacijama napona i anomalijama koje uzrokuju mali gubitak naboja u susjednim ćelijama. Ako je intenzitet čitanja visok, tada susjedna ćelija može izgubiti dovoljno veliku količinu naboja i sljedeći ciklus regeneracije neće imati vremena da vrati svoje prvobitno stanje, što će dovesti do promjene vrijednosti podataka pohranjenih u ćeliji .

Для защиты от RowHammer производители чипов предложили механизм TRR (Target Row Refresh), который защищает от искажения ячеек в соседних строках, но так как защита основывалась на принципе «безопасность через неясность (security by obscurity), она не решала проблему в корне, а защищала лишь от известных частных случаев, что позволяло легко находить пути обхода защиты. Например, в мае компания Google предложила метод Half-Double, на который не действовала защита TRR, так как при атаке затрагивались ячейки, напрямую не прилегающие к целевой.

Blacksmithova nova metoda nudi drugačiji način zaobilaženja TRR zaštite, baziran na neujednačenom pristupu dvije ili više agresorskih žica na različitim frekvencijama kako bi se izazvalo curenje naboja. Da bi se odredio obrazac pristupa memoriji koji dovodi do curenja naelektrisanja, razvijen je poseban fuzzer koji automatski bira parametre napada za određeni čip, varirajući redosled, intenzitet i sistematičnost pristupa ćeliji.

Takav pristup, koji nije povezan s utjecajem na iste ćelije, čini neučinkovitim trenutne metode zaštite TRR-a, koje se u ovom ili onom obliku svode na brojanje broja ponovljenih poziva ćelijama i, kada se postignu određene vrijednosti, pokretanje dopune. susjednih ćelija. U Blacksmith-u, obrazac pristupa je raspoređen na nekoliko ćelija odjednom sa različitih strana mete, što omogućava postizanje curenja punjenja bez dostizanja graničnih vrijednosti.

Metoda se pokazala znatno efikasnijom od prethodno predloženih metoda za zaobilaženje TRR-a - istraživači su uspjeli postići izobličenje bitova u svih 40 nedavno kupljenih različitih DDR4 memorijskih čipova proizvođača Samsung, Micron, SK Hynix i nepoznatog proizvođača (proizvođač je bio nije navedeno na 4 čipa). Poređenja radi, metoda TRRespass koju su ranije predložili isti istraživači bila je efikasna za samo 13 od 42 čipa testirana u to vrijeme.

Općenito, očekuje se da će se Blacksmith metoda primijeniti na 94% svih DRAM čipova na tržištu, ali istraživači kažu da su neki čipovi ranjiviji i lakši za napad od drugih. Upotreba kodova za ispravljanje grešaka (ECC) u čipovima i udvostručavanje brzine osvježavanja memorije ne pruža potpunu zaštitu, ali komplikuje rad. Važno je napomenuti da se problem ne može blokirati u već objavljenim čipovima i zahtijeva implementaciju nove zaštite na hardverskom nivou, tako da će napad ostati relevantan dugi niz godina.

Praktični primjeri uključuju metode korištenja Blacksmith-a za promjenu sadržaja unosa u tablici memorijskih stranica (PTE, unos u tablicu stranica) kako bi se dobile privilegije kernela, kvareći RSA-2048 javni ključ pohranjen u memoriji u OpenSSH-u (javni ključ možete unijeti u tuđu virtuelnu mašinu da se podudara sa privatnim ključem napadača da se poveže sa VM žrtve) i zaobiđe proveru akreditiva modifikujući memoriju sudo procesa da dobije root privilegije. U zavisnosti od čipa, potrebno je od 3 sekunde do nekoliko sati vremena napada da se promijeni jedan ciljni bit.

Osim toga, možemo primijetiti objavljivanje otvorenog LiteX Row Hammer Tester okvira za testiranje metoda zaštite memorije od napada klase RowHammer, koji je razvio Antmicro za Google. Okvir se zasniva na upotrebi FPGA za potpunu kontrolu komandi koje se prenose direktno na DRAM čip kako bi se eliminisao uticaj memorijskog kontrolera. Toolkit u Pythonu se nudi za interakciju sa FPGA. Gateway baziran na FPGA uključuje modul za prijenos paketnih podataka (definira obrasce pristupa memoriji), Payload Executor, kontroler baziran na LiteDRAM-u (obrađuje svu logiku potrebnu za DRAM, uključujući aktivaciju redova i ažuriranje memorije) i VexRiscv CPU. Razvoj projekta se distribuira pod licencom Apache 2.0. Podržane su različite FPGA platforme, uključujući Lattice ECP5, Xilinx Series 6, 7, UltraScale i UltraScale+.

izvor: opennet.ru

Dodajte komentar