Blacksmith - shambulio jipya kwenye kumbukumbu ya DRAM na chips DDR4

Timu ya watafiti kutoka ETH Zurich, Vrije Universiteit Amsterdam na Qualcomm wamechapisha mbinu mpya ya mashambulizi ya RowHammer ambayo inaweza kubadilisha maudhui ya vipande vya kumbukumbu ya ufikiaji bila mpangilio (DRAM). Shambulio hilo lilipewa jina la siri la Blacksmith na kutambuliwa kama CVE-2021-42114. Chips nyingi za DDR4 zilizo na ulinzi dhidi ya mbinu za darasa la RowHammer zilizojulikana hapo awali zinaweza kukabiliwa na tatizo. Zana za kujaribu mifumo yako ili kubaini athari zinachapishwa kwenye GitHub.

Kumbuka kwamba mashambulizi ya darasa la RowHammer hukuruhusu kupotosha yaliyomo kwenye biti za kumbukumbu kwa kusoma kwa mzunguko data kutoka kwa seli za kumbukumbu za jirani. Kwa kuwa kumbukumbu ya DRAM ni safu ya seli mbili-dimensional, kila moja inayojumuisha capacitor na transistor, kufanya usomaji unaoendelea wa eneo la kumbukumbu sawa husababisha kushuka kwa voltage na hitilafu zinazosababisha hasara ndogo ya malipo katika seli za jirani. Ikiwa kiwango cha kusoma ni cha juu, basi kiini cha jirani kinaweza kupoteza kiasi kikubwa cha malipo na mzunguko unaofuata wa kuzaliwa upya hautakuwa na muda wa kurejesha hali yake ya awali, ambayo itasababisha mabadiliko katika thamani ya data iliyohifadhiwa kwenye seli. .

Ili kulinda dhidi ya RowHammer, watengenezaji wa chip walipendekeza utaratibu wa TRR (Target Row Refresh) ambao hulinda dhidi ya uharibifu wa seli katika safu zilizo karibu, lakini kwa vile ulinzi ulizingatia kanuni ya "usalama kwa kutojulikana," haikutatua tatizo hilo. mzizi, lakini inalindwa tu kutoka kwa kesi maalum zinazojulikana, ambayo ilifanya iwe rahisi kutafuta njia za kupita ulinzi. Kwa mfano, mwezi wa Mei, Google ilipendekeza njia ya Nusu-Double, ambayo haikuathiriwa na ulinzi wa TRR, kwa kuwa mashambulizi yaliathiri seli ambazo hazikuwa karibu moja kwa moja na lengo.

Mbinu mpya ya Blacksmith inatoa njia tofauti ya kukwepa ulinzi wa TRR, kulingana na ufikiaji usio sare wa mifuatano miwili au zaidi ya wavamizi katika masafa tofauti ili kusababisha malipo kuvuja. Kuamua muundo wa ufikiaji wa kumbukumbu unaosababisha kuvuja kwa malipo, fuzzer maalum imetengenezwa ambayo huchagua kiotomatiki vigezo vya kushambulia kwa chip maalum, kutofautisha mpangilio, nguvu na utaratibu wa ufikiaji wa seli.

Njia kama hiyo, ambayo haihusiani na kuathiri seli zile zile, hufanya njia za sasa za ulinzi wa TRR kutofanya kazi, ambayo kwa namna moja au nyingine huchemka hadi kuhesabu idadi ya simu zinazorudiwa kwa seli na, wakati maadili fulani yamefikiwa, kuanzisha kuchaji tena. ya seli za jirani. Katika Blacksmith, muundo wa ufikiaji huenea kwenye seli kadhaa mara moja kutoka pande tofauti za lengo, ambayo inafanya uwezekano wa kufikia uvujaji wa malipo bila kufikia viwango vya juu.

Njia hiyo iligeuka kuwa nzuri zaidi kuliko njia zilizopendekezwa hapo awali za kupitisha TRR - watafiti walifanikiwa kupotosha kidogo katika chipsi 40 za kumbukumbu za DDR4 zilizonunuliwa hivi karibuni na Samsung, Micron, SK Hynix na mtengenezaji asiyejulikana (mtengenezaji alikuwa. haijabainishwa kwenye chips 4). Kwa kulinganisha, njia ya TRRespass iliyopendekezwa hapo awali na watafiti hao ilikuwa nzuri kwa chips 13 tu kati ya 42 zilizojaribiwa wakati huo.

Kwa ujumla, njia ya Blacksmith inatarajiwa kutumika kwa 94% ya chipsi zote za DRAM kwenye soko, lakini watafiti wanasema chips zingine ziko hatarini zaidi na ni rahisi kushambulia kuliko zingine. Matumizi ya misimbo ya kusahihisha makosa (ECC) katika chip na kuongeza maradufu kiwango cha uonyeshaji kumbukumbu haitoi ulinzi kamili, lakini hutatiza utendakazi. Ni vyema kutambua kwamba tatizo haliwezi kuzuiwa katika chips tayari iliyotolewa na inahitaji utekelezaji wa ulinzi mpya katika ngazi ya vifaa, hivyo shambulio hilo litaendelea kuwa muhimu kwa miaka mingi.

Mifano ya vitendo ni pamoja na njia za kutumia Blacksmith kubadilisha yaliyomo kwenye jedwali la ukurasa wa kumbukumbu (PTE, ingizo la jedwali la ukurasa) kupata marupurupu ya kernel, kupotosha kitufe cha umma cha RSA-2048 kilichohifadhiwa kwenye kumbukumbu katika OpenSSH (unaweza kuleta ufunguo wa umma ndani. mashine pepe ya mtu mwingine ili kulinganisha ufunguo wa faragha wa mshambuliaji ili kuunganisha kwenye VM ya mwathiriwa) na kukwepa ukaguzi wa vitambulisho kwa kurekebisha kumbukumbu ya mchakato wa sudo ili kupata haki za mizizi. Kulingana na chip, inachukua mahali popote kutoka sekunde 3 hadi saa kadhaa za muda wa mashambulizi ili kubadilisha biti moja ya lengo.

Zaidi ya hayo, tunaweza kutambua uchapishaji wa mfumo wa wazi wa LiteX Row Hammer Tester kwa ajili ya kujaribu mbinu za ulinzi wa kumbukumbu dhidi ya mashambulizi ya darasa la RowHammer, uliotayarishwa na Antmicro kwa Google. Mfumo huo unategemea matumizi ya FPGA ili kudhibiti kikamilifu amri zinazopitishwa moja kwa moja kwenye chip ya DRAM ili kuondoa ushawishi wa kidhibiti kumbukumbu. Zana katika Python hutolewa kwa mwingiliano na FPGA. Lango linalotegemea FPGA linajumuisha moduli ya uhamishaji wa data ya pakiti (inafafanua mifumo ya ufikiaji wa kumbukumbu), Kitekelezaji cha Upakiaji, kidhibiti kinachotegemea LiteDRAM (huchakata mantiki yote yanayohitajika kwa DRAM, ikijumuisha kuwezesha safu mlalo na kusasisha kumbukumbu) na VexRiscv CPU. Maendeleo ya mradi yanasambazwa chini ya leseni ya Apache 2.0. Majukwaa mbalimbali ya FPGA yanaweza kutumika, ikiwa ni pamoja na Lattice ECP5, Xilinx Series 6, 7, UltraScale na UltraScale+.

Chanzo: opennet.ru

Kuongeza maoni