Blacksmith - 'n nuwe aanval op DRAM-geheue en DDR4-skyfies

'n Span navorsers van ETH Zurich, Vrije Universiteit Amsterdam en Qualcomm het 'n nuwe RowHammer-aanvalmetode gepubliseer wat die inhoud van individuele stukkies dinamiese ewekansige toegangsgeheue (DRAM) kan verander. Die aanval is die kodenaam Blacksmith en is geïdentifiseer as CVE-2021-42114. Baie DDR4-skyfies toegerus met beskerming teen voorheen bekende RowHammer-klasmetodes is vatbaar vir die probleem. Gereedskap om u stelsels vir kwesbaarheid te toets, word op GitHub gepubliseer.

Onthou dat RowHammer-klasaanvalle jou toelaat om die inhoud van individuele geheuestukke te verdraai deur data van naburige geheueselle siklies te lees. Aangesien DRAM-geheue 'n tweedimensionele reeks selle is, wat elk uit 'n kapasitor en 'n transistor bestaan, lei die uitvoering van aaneenlopende lesings van dieselfde geheuegebied tot spanningskommelings en anomalieë wat 'n klein verlies aan lading in naburige selle veroorsaak. As die leesintensiteit hoog is, kan die naburige sel 'n voldoende groot hoeveelheid lading verloor en die volgende herlewingsiklus sal nie tyd hê om sy oorspronklike toestand te herstel nie, wat sal lei tot 'n verandering in die waarde van die data wat in die sel gestoor is .

Om teen RowHammer te beskerm, het chipvervaardigers die TRR (Target Row Refresh)-meganisme voorgestel, wat beskerm teen korrupsie van selle in aangrensende rye, maar aangesien die beskerming gebaseer was op die beginsel van "sekuriteit deur obscurity", het dit nie die probleem opgelos by die wortel, maar slegs teen bekende spesiale gevalle beskerm, wat dit maklik gemaak het om maniere te vind om die beskerming te omseil. Byvoorbeeld, in Mei het Google die Half-Double-metode voorgestel, wat nie deur TRR-beskerming geraak is nie, aangesien die aanval selle beïnvloed het wat nie direk langs die teiken was nie.

Blacksmith se nuwe metode bied 'n ander manier om TRR-beskerming te omseil, gebaseer op nie-eenvormige toegang tot twee of meer aggressorstringe by verskillende frekwensies om ladinglekkasie te veroorsaak. Om die geheuetoegangspatroon te bepaal wat tot ladinglekkasie lei, is 'n spesiale fuzzer ontwikkel wat outomaties aanvalparameters vir 'n spesifieke skyfie kies, wat die volgorde, intensiteit en sistematiteit van seltoegang wissel.

So 'n benadering, wat nie geassosieer word met die beïnvloeding van dieselfde selle nie, maak huidige TRR-beskermingsmetodes ondoeltreffend, wat in een of ander vorm daarop neerkom om die aantal herhaalde oproepe na selle te tel en, wanneer sekere waardes bereik word, herlaai te begin van naburige selle. In Blacksmith is die toegangspatroon oor verskeie selle gelyktydig van verskillende kante van die teiken versprei, wat dit moontlik maak om ladinglekkasie te bereik sonder om drempelwaardes te bereik.

Die metode blyk aansienlik meer doeltreffend te wees as voorheen voorgestelde metodes om TRR te omseil - die navorsers het daarin geslaag om bisvervorming te verkry in al 40 onlangs aangekoopte verskillende DDR4-geheueskyfies wat gemaak is deur Samsung, Micron, SK Hynix en 'n onbekende vervaardiger (die vervaardiger was nie op 4 skyfies gespesifiseer nie). Ter vergelyking, die TRRespass-metode wat voorheen deur dieselfde navorsers voorgestel is, was effektief vir slegs 13 uit 42 skyfies wat op daardie tydstip getoets is.

Oor die algemeen sal die Blacksmith-metode na verwagting van toepassing wees op 94% van alle DRAM-skyfies op die mark, maar die navorsers sê sommige skyfies is meer kwesbaar en makliker om aan te val as ander. Die gebruik van foutkorreksiekodes (ECC) in skyfies en die verdubbeling van die geheueverfrissingstempo bied nie volledige beskerming nie, maar bemoeilik wel die werking. Dit is opmerklik dat die probleem nie in reeds vrygestelde skyfies geblokkeer kan word nie en die implementering van nuwe beskerming op hardewarevlak vereis, sodat die aanval vir baie jare relevant sal bly.

Praktiese voorbeelde sluit in metodes om Blacksmith te gebruik om die inhoud van inskrywings in die geheuebladsytabel (PTE, bladsytabelinskrywing) te verander om kernregte te verkry, wat die RSA-2048 publieke sleutel wat in die geheue in OpenSSH gestoor is, beskadig (jy kan die publieke sleutel inbring iemand anders se virtuele masjien om by die aanvaller se private sleutel te pas om aan die slagoffer se VM te koppel) en omseil die geloofsbriewekontrole deur die geheue van die sudo-proses te wysig om wortelvoorregte te verkry. Afhangende van die skyfie, neem dit enige plek van 3 sekondes tot etlike ure se aanvalstyd om een ​​teikenbit te verander.

Daarbenewens kan ons let op die publikasie van die oop LiteX Row Hammer Tester-raamwerk vir die toets van geheuebeskermingsmetodes teen RowHammer-klasaanvalle, ontwikkel deur Antmicro vir Google. Die raamwerk is gebaseer op die gebruik van FPGA om die opdragte wat direk na die DRAM-skyfie oorgedra word ten volle te beheer om die invloed van die geheuebeheerder uit te skakel. Toolkit in Python word aangebied vir interaksie met FPGA. Die FPGA-gebaseerde poort bevat 'n module vir pakkiedata-oordrag (definieer geheuetoegangspatrone), 'n Payload Executor, 'n LiteDRAM-gebaseerde kontroleerder (verwerk al die logika wat benodig word vir DRAM, insluitend ry-aktivering en geheue-opdatering) en 'n VexRiscv SVE. Die projek se ontwikkelings word onder die Apache 2.0-lisensie versprei. Verskeie FPGA-platforms word ondersteun, insluitend Lattice ECP5, Xilinx Series 6, 7, UltraScale en UltraScale+.

Bron: opennet.ru

Voeg 'n opmerking