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

Аппаратная уязвимость оперативной памяти, которая получила название Rowhammer (англ. «молот рядов»), была обнаружена в 2014 году. Как выяснили эксперты Google, при длительном воздействии на одни и те же ячейки DRAM возникает магнитное поле, которое позволяет целенаправленно менять состояние соседних рядов. Отсюда название метода — взломщик «колотит» ячейки, как молотом. Если он точно знает участки памяти, где хранится ценная информация, то может извлекать и менять данные.

Для защиты от подобных атак специалисты рекомендовали использовать чипы RAM с автоматической коррекцией ошибок (error-correcting code, ECC). Эта технология использует программные алгоритмы, чтобы компенсировать электромагнитные помехи, возникающие, например, при изменении бита из-за попадания нейтрона из космических лучей. Поскольку Rowhammer также воздействует на отдельные ячейки, функция ECC оказывается работоспособной и в этом случае.

Однако, как сообщили ученые Амстердамского свободного университета (Vrije Universiteit Amsterdam), в некоторых ситуациях злоумышленники могут обойти эту защиту. Авторы назвали методику ECCploit, уязвимость получила идентификатор CVE-2018-18904. В настоящий момент обнародована черновая версия исследования — финальная будет представлена в мае 2019 года на Симпозиуме по вопросам безопасности и приватности.

Эксперты пояснили, что ECC работает корректно, если неверное значение обнаружено только в одном бите. Когда проблемы присутствуют сразу в двух ячейках, функция завершает работу программы, чтобы предотвратить проблемы с памятью. Ранее это позволило специалистам говорить, что ECC понижает угрозу Rowhammer до уровня простой DoS-атаки.

Однако теперь голландские ученые определили, что при дальнейшем увеличении битов с ошибками технология уже не срабатывает, открывая злоумышленнику доступ к данным. Другими словами, если взломщик вызывает ошибки сразу в трех ячейках RAM, устройство с поддержкой ECC оказывается столь же уязвимо, как и без этой функции. В этом случае коррекция битов может только замедлить атаку.

У представленного метода есть ряд технических ограничений, которые затрудняют его применение на практике. Чтобы эксплойт сработал, взломщику придется ждать несколько дней (хотя ученые пишут, что проводили атаку и за 32 минуты). Кроме того, производители чипов памяти не раскрывают тонкости работы ECC, поэтому сторонние акторы не могут точно определить, в какой момент и какие ячейки оказались скорректированы.

Несмотря на все это, ученые призывают не принижать угрозу ECCploit, равно как и Rowhammer. Многие практические затруднения связаны с тем, что исследователи воспроизводили идеальные условия, когда испытуемое оборудование работало со всеми корректными настройками. В реальности, пишут они, такое случается нечасто, поэтому атака может потребовать гораздо меньших ресурсов.

Эксперты проверили эффективность своего метода на трех чипах Intel и одном — AMD (конкретные модели держатся в секрете). Они подчеркивают, что перед ECCploit будут беззащитны самые продвинутые устройства, и производителям следует срочно озаботиться новыми мерами безопасности — более действенными, нежели те, что используются сейчас.

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

Категории: Аналитика, Уязвимости