Еще в 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-памятью из-за этой проблемы, а производителей призывают учесть данные недоработки в будущем.