Një grup kërkuesish nga Shkolla Politeknike e Zvicrës, Universiteti i Lirë të Amsterdamit dhe kompania Qualcomm publikuan një metodë të re sulmi të klasës RowHammer, e cila lejon ndryshimin e përmbajtjes së bitëve të veçantë të memories dinamike të aksesit të rastësishëm (DRAM). Sulmi ka emrin kod Blacksmith dhe identifikuesin CVE-2021-42114. Problemi godet shumë çipa DDR4, të pajisur me mbrojtje nga metodat e njohura të mëparshme të klasës RowHammer. Mjeti për testimin e sistemeve të tyre për prirjen ndaj kësaj dobësie është publikuar në GitHub.
Kujtojmë se sulmet e klasit RowHammer lejojnë të deformohet përmbajtja e bitëve të veçantë të memories duke lexuar ciklikisht të dhënat nga qelizat përreth të memories. Duke qenë se memorja DRAM përbëhet nga një grilë dy-dimensionale qelizash, secila prej të cilave përbëhet nga një kondensator dhe një transistor, kryerja e leximeve të vazhdueshme të njëjtës zonë të memories shkakton lëvizje të tensionit dhe anomalish që shkaktojnë humbje të vogël të ngarkesës në qelizat përreth. Nëse intensiteti i leximit është i lartë, atëherë qelia përreth mund të humbasë një sasi të konsiderueshme ngarkese dhe cikli i rregjenerimit nuk ka kohë për të rikthyer gjendjen e saj fillestare, duke çuar në ndryshimin e vlerës së të dhënave të ruajtura në qelinë.
Për të mbrojtur nga RowHammer, prodhuesit e çipave ofruan mekanizmin TRR (Target Row Refresh), i cili mbron nga deformimi i selive në rreshta fqinj, por pasi mbrojtja vinte nga parimi i "sigurisë përmes paqartësisë (security by obscurity)", ajo nuk e zgjidhte problemin në thelb dhe mbrohte vetëm nga raste të njohura specifike, duke lejuar që të lehtësohej gjenerimi i mënyrave për të rrethuar mbrojtjen. Për shembull, në maj, kompania Google ofroi metodën Half-Double, e cila nuk e kishte efektin e mbrojtjes TRR, pasi gjatë sulmit prekenen selitë që nuk ishin në afërsi të drejtpërdrejtë me objektivin.
Metoda e re Blacksmith ofron një mënyrë tjetër për të rrethuar mbrojtjen TRR, e bazuar në trajtim jo homogen me frekuenca të ndryshme ndaj dy ose më shumë rreshtave agresorë për të shkaktuar rrjedhje ngarkese. Për të përcaktuar modelin e qasjes në memorie që çon në rrjedhjen e ngarkesës, është zhvilluar një fuzzer i posaçëm, që përshtat automatikisht parametrat e sulmit për çipin specifik, duke ndryshuar rendin, intensitetin dhe sistematikën e qasjes në seli.
Një qasje e tillë, e cila nuk është e lidhur me ndikimin në të njëjtat qeliza, e bën të paefektshëm metodën aktuale të mbrojtjes TRR, e cila në një formë ose tjetër përfshin numërimin e kërkesave të përsëritura në qeliza dhe, kur arrihen vlera të caktuara, niset rinovimi i qelizave përreth. Në Blacksmith, modeli i qasjes shtrihet menjëherë mbi disa qeliza nga anët e ndryshme të qëllimit, çka lejon arrijë shkarkimi i ngarkesës pa arritur nivele pragore.
Metoda rezultoi tĂ« ishte ndjeshĂ«m mĂ« efektive sesa metodat e propozuara mĂ« parĂ« pĂ«r tĂ« anashkaluar TRR â studiuesve iu arrit tĂ« shkaktojnĂ« deformimin e bitĂ«ve nĂ« tĂ« gjitha 40 çipa tĂ« ndryshĂ«m tĂ« memories DDR4 tĂ« blerĂ« sĂ« fundmi nga Samsung, Micron, SK Hynix dhe njĂ« prodhues tĂ« panjohur (pĂ«r 4 çipat prodhuesi nuk ishte i specifikuar). PĂ«r krahasim, metoda e mĂ«parshme e propozuar nga tĂ« njĂ«jtit studiues, TRRespass, rezultoi efektive vetĂ«m pĂ«r 13 nga 42 çipat e testuar nĂ« atĂ« kohĂ«.
NĂ« pĂ«rmbledhje, metoda Blacksmith supozohet tĂ« jetĂ« e aplikueshme pĂ«r 94% tĂ« tĂ« gjitha çipave DRAM qĂ« janĂ« nĂ« treg, por sipas hulumtuesve, disa çipa janĂ« mĂ« tĂ« ndjeshĂ«m dhe mĂ« tĂ« lehtĂ« pĂ«r t'u sulmuar se tĂ« tjerĂ«t. PĂ«rdorimi i kodimeve tĂ« korrigjimit tĂ« gabimeve (ECC) nĂ« çipa dhe dyfishimi i frekuencĂ«s sĂ« azhurnimit tĂ« memories nuk siguron mbrojtje tĂ« plotĂ«, por e komplikon shfrytĂ«zimin. ĂshtĂ« e rĂ«ndĂ«sishme tĂ« theksohet se problemi nuk mund tĂ« bllokohet nĂ« çipĂ«t e lĂ«shuar tashmĂ« dhe kĂ«rkon implementimin e njĂ« mbrojtjeje tĂ« re nĂ« nivelin harduerik, kĂ«shtu qĂ« sulmi do tĂ« mbetet aktual pĂ«r shumĂ« vite nĂ« vijim.
Si shembuj praktikë, janë paraqitur metoda të aplikimit të Blacksmith për të ndryshuar përmbajtjen e regjistrimeve në tabelën e faqeve të memories (PTE, page table entry) për të fituar privilegjin e kernelit, për të dëmtuar çelësin publik RSA-2048 të ruajtur në memory në OpenSSH (mund të konvertohet çelësi publik në të huajin, në përputhje me çelësin e mbyllur të sulmuesit për t'u lidhur me VM-në e viktimës) dhe për të anashkaluar verifikimin e autorizimit përmes modifikimit të memories së procesit sudo për të përfituar privilegjet root. Varësisht nga çipi, për të ndryshuar një bit të caktuar, nevojiten nga 3 sekonda deri në disa orë për të kryer sulmin. makinën virtuale korrigjimin e çelësit të mbyllur të sulmuesit për t'u lidhur me VM-në e viktimës

Gjithashtu, mund të theksohet publikimi i kornizës së hapur LiteX Row Hammer Tester për të testuar metodat e mbrojtjes së memories nga sulmet e klasës RowHammer, e zhvilluar nga kompania Antmicro me porosi të Google. Korniza bazohet në përdorimin e FPGA për të menaxhuar plotësisht komandat që dërgohen drejtpërdrejt në çipin DRAM për të eliminuar ndikimin e kontrolluesit të memories. Për ndërveprimin me FPGA, ofrohet një toolkit në gjuhën Python. Porti në bazë të FPGA përfshin një modulin për transmetimin e paketave të dhënash (definon modelet e aksesit në memory), Payload Executor, një kontrollues në bazë të LiteDRAM (përpunon gjithë logjikën e nevojshme për DRAM, përfshirë aktivizimin e rreshtave dhe përditësimin e memories) dhe CPU VexRiscv. Prodhimet e projektit shpërndahen nën licencën Apache 2.0. Mbështetet përdorimi i platformave të ndryshme FPGA, përfshirë Lattice ECP5, Xilinx Series 6, 7, UltraScale dhe UltraScale+.
Burimi: opennet.ru
