Blacksmith - DRAM жады мен DDR4 чиптеріне жаңа шабуыл

ETH Zurich, Vrije Universiteit Amsterdam және Qualcomm зерттеушілер тобы динамикалық жедел жадтың (DRAM) жеке биттерінің мазмұнын өзгерте алатын RowHammer шабуылының жаңа әдісін жариялады. Шабуылдың кодтық аты Blacksmith болды және CVE-2021-42114 деп анықталды. Бұрын белгілі RowHammer класс әдістерінен қорғаныспен жабдықталған көптеген DDR4 чиптері мәселеге сезімтал. Жүйелеріңізді осалдыққа тексеруге арналған құралдар GitHub сайтында жарияланған.

Еске салайық, RowHammer класының шабуылдары көрші жад ұяшықтарынан деректерді циклдік оқу арқылы жеке жад биттерінің мазмұнын бұрмалауға мүмкіндік береді. DRAM жады әрқайсысы конденсатор мен транзистордан тұратын ұяшықтардың екі өлшемді массиві болғандықтан, бір жад аймағын үздіксіз оқуды орындау кернеудің ауытқуына және көрші ұяшықтарда зарядтың аздап жоғалуына әкелетін ауытқуларға әкеледі. Егер оқу қарқындылығы жоғары болса, онда көрші ұяшық жеткілікті үлкен зарядты жоғалтуы мүмкін және келесі регенерация циклі өзінің бастапқы күйін қалпына келтіруге үлгермейді, бұл ұяшықта сақталған деректердің мәнінің өзгеруіне әкеледі. .

RowHammer-тен қорғау үшін чип өндірушілері іргелес жолдардағы ұяшықтардың бүлінуінен қорғайтын TRR (Target Row Refresh) механизмін ұсынды, бірақ қорғаныс «көпірлік арқылы қауіпсіздік» принципіне негізделгендіктен, ол мәселені шешпеді. түбір, бірақ белгілі ерекше жағдайлардан ғана қорғалған, бұл қорғанысты айналып өту жолдарын табуды жеңілдетеді. Мысалы, мамыр айында Google TRR қорғанысы әсер етпейтін Half-Double әдісін ұсынды, өйткені шабуыл мақсатқа тікелей жақын емес ұяшықтарға әсер етті.

Blacksmith-тің жаңа әдісі зарядтың ағып кетуін тудыратын әртүрлі жиіліктердегі екі немесе одан да көп агрессорлық жолдарға біркелкі емес қол жеткізуге негізделген TRR қорғанысын айналып өтудің басқа әдісін ұсынады. Зарядтың ағып кетуіне әкелетін жадқа қол жеткізу үлгісін анықтау үшін ұяшыққа кіру тәртібін, қарқындылығын және жүйелілігін өзгертетін белгілі бір чип үшін шабуыл параметрлерін автоматты түрде таңдайтын арнайы фузер әзірленді.

Бірдей ұяшықтарға әсер етумен байланысты емес мұндай тәсіл қазіргі TRR қорғау әдістерін тиімсіз етеді, олар бір түрде немесе басқа түрде ұяшықтарға қайталанатын қоңыраулардың санын санауға дейін барады және белгілі бір мәндерге жеткенде қайта зарядтауды бастайды. көрші жасушалардан. Blacksmith-те қол жеткізу үлгісі мақсаттың әртүрлі жағынан бірден бірнеше ұяшықтарға таралады, бұл шекті мәндерге жетпестен зарядтың ағып кетуіне қол жеткізуге мүмкіндік береді.

Әдіс TRR-ді айналып өтудің бұрын ұсынылған әдістеріне қарағанда әлдеқайда тиімді болып шықты - зерттеушілер Samsung, Micron, SK Hynix және белгісіз өндіруші (өндіруші болған) жақында сатып алынған 40 түрлі DDR4 жад микросхемаларының барлығында биттік бұрмалануға қол жеткізді. 4 чипте көрсетілмеген). Салыстыру үшін, бұрын сол зерттеушілер ұсынған TRRespass әдісі сол кезде сыналған 13 чиптің 42-інде ғана тиімді болды.

Жалпы алғанда, Blacksmith әдісі нарықтағы барлық DRAM чиптерінің 94% қолданылады деп күтілуде, бірақ зерттеушілер кейбір чиптер басқаларға қарағанда осал және шабуылға оңайырақ екенін айтады. Чиптерде қателерді түзету кодтарын (ECC) пайдалану және жадты жаңарту жылдамдығын екі есе арттыру толық қорғауды қамтамасыз етпейді, бірақ жұмысты қиындатады. Бір қызығы, мәселені қазірдің өзінде шығарылған чиптерде бұғаттауға болмайды және аппараттық деңгейде жаңа қорғанысты енгізуді талап етеді, сондықтан шабуыл көптеген жылдар бойы өзекті болып қала береді.

Практикалық мысалдар OpenSSH жадында сақталған RSA-2048 ашық кілтін бүлдіріп, ядролық артықшылықтарды алу үшін жад беті кестесіндегі жазбалардың (PTE, бет кестесінің жазбасы) жазбалардың мазмұнын өзгерту үшін Blacksmith қолданбасын пайдалану әдістерін қамтиды (ашық кілтті енгізуге болады). басқа біреудің виртуалды машинасы жәбірленушінің виртуалды компьютеріне қосылу үшін шабуылдаушының жеке кілтіне сәйкес келеді) және түбірлік артықшылықтарды алу үшін sudo процесінің жадын өзгерту арқылы тіркелгі деректерін тексеруді айналып өтіңіз. Чипке байланысты бір мақсатты битті өзгерту үшін 3 секундтан бірнеше сағатқа дейін шабуыл уақыты қажет.

Бұған қоса, Google үшін Antmicro әзірлеген RowHammer класының шабуылдарынан жадты қорғау әдістерін сынауға арналған ашық LiteX Row Hammer Tester құрылымының жариялануын атап өтуге болады. Фреймворк жад контроллерінің әсерін жою үшін тікелей DRAM чипіне жіберілетін командаларды толық басқару үшін FPGA қолдануға негізделген. Python-дағы құралдар жинағы FPGA-мен өзара әрекеттесу үшін ұсынылады. FPGA негізіндегі шлюзге пакеттік деректерді тасымалдауға арналған модуль (жадқа қол жеткізу үлгілерін анықтайды), пайдалы жүктемені орындаушы, LiteDRAM негізіндегі контроллер (жолды белсендіру және жадты жаңартуды қоса, DRAM үшін қажетті барлық логиканы өңдейді) және VexRiscv процессоры бар. Жобаның әзірлемелері Apache 2.0 лицензиясы бойынша таратылады. Әр түрлі FPGA платформаларына қолдау көрсетіледі, соның ішінде Lattice ECP5, Xilinx Series 6, 7, UltraScale және UltraScale+.

Ақпарат көзі: opennet.ru

пікір қалдыру