Еще в  2014 году исследователи из университета Карнеги-Меллона разработали атаку Rowhammer. Ее суть сводилась к тому, что определенное воздействие на ячейки памяти может привести к тому, что электромагнитное излучение повлияет на соседние ячейки, и значения битов в них изменятся. За прошедшие с тех пор годы исследователи успели доказать, что перед Rowhammer может быть уязвима память DDR3 и DDR4, а также атаку научились эксплуатировать через JavaScript и успели приспособить против Microsoft Edge и виртуальных машин Linux. Существует даже вариация Rowhammer, представляющая опасность для устройств на Android.

Теперь специалисты Амстердамского свободного университета опубликовали доклад, согласно которому новая вариация атаки Rowhammer по-прежнему может быть опасна, несмотря на все современные защитные системы. Свою атаку эксперты назвали ECCploit, так как их метод позволяет атаковать ECC-память, которая автоматически распознает и исправляет спонтанно возникшие изменения (ошибки) битов, то есть защищает от различных вариаций Rowhammer. Нужно сказать, что исходно ECC-память создавалась не как защита от Rowhammer. В 90-е годы ее разработчиков больше волновало возможное влияние на биты альфа-частиц, нейтронов и так далее. Однако считалось, что от атак Rowhammer ECC защищает не хуже.

Аббревиатура ECC расшифровывается как Error-correcting Code, то есть это ECC-память – это  «память с коррекцией ошибок». Такую защищенную память сегодня используют в большинстве критических систем, для которых важна бесперебойная и стабильная работа, в том числе в большинстве серверов.

Исследователи Амстердамского свободного университета пишут, что после долгих месяцев реверс-инжиниринга им удалось понять, что у ECC-памяти тоже есть свои лимиты. Так, ECC может обнаруживать и корректировать «переворот» лишь одного бита за раз, в том сегменте памяти, за которым наблюдает. Если же в одном сегменте «перевернутся» сразу два бита одновременно (крайне маловероятное событие), ECC-память спровоцирует отказ в работе приложения, чтобы избежать повреждения данных и потенциальной компрометации.

Однако экспертам удалось создать вариацию Rowhammer, которая вызывает «переворот» сразу трех битов одновременно. И, как оказалось, такая ситуация уже не провоцирует отказ в работе и не вызывает у ECC-памяти какой-либо реакции. То есть такая атака позволяет обойти защиту ECC вообще. Хотя в своих исследованиях специалисты концентрировали усилия на DDR3, они полагают, что DDR4 подвержена таким же проблемам.

Нужно заметить, что при этом ECCploit скорее относится к разряду концептов, так как использовать данную атаку на практике будет нелегко. Исследователи признают, что для проведения атаки потребуется от 32 минут до недели реального времени, и ее массового использования определенно можно пока не опасаться. Специалисты советуют пользователям не пренебрегать ECC-памятью из-за этой проблемы, а производителей призывают учесть данные недоработки в будущем.

2 комментария

  1. 0d8bc7

    26.11.2018 at 11:19

    Спасибо за статью.
    Но можно подробности? «Соседние» ячейки памяти — это какие, от того же приложения или от других приложений и ОС? Как желательно настраивать BIOS (если повезет и подходящие настройки будут)? Возможны ли улучшения систем виртуализации, чтобы они перераспределяли память более безопасным образом? Если да, то что на это ответили разработчики ведущих систем виртуализации?
    Просто «от 32 минут до недели реального времени» — ни о чем, если запускаешь в ВМ какую-то программу на длительное время. И автоматизировать процесс взлома, наверняка, тоже возможно. Хотя сами ВМ сейчас тоже не совершенны в плане безопасности, но все же.

    • Васька де Гамма

      26.11.2018 at 14:38

      «Соседние» имеется в виду соседние физически в кристалле памяти в микросхеме.
      Биос тут не поможет, и он тут не при чем. Проблема носит аппаратный характер.

Оставить мнение