Новый вид атаки Rowhammer на оперативную память помог «украсть» 2048-битный RSA-ключ

20

Исследователи из Университета Мичигана (США), Грацского технического университета (Австрия), Университета Аделаиды (Австралия) и компании Data61 обнаружили новую разновидность такой атаки по побочным каналам, как Rowhammer. Ранее эффект Rowhammer проявлялся только в связи с таким явлением, как случайное переключение ячеек памяти под воздействием космического излучения. По мере того, как размеры ячейки памяти DRAM становились меньше ― по мере снижения технологических норм производства ― уменьшались размеры конденсаторов, хранящих заряд, и они становились ближе, эффект Rowhammer оказался взят на вооружение в качестве инструмента атаки по побочным каналам.

Новый вид атаки Rowhammer на оперативную память помог «украсть» 2048-битный RSA-ключ


Суть атаки Rowhammer заключается в том, что атакующий воздействует на шину данных модуля памяти серией «ударов», что приводит к изменению данных в ячейках памяти, непосредственно не подключенных к атакуемой шине. Воздействие происходит через утечки заряда из прямо атакуемых конденсаторов (ячеек) в соседние, которые являются непосредственным объектом атаки. С помощью Rowhammer удавалось поднять права доступа к системе, взломать виртуальную машину или получить корневой доступ к Android, но в общем случае эта атака лишь нарушала целостность данных и не вела к утечкам чувствительной информации, а также была трудно реализуемой. Новое исследование показало, что Rowhammer не так безобидна, как казалось. С помощью модификации Rowhammer учёным удалось извлечь из закрытого участка памяти 2048-битный RSA ключ.

Разработанный исследователями эксплоит и технология RAMBleed на основе атаки Rowhammer позволили не только менять данные в атакуемых ячейках, но также заставили переносить секретные данные из защищённой области памяти в ячейки, доступ к которым был открыт для пользователя с обычными правами. Интересно, что от атаки RAMBleed не спасла даже технология восстановления кода ECC. Ранее память с коррекцией кода успешно защищала от атак Rowhammer, восстанавливая ячейки с изменёнными данными как ошибочные.

Исследователи не скрывают, что обнаруженная ими уязвимость и новый метод атаки с использованием Rowhammer сложен в реализации и требует очень большого объёма времени на «картографирование» атакуемой памяти и привязки физических ячеек к шинам данных и друг к другу. На извлечение 2048-битного RSA ключа ушло больше 34 часов непрерывной бомбардировки памяти (взлом не требует доступа к приложениям, данные в которых атакуются). В реальных условиях злоумышленник вряд ли будет готов на подобный подвиг. Правда, в этом ему могут помочь процессоры компании Intel. Недавно выяснилось, что уязвимость Intel Spoiler в разы ускоряет проведение атаки Rowhammer.


Новый вид атаки Rowhammer на оперативную память помог «украсть» 2048-битный RSA-ключ

Кстати, компания Oracle поспешила заявить, что серверы на процессорах SPARC и x86-совместимых не подвержены новому виду обнаруженной атаки Rowhammer. Дело в том, что память DDR4 с ECC имеет высокую степень защиты от Rowhammer, чего не скажешь о памяти DDR3 и младше. В любом случае, исследователи не рекомендуют покупать наиболее дешёвые модули памяти, которые слабо защищены от Rowhammer, а для желающих углубить знания о технологии и эксплоите RAMBleed создана специальная страничка.