Що таке помилка DRAM Rowhammer і як я повинен ставитися до неї?


20

Мікросхеми DRAM дуже щільно упаковані. Дослідження показали, що сусідні біти можна повернути навмання.

  • Яка ймовірність випадкового запуску помилки в мікросхемі DRAM кластера сервера з ECC ( папір CMU-Intel зазначає, наприклад, число 9,4x10 ^ -14 для невідомого чіпа за один збій за рік)?
  • Як дізнатися, чи виправлена ​​помилка перед придбанням пам'яті?
  • Що мені робити, щоб протистояти зловмисним спробам ескалації привілеїв, наприклад, орендарям або непривілейованим користувачам, наприклад, CentOS 7?

Список літератури:


2
З огляду на те, що деталі експлуатації досі не вкладені в ембарго, я не впевнений, що окрім того, що Google вже вам надав, буде багато інформації.
fukawi2

Як я зрозумів, швидкість оновлення пам’яті різко знижує шанси на успішний біт-фліп, а новіші версії BIOS знижують частоту оновлення, щоб спробувати зменшити ризик. Тож оновлення BIOS може бути хорошим першим кроком?
Реалізує

1
@ fukawi2, які деталі експлуатації були / були ембарговані? Повний код для перевірки концептуальних подвигів був опублікований у публікації блогу.
Марк Сіборін

@MarkSeaborn Я навіть зараз не згадую, це було 3 місяці тому, і я ледве згадую сніданок.
fukawi2

Відповіді:


19

Згаданий вами документ CMU-Intel показує (на стор. 5), що рівень помилок сильно залежить від номера деталі / дати виготовлення модуля DRAM і змінюється в 10-1000 разів. Також є деякі вказівки на те, що проблема набагато менш виражена в останніх (2014 р.) Виготовлених мікросхемах.

Число "9,4x10 ^ -14", яке ви цитували, використовувалося в контексті запропонованого теоретичного механізму пом'якшення, який називається "PARA" (який може бути подібний до існуючого механізму пом'якшення стану pTRR (pseudo Target Row Refresh)) і не має значення для вашого питання, оскільки PARA не має нічого спільного з ECC.

У другому документі CMU-Intel (стор. 10) згадується про вплив різних алгоритмів ECC на зменшення помилок (коефіцієнт 10 ^ 2 до 10 ^ 5, можливо, набагато більше із складними тестами пам’яті та «захистом»).

ECC ефективно перетворює подвиг Row Hammer у атаку DOS. 1-бітові помилки будуть виправлені ECC, і як тільки виявиться неправільна 2-бітова помилка, система зупиниться (якщо припустити SECDED ECC).

Рішення - придбати обладнання, яке підтримує pTRR або TRR. Дивіться поточну публікацію в блозі від Cisco про Row Hammer . Принаймні, деякі виробники, мабуть, мають один із цих механізмів пом'якшення, вбудований у свої модулі DRAM, але зберігають його глибоко прихованим у своїх характеристиках. Щоб відповісти на ваше запитання, запитайте продавця.

Швидша швидкість оновлення (32 мс замість 64 мс) та агресивні інтервали очищення патруля також допомагають, але це вплине на продуктивність. Але я не знаю жодного серверного обладнання, яке б насправді дозволило точно налаштувати ці параметри.

Я думаю, що з боку операційної системи ви не можете зробити багато, крім припинення підозрілих процесів з постійним високим використанням процесора та великими пропусками кешу.


4

Ситуація все ще здається досить незрозумілою, тому я не думаю, що на ваші запитання можна відповісти безпосередньо, але ось відносно недавня інформація як часткова відповідь. Для новин, стежити за rowhammer-обговорення списку розсилки.

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

Як повідомляється, "компанії без імені пам'яті" намагалися сплатити хабар у відповідь на те, щоб Passmark Software не звільнив тест на молот у своєму інструменті Memtest86.

Повідомлялося, що апаратне забезпечення Intel Skylake є більш вразливим, але не меншим , до розбійного молотка через додавання нової clflushoptінструкції. Це вже було використано в rowhammer.js

Даніель Грус відповів на деякі запитання щодо пом'якшення наслідків станом на грудень 2015 року (співавтор газети rowhammer.js ) у цій розмові :

  1. Хоча деякі оперативні пам’яті ECC менш вразливі, ніж оперативні пам'яті, що не мають ECC, до інших, а інші оперативної пам’яті ECC є більш вразливими, ніж оперативна пам’ять, що не стосується ECC ( посилання на запитання у відео )
  2. Перехід на більш швидку швидкість оновлення є достатньою для запобігання стрибку з більшістю, але не всім обладнанням - але не всі BIOS дозволяють змінювати частоту оновлення ( посилання на питання у відео ).

Як контрзахід, можливо, можна виявити атаки, що ведуться на підйомах, але я не знаю, що це було зроблено.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.