Чіпи пам'яті DDR4 залишаються вразливими для атак RowHammer, незважаючи на доданий захист

Група дослідників з Амстердамського вільного університету, Швейцарської вищої технічної школи Цюріха та компанії Qualcomm провели дослідження ефективності пам'яті DDR4, що застосовується в сучасних чіпах захисту від атак класу RowHammer, що дозволяють змінити вміст окремих біт динамічної оперативної пам'яті (DRAM). Результати виявилися невтішними і чіпи DDR4 основних виробників, як і раніше залишаються вразливі (CVE-2020-10255).

Вразливість RowHammer дозволяє спотворити вміст окремих бітів пам'яті шляхом циклічного читання даних із сусідніх осередків пам'яті. Так як пам'ять DRAM є двомірним масивом осередків, кожна з яких складається з конденсатора і транзистора, виконання безперервного читання однієї і тієї ж області пам'яті призводить до флуктуації напруги і аномалій, що викликає невелику втрату заряду сусідніх осередків. Якщо інтенсивність читання досить велика, то осередок може втратити досить великий обсяг заряду і черговий цикл регенерації не встигне відновити початковий стан, що призведе до зміни значення збережених в осередку даних.

Для блокування подібного ефекту в сучасних чіпах DDR4 застосовується технологія TRR (Target Row Refresh), призначена для запобігання викривленню комірок при проведенні атаки RowHammer. Проблема в тому, що немає єдиного підходу до реалізації TRR і кожен виробник CPU та пам'яті трактує TRR за своїм, застосовує власні варіанти захисту та не розкриває деталі реалізації.
Вивчення методів блокування RowHammer, що застосовуються виробниками, дозволило легко знайти шляхи обходу захисту. Під час перевірки виявилося, що практикований виробниками принцип «безпека через неясність (security by obscurity) при реалізації TRR допомагає лише для захисту в окремих випадках, що охоплюють типові атаки, що маніпулюють зміною заряду осередків в одному або двох сусідніх рядках.

Розроблена дослідниками утиліта дозволяє перевірити схильність чіпів до багатосторонніх варіантів атаки RowHammer, в яких спроба впливу на заряд проводиться відразу для декількох рядків осередків пам'яті. Подібні атаки дозволяють обійти реалізований деякими виробниками захист TRR і призводять до викривлення бітів пам'яті навіть на новому устаткуванні з пам'яттю DDR4.
З 42 вивчених DIMM-модулів 13 модулів виявилися вразливими для нестандартних варіантів проведення атаки RowHammer, незважаючи на заявлений захист. Проблемні модулі випущені виробниками SK Hynix, Micron та Samsung, продукція яких охоплює 95% ринку DRAM.

Крім DDR4, були вивчені та застосовувані в мобільних стійках чіпи LPDDR4, які також виявилися чутливими для розширених варіантів атаки RowHammer. Зокрема, проблемі виявилася схильна до пам'яті, що використовується в смартфонах Google Pixel, Google Pixel 3, LG G7, OnePlus 7 і Samsung Galaxy S10.

Дослідники змогли відтворити на проблемних чіпах DDR4 кілька техніки експлуатації. Наприклад, застосування RowHammer-експлоїту для PTE (Page Table Entries) зажадало для отримання привілею ядра проведення атаки протягом від 2.3 секунд до трьох годин п'ятнадцяти секунд, залежно від чіпів, що тестуються. Атака по пошкодженню відкритого ключа RSA-2048, що зберігається в пам'яті, зайняла від 74.6 секунд до 39 хвилин 28 секунд. Атака на обхід перевірки повноважень через модифікацію пам'яті процесу sudo зайняла 54 хвилини 16 секунд.

Для перевірки застосовуваних користувачами чіпів пам'яті DDR4 опубліковано утиліту TRRespass. Для успішного проведення атаки потрібна інформація про розкладку фізичних адрес, що використовується в контролері пам'яті, у прив'язці до банків і рядків осередків пам'яті. Для визначення розкладки додатково розроблено утиліту драма, що вимагає запуску з правами root. Найближчим часом також планується опублікувати програму для тестування пам'яті смартфонів.

Компанії Intel и AMD порадили для захисту використовувати пам'ять з корекцією помилок (ECC), контролери пам'яті з підтримкою Maximum Activate Count (MAC) та застосовувати підвищену частоту регенерації. Дослідники вважають, що для вже випущених чіпів відсутнє рішення для гарантованого захисту від Rowhammer, а застосування ECC і збільшення частоти регенерації пам'яті виявилися неефективними. Наприклад, раніше вже було запропоновано спосіб атаки на DRAM-пам'ять в обхід захисту ECC, а також показано можливість здійснення атаки на DRAM через локальну мережу, з гостьової системи и за допомогою запуску JavaScript у браузері.

Джерело: opennet.ru

Додати коментар або відгук