Blacksmith - novi napad na DRAM memoriju i DDR4 čipove

Tim istraživača s 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 izravnim pristupom (DRAM). Napad je imao kodni naziv Blacksmith i identificiran kao CVE-2021-42114. Mnogi DDR4 čipovi opremljeni zaštitom od prethodno poznatih metoda klase RowHammer osjetljivi su na problem. Alati za testiranje ranjivosti vaših sustava objavljeni su na GitHubu.

Podsjetimo se da vam napadi klase RowHammer omogućuju iskrivljavanje sadržaja 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, kontinuirano čitanje iste memorijske regije rezultira fluktuacijama napona i anomalijama koje uzrokuju mali gubitak naboja u susjednim ćelijama. Ako je intenzitet očitanja visok, tada susjedna ćelija može izgubiti dovoljno veliku količinu naboja i sljedeći ciklus regeneracije neće imati vremena za vraćanje u prvobitno stanje, što će dovesti do promjene vrijednosti podataka pohranjenih u ćeliji. .

Za zaštitu od RowHammer-a, proizvođači čipova predložili su mehanizam TRR (Target Row Refresh) koji štiti od oštećenja stanica u susjednim redovima, ali budući da se zaštita temeljila na principu "sigurnosti nejasnošću", to nije riješilo problem na root, ali zaštićen samo od poznatih posebnih slučajeva, što je olakšalo pronalaženje načina za zaobilaženje zaštite. Na primjer, Google je u svibnju predložio Half-Double metodu, na koju nije utjecala TRR zaštita, budući da je napad zahvatio stanice koje nisu bile u neposrednoj blizini mete.

Blacksmithova nova metoda nudi drugačiji način zaobilaženja TRR zaštite, temeljen na nejednakom pristupu dvjema ili više agresorskih žica na različitim frekvencijama kako bi se uzrokovalo curenje naboja. Kako bi se odredio obrazac pristupa memoriji koji dovodi do curenja naboja, razvijen je poseban fuzzer koji automatski odabire parametre napada za određeni čip, mijenjajući redoslijed, intenzitet i sustavnost 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 prema ćelijama i, kada se postignu određene vrijednosti, pokretanje ponovnog punjenja susjednih stanica. U Blacksmithu je pristupni uzorak raširen na nekoliko ćelija odjednom s različitih strana mete, što omogućuje postizanje curenja naboja bez dostizanja graničnih vrijednosti.

Pokazalo se da je metoda značajno učinkovitija 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). Za usporedbu, TRRespass metoda koju su prethodno predložili isti istraživači bila je učinkovita za samo 13 od 42 testirana čipa u to vrijeme.

Općenito, očekuje se da će se Blacksmithova 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. Korištenje kodova za ispravljanje pogrešaka (ECC) u čipovima i udvostručenje brzine osvježavanja memorije ne pruža potpunu zaštitu, ali komplicira rad. Važno je napomenuti da se problem ne može blokirati u već objavljenim čipovima i zahtijeva implementaciju nove zaštite na hardverskoj razini, tako da će napad ostati relevantan mnogo godina.

Praktični primjeri uključuju metode za korištenje Blacksmitha za promjenu sadržaja unosa u tablici memorijskih stranica (PTE, unos tablice stranica) za dobivanje privilegija jezgre, kvareći javni ključ RSA-2048 pohranjen u memoriji u OpenSSH (javni ključ možete unijeti u tuđe virtualno računalo za podudaranje napadačevog privatnog ključa za povezivanje sa žrtvinim VM-om) i zaobići provjeru vjerodajnica modificiranjem memorije sudo procesa za dobivanje root privilegija. Ovisno o čipu, potrebno je od 3 sekunde do nekoliko sati vremena napada da se promijeni jedan ciljni bit.

Dodatno, možemo primijetiti objavljivanje otvorenog okvira LiteX Row Hammer Tester za testiranje metoda zaštite memorije od napada klase RowHammer, koji je razvio Antmicro za Google. Okvir se temelji na upotrebi FPGA za potpunu kontrolu naredbi koje se prenose izravno na DRAM čip kako bi se eliminirao utjecaj memorijskog kontrolera. Toolkit u Pythonu nudi se za interakciju s FPGA. Pristupnik temeljen na FPGA uključuje modul za paketni prijenos podataka (definira uzorke pristupa memoriji), Payload Executor, kontroler temeljen na LiteDRAM-u (obrađuje svu logiku potrebnu za DRAM, uključujući aktivaciju redaka i ažuriranje memorije) i VexRiscv CPU. Razvoj projekta distribuira se pod licencom Apache 2.0. Podržane su različite FPGA platforme, uključujući Lattice ECP5, Xilinx serije 6, 7, UltraScale i UltraScale+.

Izvor: opennet.ru

Dodajte komentar