Blacksmith — нова атака срещу паметта DRAM и чиповете DDR4

Група изследователи от Швейцарския федерален технически университет в Цюрих, Свободния университет в Амстердам и компания Qualcomm публикуваха нов метод на атака от клас RowHammer, който позволява да се промени съдържанието на отделни битове динамична оперативна памет (DRAM). На атаката е присвоено кодово име Blacksmith и идентификатор CVE-2021-42114. Проблемът засяга много DDR4 чипове, оснамена с защита от преди известни методи от класа RowHammer. Инструмент за тестване на системите си за уязвимост е публикуван в GitHub.

Напомняме, че атаките от класа RowHammer позволяват изкривяване на съдържанието на отделни битове памет, чрез циклично четене на данни от съседни клетки памет. Тъй като DRAM паметта представлява двумерен масив клетки, всяка от които се състои от кондензатор и транзистор, непрекъснатото четене на една и съща област памет води до флуктуации на напрежението и аномалии, които причиняват малка загуба на заряд в съседни клетки. Ако интензивността на четенето е голяма, то съседната клетка може да загуби достатъчно голям обем заряд и следващият цикъл на регенерация не успява да възстанови нейното първоначално състояние, което води до изменение на стойността на данните, съхранени в клетката.

За защита от RowHammer производителите на чипове предложили механизъм TRR (Target Row Refresh), който защитава от изкривяването на клетките в съседни редове, но тъй като защитата се основава на принципа "сигурност чрез неясност (security by obscurity)", тя не решава проблема в корена, а защитава само от известни частни случаи, което позволява лесно намиране на обходни пътища. Например, през май компания Google предложи метод Half-Double, на който не засяга защитата TRR, тъй като при атаката се засягат клетки, които не са директно съседни на целевата.

Новият метод Blacksmith предлага различен начин за заобикаляне на защитата TRR, основан на неравномерно обращение с различна честота към две или повече редове-агресори за предизвикване на leakage на заряд. За да се определи шаблонът на обращение към паметта, водещ до leakage на заряд, е разработен специален fuzzer, който автоматично подбира параметрите на атаката за конкретен чип, варирайки реда, интензивността и систематичността на обращение към клетките.

Такъв подход, несвързан с въздействието върху същите клетки, прави текущите методи за защита на TRR неефективни, които по един или друг начин се свеждат до преброяване на броя на повтарящите се достъпи до клетките и, след достигане на определени стойности, инициране на презареждане на съседните клетки. В Blacksmith шаблонът на достъпа се разпределя веднага на няколко клетки от различни страни на целевата, което позволява постигане на leakage заряд без да се достигат прагови стойности.

Методът се оказа значително по-ефективен от предишно предложените начини за заобикаляне на TRR — изследователите успяха да постигнат изкривяване на битовете във всички от 40 наскоро закупени различни DDR4 памет чипове, произведени от Samsung, Micron, SK Hynix и непознат производител (при 4 чипа производителят не беше указан). За сравнение, преди предложената от същите изследователи методология TRRespass се оказа ефективна само за 13 от 42 тествани по това време чипа.

В общ вид се предполага, че методът Blacksmith е приложим за 94% от всички DRAM чипове, налични на пазара, но според заявлението на изследователите, някои чипове са по-уязвими и по-лесни за атака от други. Използването на кодове за корекция на грешки (ECC) в чиповете и удвояването на честотата на обновление на паметта не осигурява пълна защита, но усложнява експлоатацията. Забележително е, че проблемът не може да бъде блокиран в вече издадените чипове и изисква внедряване на нова защита на хардуерно ниво, поради което атаката ще остане актуална още много години напред.

Като практически примери се посочват методи за прилагане на Blacksmith за промяна на съдържанието на записите в таблицата на страниците на паметта (PTE, page table entry) за получаване на привилегии на ядрото, повреждане на съхранявания в паметта публичен ключ RSA-2048 в OpenSSH (може да бъде представен публичен ключ на чужд) виртуална машина съответстващ на частния ключ на атакуващия за свързване с VM на жертвата) и заобикаляне на проверката на пълномощията чрез модификация на паметта на процеса sudo за получаване на root права. В зависимост от чипа, за промяна на един целеви бит е необходимо от 3 секунди до няколко часа провеждане на атаката.

Възпроизведи видео

Допълнително може да се отбележи публикуването на отворен фреймворк LiteX Row Hammer Tester за тестване на методи за защита на паметта от атаки от клас RowHammer, разработен от компанията Antmicro по поръчка на Google. Фреймворкът е основан на използването на FPGA за пълно управление на командите, предавани директно в чипа DRAM, за да се изключи влиянието на контролера на паметта. За взаимодействие с FPGA се предлага инструментарий на Python. Шлюзът на базата на FPGA включва модул за пакетна предаване на данни (определя шаблони на отговори към паметта), Payload Executor, контролер на базата на LiteDRAM (обработва всяка необходима логика за DRAM, включително активиране на редове и обновяване на паметта) и CPU VexRiscv. Наработките на проекта се разпространяват под лицензия Apache 2.0. Поддържа се използването на различни платформи FPGA, включително Lattice ECP5, Xilinx Series 6, 7, UltraScale и UltraScale+.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster