
Работа представляет интерес по многим причинам. Во-первых, это развитие известной атаки на железо, подтверждающее уязвимость вполне актуальных модулей памяти DDR4 (ранее тестировались модули DDR3). Во-вторых, авторы применили нестандартный метод, который можно условно назвать «Rowhammer со вкусом фаззинга», предполагающий атаку с помощью случайных паттернов. В-третьих, было показано, что существующие аппаратные средства защиты от такого рода атак не работают. Более того, даже память типа ECC затрудняет атаку, но не исключает ее полностью.
Атаки типа Rowhammer впервые были

Цветные ряды ячеек — целевые, черным цветом показаны ячейки, к которым у атакующего есть доступ. Классическая атака Rowhammer предполагает многократное чтение данных «рядом» с целевыми ячейками с одной или с двух сторон, либо читаются четыре ряда между атакуемыми областями памяти. Против такого метода позднее было придумано решение Target Row Refresh, принудительно обновляющее состояние ячеек и предотвращающее смену состояния. Авторы новой работы применили метод «неоднородных паттернов», когда происходит чтение не фиксированных рядов ячеек памяти, а случайных. Эксперименты исследователей показаны на изображении в начале поста: в верхней части используется фиксированный паттерн (например, шесть рядов ячеек рядом с атакуемыми), но внутри него случайным образом выбираются ячейки для «простукивания». В нижней части изображения показан пример полностью случайного поиска удачной комбинации из паттерна и атакующих ячеек памяти.
Всего было испытано 40 модулей оперативной памяти (производители модулей и отдельных микросхем не раскрываются), каждый из которых в течение 12 часов испытывался «Blacksmith-фаззером» в поисках наиболее удачного паттерна атаки. Для наиболее эффективного паттерна оценивалось как общее количество успешных изменений данных в ячейках памяти, так и теоретическая подверженность трем сценариям реальных атак: получение доступа к произвольной области памяти, кража ключа шифрования, эскалация привилегий в Linux. Результаты отличаются в зависимости от модуля памяти: где-то реальные атаки и вовсе заканчиваются провалом, где-то занимают много времени (до часа), а в ряде случаев успех достигается всего за несколько секунд. Демонстрация атаки показана на видео:
Выводы исследователей следующие: все 40 протестированных модулей так или иначе уязвимы. Это аппаратная уязвимость, которая полностью не чинится, и она будет актуальной еще много лет, даже если в новых модулях памяти применят средства защиты. «Серверная» память с коррекцией ECC затрудняет атаку, но не исключает ее полностью ввиду большого количества вызываемых сбоев. И наконец: все существующие методы «защиты» от Rowhammer не работают против фаззера. Последствия этой атаки похожи на таковые при эксплуатации других аппаратных уязвимостей, например Spectre и Meltdown. Риск их широкомасштабного применения достаточно низкий, но при дальнейших исследованиях могут появиться и более эффективные методы реального «взлома». В результате в опасности окажется большой парк уже выпущенных устройств — от смартфонов до серверов. Методы снижения риска при этом могут быть как аппаратные (в новых разработках), так и программные, защищающие в том числе и «легаси».
Что еще произошло
Эксперты «Лаборатории Касперского»
Из репозитория Python Package Index
Падение серверов компании Tesla 20 ноября
Специалисты GitHub
Серьезные уязвимости
Исследователи