Назад | Перейти на главную страницу

Что такое ошибка Rowhammer DRAM и как ее лечить?

Чипы DRAM очень плотно упакованы. Исследования показали, что соседние биты можно переключать произвольно.

Ссылки:

В цитированном вами документе CMU-Intel показано (на стр. 5), что частота ошибок сильно зависит от номера детали / даты изготовления модуля DRAM и варьируется в 10-1000 раз. Есть также некоторые признаки того, что проблема гораздо менее выражена в чипах, произведенных недавно (2014 г.).

Число '9,4x10 ^ -14', которое вы процитировали, использовалось в контексте предлагаемого теоретического механизма смягчения последствий под названием «PARA» (который может быть похож на существующий механизм смягчения последствий pTRR (псевдо-обновление целевой строки)) и не имеет отношения к вашему вопрос, потому что 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 мс) и агрессивные интервалы Patrol Scrub тоже помогают, но могут повлиять на производительность. Но я не знаю серверного оборудования, которое действительно позволяло бы точно настроить эти параметры.

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

Ситуация все еще кажется довольно неясной, поэтому я не думаю, что на ваши вопросы можно ответить напрямую, но вот некоторая относительно недавняя информация в качестве частичного ответа. Чтобы узнать новости, следите за Rowhammer-обсуждение список рассылки.

Я не уверен, что в настоящее время с помощью общедоступной информации можно избежать покупки уязвимой оперативной памяти или легко предсказать частоту отказов существующего оборудования. Производители не раскрывают информацию о том, как это повлияет на их продукцию. Можно протестировать уже приобретенную память с помощью программных инструментов, но вы должны знать, что запуск этих инструментов в течение значительных периодов (часов) может привести к необратимому ухудшению ОЗУ и сбоям в работе программного обеспечения.

Сообщается, что "неназванные компании по производству памяти" пытался дать взятку в обмен на то, что Passmark Software не выпустила тест rowhammer в своем инструменте Memtest86.

Сообщается, что оборудование Intel Skylake более уязвим, не менее, к rowhammer из-за добавления добавления нового clflushopt инструкция. Это уже эксплуатировался в rowhammer.js

Даниэль Грусс отвечает на некоторые вопросы о смягчении последствий по состоянию на декабрь 2015 г. (соавтор бумага rowhammer.js) в этом разговоре:

  1. В то время как некоторая ОЗУ с ECC менее уязвима для rowhammer, чем ОЗУ без ECC, другая ОЗУ с ECC более уязвима, чем ОЗУ без ECC (ссылка на вопрос в видео)
  2. Переключения на более высокую частоту обновления достаточно для предотвращения rowhammer на большинстве, но не на всем оборудовании, но не все BIOS позволяют изменять частоту обновления (ссылка на вопрос в видео).

В качестве контрмеры можно обнаружить уже начатую атаку Rowhammer, но я не знаю, что это было сделано.