На прошлой неделе исследователи из Высшей технической школы в Швейцарии (ETH Zurich) опубликовали работу (пост в блоге команды, сама работа, исходники на GitHub), описывающую новый метод атаки типа Rowhammer на модули памяти стандарта DDR4. Атака получила название Blacksmith и идентификатор CVE-2021-42114.
Работа представляет интерес по многим причинам. Во-первых, это развитие известной атаки на железо, подтверждающее уязвимость вполне актуальных модулей памяти DDR4 (ранее тестировались модули DDR3). Во-вторых, авторы применили нестандартный метод, который можно условно назвать «Rowhammer со вкусом фаззинга», предполагающий атаку с помощью случайных паттернов. В-третьих, было показано, что существующие аппаратные средства защиты от такого рода атак не работают. Более того, даже память типа ECC затрудняет атаку, но не исключает ее полностью.
Атаки типа Rowhammer впервые были подробно описаны в 2014 году. Тогда исследователи из университета Carnegie Mellon и компании Intel показали, что многократные операции чтения определенной области памяти могут менять состояние соседних ячеек, к которым у атакующего изначально не было доступа. Позднее были предложены практические методы использования такой атаки — например, для обеспечения неограниченного доступа ко всем данным, находящимся в оперативной памяти. В исходной работе применялся метод равномерного чтения соседних с «целевыми» ячеек памяти, как показано ниже:
Цветные ряды ячеек — целевые, черным цветом показаны ячейки, к которым у атакующего есть доступ. Классическая атака Rowhammer предполагает многократное чтение данных «рядом» с целевыми ячейками с одной или с двух сторон, либо читаются четыре ряда между атакуемыми областями памяти. Против такого метода позднее было придумано решение Target Row Refresh, принудительно обновляющее состояние ячеек и предотвращающее смену состояния. Авторы новой работы применили метод «неоднородных паттернов», когда происходит чтение не фиксированных рядов ячеек памяти, а случайных. Эксперименты исследователей показаны на изображении в начале поста: в верхней части используется фиксированный паттерн (например, шесть рядов ячеек рядом с атакуемыми), но внутри него случайным образом выбираются ячейки для «простукивания». В нижней части изображения показан пример полностью случайного поиска удачной комбинации из паттерна и атакующих ячеек памяти.
Всего было испытано 40 модулей оперативной памяти (производители модулей и отдельных микросхем не раскрываются), каждый из которых в течение 12 часов испытывался «Blacksmith-фаззером» в поисках наиболее удачного паттерна атаки. Для наиболее эффективного паттерна оценивалось как общее количество успешных изменений данных в ячейках памяти, так и теоретическая подверженность трем сценариям реальных атак: получение доступа к произвольной области памяти, кража ключа шифрования, эскалация привилегий в Linux. Результаты отличаются в зависимости от модуля памяти: где-то реальные атаки и вовсе заканчиваются провалом, где-то занимают много времени (до часа), а в ряде случаев успех достигается всего за несколько секунд. Демонстрация атаки показана на видео:
Выводы исследователей следующие: все 40 протестированных модулей так или иначе уязвимы. Это аппаратная уязвимость, которая полностью не чинится, и она будет актуальной еще много лет, даже если в новых модулях памяти применят средства защиты. «Серверная» память с коррекцией ECC затрудняет атаку, но не исключает ее полностью ввиду большого количества вызываемых сбоев. И наконец: все существующие методы «защиты» от Rowhammer не работают против фаззера. Последствия этой атаки похожи на таковые при эксплуатации других аппаратных уязвимостей, например Spectre и Meltdown. Риск их широкомасштабного применения достаточно низкий, но при дальнейших исследованиях могут появиться и более эффективные методы реального «взлома». В результате в опасности окажется большой парк уже выпущенных устройств — от смартфонов до серверов. Методы снижения риска при этом могут быть как аппаратные (в новых разработках), так и программные, защищающие в том числе и «легаси».
Эксперты «Лаборатории Касперского» опубликовали прогноз по развитию сложных таргетированных атак на 2022 год.
Из репозитория Python Package Index удалены 11 пакетов, крадущих токены от чат-сервера Discord.
Падение серверов компании Tesla 20 ноября привело к тому, что часть владельцев электроавтомобилей не смогли открыть их привычным путем — через приложение на телефоне.
Специалисты GitHub усиливают защиту выложенных на сервисе пакетов NPM после обнаружения двух уязвимостей. Одна из них позволяла публиковать обновленные пакеты без авторизации (звучит страшно, но, по словам экспертов Github, проблема не эксплуатировалось злоумышленниками).
Серьезные уязвимости обнаружены в пользовательских и SOHO-роутерах Netgear, включая возможность выполнения произвольного кода без авторизации.
Исследователи нашли «поддельные ransomware», атакующие сайты на базе Wordpress. На самом деле уязвимость в одном из плагинов использовалась для публикации требования о выкупе, данные при этом не были зашифрованы.
Работа представляет интерес по многим причинам. Во-первых, это развитие известной атаки на железо, подтверждающее уязвимость вполне актуальных модулей памяти DDR4 (ранее тестировались модули DDR3). Во-вторых, авторы применили нестандартный метод, который можно условно назвать «Rowhammer со вкусом фаззинга», предполагающий атаку с помощью случайных паттернов. В-третьих, было показано, что существующие аппаратные средства защиты от такого рода атак не работают. Более того, даже память типа ECC затрудняет атаку, но не исключает ее полностью.
Атаки типа Rowhammer впервые были подробно описаны в 2014 году. Тогда исследователи из университета Carnegie Mellon и компании Intel показали, что многократные операции чтения определенной области памяти могут менять состояние соседних ячеек, к которым у атакующего изначально не было доступа. Позднее были предложены практические методы использования такой атаки — например, для обеспечения неограниченного доступа ко всем данным, находящимся в оперативной памяти. В исходной работе применялся метод равномерного чтения соседних с «целевыми» ячеек памяти, как показано ниже:
Цветные ряды ячеек — целевые, черным цветом показаны ячейки, к которым у атакующего есть доступ. Классическая атака Rowhammer предполагает многократное чтение данных «рядом» с целевыми ячейками с одной или с двух сторон, либо читаются четыре ряда между атакуемыми областями памяти. Против такого метода позднее было придумано решение Target Row Refresh, принудительно обновляющее состояние ячеек и предотвращающее смену состояния. Авторы новой работы применили метод «неоднородных паттернов», когда происходит чтение не фиксированных рядов ячеек памяти, а случайных. Эксперименты исследователей показаны на изображении в начале поста: в верхней части используется фиксированный паттерн (например, шесть рядов ячеек рядом с атакуемыми), но внутри него случайным образом выбираются ячейки для «простукивания». В нижней части изображения показан пример полностью случайного поиска удачной комбинации из паттерна и атакующих ячеек памяти.
Всего было испытано 40 модулей оперативной памяти (производители модулей и отдельных микросхем не раскрываются), каждый из которых в течение 12 часов испытывался «Blacksmith-фаззером» в поисках наиболее удачного паттерна атаки. Для наиболее эффективного паттерна оценивалось как общее количество успешных изменений данных в ячейках памяти, так и теоретическая подверженность трем сценариям реальных атак: получение доступа к произвольной области памяти, кража ключа шифрования, эскалация привилегий в Linux. Результаты отличаются в зависимости от модуля памяти: где-то реальные атаки и вовсе заканчиваются провалом, где-то занимают много времени (до часа), а в ряде случаев успех достигается всего за несколько секунд. Демонстрация атаки показана на видео:
Выводы исследователей следующие: все 40 протестированных модулей так или иначе уязвимы. Это аппаратная уязвимость, которая полностью не чинится, и она будет актуальной еще много лет, даже если в новых модулях памяти применят средства защиты. «Серверная» память с коррекцией ECC затрудняет атаку, но не исключает ее полностью ввиду большого количества вызываемых сбоев. И наконец: все существующие методы «защиты» от Rowhammer не работают против фаззера. Последствия этой атаки похожи на таковые при эксплуатации других аппаратных уязвимостей, например Spectre и Meltdown. Риск их широкомасштабного применения достаточно низкий, но при дальнейших исследованиях могут появиться и более эффективные методы реального «взлома». В результате в опасности окажется большой парк уже выпущенных устройств — от смартфонов до серверов. Методы снижения риска при этом могут быть как аппаратные (в новых разработках), так и программные, защищающие в том числе и «легаси».
Что еще произошло
Эксперты «Лаборатории Касперского» опубликовали прогноз по развитию сложных таргетированных атак на 2022 год.
Из репозитория Python Package Index удалены 11 пакетов, крадущих токены от чат-сервера Discord.
Падение серверов компании Tesla 20 ноября привело к тому, что часть владельцев электроавтомобилей не смогли открыть их привычным путем — через приложение на телефоне.
Специалисты GitHub усиливают защиту выложенных на сервисе пакетов NPM после обнаружения двух уязвимостей. Одна из них позволяла публиковать обновленные пакеты без авторизации (звучит страшно, но, по словам экспертов Github, проблема не эксплуатировалось злоумышленниками).
Серьезные уязвимости обнаружены в пользовательских и SOHO-роутерах Netgear, включая возможность выполнения произвольного кода без авторизации.
Исследователи нашли «поддельные ransomware», атакующие сайты на базе Wordpress. На самом деле уязвимость в одном из плагинов использовалась для публикации требования о выкупе, данные при этом не были зашифрованы.
rrust
мне совсем не нравится такая фича, что чтением по определенному паттерну вообще возможно менять данные.
kovserg
Не нравиться это не верное слово.
WTF — лучше описывает происходящее.