Rowhammer атакует ECC
Еще в 2014 году исследователи из университета Карнеги — Меллона разработали атаку Rowhammer. Ее суть сводилась к тому, что определенное воздействие на ячейки памяти может привести к тому, что электромагнитное излучение повлияет на соседние ячейки и значения битов в них изменятся.
За прошедшие с тех пор годы исследователи сумели доказать, что перед Rowhammer может быть уязвима память DDR3 и DDR4, а также научились эксплуатировать атаку через JavaScript и успели приспособить против Microsoft Edge и виртуальных машин Linux. Существует даже вариация Rowhammer, представляющая опасность для устройств на Android.
Теперь специалисты Амстердамского свободного университета опубликовали доклад, согласно которому новая вариация атаки Rowhammer по-прежнему может быть опасна, несмотря на все современные защитные системы.
Свою атаку эксперты назвали ECCploit, так как их метод позволяет атаковать ECC-память, которая автоматически распознает и исправляет спонтанно возникшие изменения (ошибки) битов, то есть защищает от различных вариаций Rowhammer. Нужно сказать, что исходно ECC-память создавалась не как защита от Rowhammer. В девяностые годы ее разработчиков больше волновало возможное влияние на биты альфа-частиц, нейтронов и подобное. Однако считалось, что от атак Rowhammer ECC может защитить ничуть не хуже.
Аббревиатура ECC расшифровывается как Error-correcting Code, то есть ECC-память — это «память с коррекцией ошибок». Такую защищенную память сегодня используют в большинстве критических систем, для которых важна бесперебойная и стабильная работа, в том числе в серверах.
Исследователи Амстердамского свободного университета пишут, что после долгих месяцев реверс-инжиниринга им удалось понять, что у ECC-памяти тоже есть свои лимиты. Так, ECC может обнаруживать и корректировать «переворот» лишь одного бита за раз, в том сегменте памяти, за которым наблюдает. Если же в одном сегменте «перевернутся» сразу два бита одновременно (крайне маловероятное событие), ECC-память спровоцирует отказ в работе приложения, чтобы избежать возможных повреждений данных и потенциальной компрометации.
Однако экспертам удалось создать вариацию Rowhammer, которая вызывает «переворот» сразу трех битов одновременно. И как оказалось, такая ситуация уже не провоцирует отказ в работе и вообще не вызывает у ECC-памяти какой-либо реакции. То есть такая атака позволяет обойти защиту ECC вообще. Хотя в своих исследованиях специалисты концентрировали усилия на DDR3, они полагают, что DDR4 подвержена таким же проблемам.
Нужно заметить, что при этом ECCploit относится скорее к разряду концептов, так как использовать данную атаку на практике будет нелегко. Исследователи признают, что для проведения атаки потребуется от 32 минут до недели реального времени и ее массового использования определенно можно пока не опасаться. Специалисты советуют пользователям не пренебрегать ECC-памятью из-за этой проблемы, а производителей призывают учесть данные недоработки в будущем.
Еще в 2014 году исследователи из университета Карнеги — Меллона разработали атаку Rowhammer. Ее суть сводилась к тому, что определенное воздействие на ячейки памяти может привести к тому, что электромагнитное излучение повлияет на соседние ячейки и значения битов в них изменятся.
За прошедшие с тех пор годы исследователи сумели доказать, что перед Rowhammer может быть уязвима память DDR3 и DDR4, а также научились эксплуатировать атаку через JavaScript и успели приспособить против Microsoft Edge и виртуальных машин Linux. Существует даже вариация Rowhammer, представляющая опасность для устройств на Android.
Теперь специалисты Амстердамского свободного университета опубликовали доклад, согласно которому новая вариация атаки Rowhammer по-прежнему может быть опасна, несмотря на все современные защитные системы.
Свою атаку эксперты назвали ECCploit, так как их метод позволяет атаковать ECC-память, которая автоматически распознает и исправляет спонтанно возникшие изменения (ошибки) битов, то есть защищает от различных вариаций Rowhammer. Нужно сказать, что исходно ECC-память создавалась не как защита от Rowhammer. В девяностые годы ее разработчиков больше волновало возможное влияние на биты альфа-частиц, нейтронов и подобное. Однако считалось, что от атак Rowhammer ECC может защитить ничуть не хуже.
Аббревиатура ECC расшифровывается как Error-correcting Code, то есть ECC-память — это «память с коррекцией ошибок». Такую защищенную память сегодня используют в большинстве критических систем, для которых важна бесперебойная и стабильная работа, в том числе в серверах.
Исследователи Амстердамского свободного университета пишут, что после долгих месяцев реверс-инжиниринга им удалось понять, что у ECC-памяти тоже есть свои лимиты. Так, ECC может обнаруживать и корректировать «переворот» лишь одного бита за раз, в том сегменте памяти, за которым наблюдает. Если же в одном сегменте «перевернутся» сразу два бита одновременно (крайне маловероятное событие), ECC-память спровоцирует отказ в работе приложения, чтобы избежать возможных повреждений данных и потенциальной компрометации.
Однако экспертам удалось создать вариацию Rowhammer, которая вызывает «переворот» сразу трех битов одновременно. И как оказалось, такая ситуация уже не провоцирует отказ в работе и вообще не вызывает у ECC-памяти какой-либо реакции. То есть такая атака позволяет обойти защиту ECC вообще. Хотя в своих исследованиях специалисты концентрировали усилия на DDR3, они полагают, что DDR4 подвержена таким же проблемам.
Нужно заметить, что при этом ECCploit относится скорее к разряду концептов, так как использовать данную атаку на практике будет нелегко. Исследователи признают, что для проведения атаки потребуется от 32 минут до недели реального времени и ее массового использования определенно можно пока не опасаться. Специалисты советуют пользователям не пренебрегать ECC-памятью из-за этой проблемы, а производителей призывают учесть данные недоработки в будущем.