Чипы DRAM очень плотно упакованы. Исследования показали, что соседние биты могут быть выброшены случайным образом.
- Какова вероятность случайного запуска ошибки в микросхеме DRAM серверного уровня с ECC (в статье CMU-Intel приводится, например, число 9,4x10 ^ -14 для неизвестного чипа за один сбой за год)?
- Как узнать, исправлена ли ошибка перед покупкой памяти?
- Что я должен сделать, чтобы противостоять злонамеренным попыткам повышения привилегий, например, арендаторами или непривилегированными пользователями, например, в CentOS 7?
Ссылки:
Ответы:
Упомянутая вами бумага CMU-Intel показывает (на странице 5), что частота ошибок в значительной степени зависит от номера детали / даты изготовления модуля DRAM и варьируется в 10-1000 раз. Есть также некоторые признаки того, что проблема гораздо менее выражена в недавно выпущенных (2014 г.) чипах.
Указанное вами число «9,4x10 ^ -14» использовалось в контексте предложенного теоретического механизма смягчения, называемого «PARA» (который может быть аналогичен существующему механизму смягчения pTRR (pseudo Target Row Refresh)) и не имеет отношения к вашему вопрос, потому что PARA не имеет ничего общего с ECC.
Во второй статье CMU-Intel (стр. 10) упоминается влияние различных алгоритмов ECC на уменьшение ошибок (в 10–10 - 5 раз, возможно, в гораздо большей степени благодаря сложным тестам памяти и «защитным полосам»).
ECC эффективно превращает Row Hammer в DOS-атаку. 1-битные ошибки будут исправлены ECC, и как только будет обнаружена неисправимая 2-битная ошибка, система остановится (при условии SECDED ECC).
Решение состоит в том, чтобы купить оборудование, поддерживающее pTRR или TRR. Смотрите текущее сообщение в блоге Cisco о Row Hammer . По крайней мере, у некоторых производителей, кажется, есть один из этих механизмов смягчения, встроенный в их модули DRAM, но держите его глубоко скрытым в своих спецификациях. Чтобы ответить на ваш вопрос: спросите продавца.
Более быстрая частота обновления (32 мс вместо 64 мс) и агрессивные интервалы Patrol Scrub также помогают, но могут оказать влияние на производительность. Но я не знаю серверного оборудования, которое бы позволяло точно настраивать эти параметры.
Я полагаю, что на стороне операционной системы мало что можно сделать, кроме как завершать подозрительные процессы с постоянным высоким использованием ЦП и большим количеством кеш-памяти.
источник
Ситуация все еще кажется довольно неясной, поэтому я не думаю, что на ваши вопросы можно ответить напрямую, но вот некоторая относительно недавняя информация в качестве частичного ответа. Для получения новостей следите за списком рассылки rowhammer-обсудить .
Я не уверен, что в настоящее время с общедоступной информацией можно избежать покупки уязвимой оперативной памяти или легко предсказать частоту отказов в существующем оборудовании. Производители не были открыты с информацией о том, как их продукты влияют. Можно протестировать память, уже купленную с помощью программных средств, но вы должны знать, что запуск этих инструментов в течение значительных периодов (часов) может привести к необратимому ухудшению оперативной памяти и вызвать сбои в работе программного обеспечения.
«Неназванные компании памяти», как сообщается, пытались заплатить взятку в обмен на Passmark Software, которая не выпускала тест на гребной молот в своем инструменте Memtest86.
Сообщается, что аппаратное обеспечение Intel Skylake более уязвимо, а не менее , к ударной установке из-за добавления новой
clflushopt
инструкции. Это уже использовалось в rowhammer.jsДаниэль Грусс отвечает на некоторые вопросы о смягчении последствий по состоянию на декабрь 2015 года (соавтор статьи rowhammer.js ) в этом выступлении :
В качестве контрмеры, возможно, удастся обнаружить идущие атаки с помощью молотка, но я не знаю, что это было сделано.
источник