Чипы памяти DDR4 остаются уязвимы для атак RowHammer,не смотря на добавленную защиту
15.03.20
Группа исследователей из Амстердамского свободного университета, Швейцарской высшей технической школы Цюриха и компании Qualcomm провели исследование эффективности применяемой в современных чипах памяти DDR4 защиты от атак класса RowHammer, позволяющих изменить содержимое отдельных битов динамической оперативной памяти (DRAM). Результаты оказались неутешительными и чипы DDR4 основных производителей по-прежнему остаются уязвимы (CVE-2020-10255).
Уязвимость RowHammer позволяет исказить содержимое отдельных битов памяти путём цикличного чтения данных из соседних ячеек памяти. Так как память DRAM представляет собой двухмерный массив ячеек, каждая из которых состоит из конденсатора и транзистора, выполнение непрерывного чтения одной и той же области памяти приводит к флуктуации напряжения и аномалиям, вызывающим небольшую потерю заряда соседних ячеек. Если интенсивность чтения достаточно большая, то ячейка может потерять достаточно большой объём заряда и очередной цикл регенерации не успеет восстановить её первоначальное состояние, что приведёт к изменению значения сохранённых в ячейке данных.
Для блокирования подобного эффекта в современных чипах DDR4 применяется технология TRR (Target Row Refresh), предназначенная для предотвращения искажения ячеек при проведении атаки RowHammer. Проблема в том, что нет единого подхода к реализации TRR и каждый производитель CPU и памяти трактует TRR по своему, применяет собственные варианты защиты и не раскрывает детали реализации. Изучение применяемых производителями методов блокирования RowHammer позволило легко найти пути обхода защиты. При проверке оказалось, что практикуемый производителями принцип "безопасность через неясность (security by obscurity) при реализации TRR помогает лишь для защиты в частных случаях, охватывающих типовые атаки, манипулирующие изменением заряда ячеек в одной иди двух соседних строках.
Разработанная исследователями утилита позволяет проверить подверженность чипов многосторонним вариантам атаки RowHammer, в которых попытка влияния на заряд производится сразу для нескольких строк ячеек памяти. Подобные атаки позволяют обойти реализованную некоторыми производителями защиту TRR и приводят к искажению битов памяти даже на новом оборудовании с памятью DDR4. Из 42 изученных DIMM-модулей 13 модулей оказались уязвимы для нестандартных вариантов проведения атаки RowHammer, несмотря на заявленную защиту. Проблемные модули выпущены производителями SK Hynix, Micron и Samsung, продукция которых охватывает 95% рынка DRAM.
Кроме DDR4, были изучены и применяемые в мобильных устойствах чипы LPDDR4, которые также оказались чувствительны для расширенных вариантов атаки RowHammer. В частности, проблеме оказалась подвержена память, применяемая в смартфонах Google Pixel, Google Pixel 3, LG G7, OnePlus 7 и Samsung Galaxy S10.
Исследователи смогли воспроизвести на проблемных чипах DDR4 несколько техник эксплуатации. Например, применение RowHammer-эксплоита для PTE (Page Table Entries) потребовало для получения привилегии ядра проведения атаки в течение от 2.3 секунд до трёх часов пятнадцати секунд, в зависимости от тестируемых чипов. Атака по повреждению хранящегося в памяти открытого ключа RSA-2048 заняла от 74.6 секунд до 39 минут 28 секунд. Атака на обход проверки полномочий через модификацию памяти процесса sudo заняла 54 минуты 16 секунд.
Для проверки применяемых пользователями чипов памяти DDR4 опубликована утилита TRRespass. Для успешного проведения атаки требуется информация о применяемой в контроллере памяти раскладке физических адресов в привязке к банкам и строкам ячеек памяти. Для определения раскладки дополнительно разработана утилита drama, требующая запуска с правами root. В ближайшее время также планируется опубликовать приложение для тестирования памяти смартфонов.
Компании Intel и AMD посоветовали для защиты использовать память с коррекцией ошибок (ECC), контроллеры памяти с поддержкой Maximum Activate Count (MAC) и применять повышенную частоту регенерации. Исследователи же полагают, что для уже выпущенных чипов отсутствует решение для гарантированной защиты от Rowhammer, а применение ECC и увеличение частоты регенерации памяти оказались неэффективны. Например, ранее уже был предложен способ атаки на DRAM-память в обход защиты ECC, а также показана возможность совершения атаки на DRAM через локальную сеть, из гостевой системы и при помощи запуска JavaScript в браузере.
OpenNet
15.03.20
Группа исследователей из Амстердамского свободного университета, Швейцарской высшей технической школы Цюриха и компании Qualcomm провели исследование эффективности применяемой в современных чипах памяти DDR4 защиты от атак класса RowHammer, позволяющих изменить содержимое отдельных битов динамической оперативной памяти (DRAM). Результаты оказались неутешительными и чипы DDR4 основных производителей по-прежнему остаются уязвимы (CVE-2020-10255).
Для блокирования подобного эффекта в современных чипах DDR4 применяется технология TRR (Target Row Refresh), предназначенная для предотвращения искажения ячеек при проведении атаки RowHammer. Проблема в том, что нет единого подхода к реализации TRR и каждый производитель CPU и памяти трактует TRR по своему, применяет собственные варианты защиты и не раскрывает детали реализации. Изучение применяемых производителями методов блокирования RowHammer позволило легко найти пути обхода защиты. При проверке оказалось, что практикуемый производителями принцип "безопасность через неясность (security by obscurity) при реализации TRR помогает лишь для защиты в частных случаях, охватывающих типовые атаки, манипулирующие изменением заряда ячеек в одной иди двух соседних строках.
Разработанная исследователями утилита позволяет проверить подверженность чипов многосторонним вариантам атаки RowHammer, в которых попытка влияния на заряд производится сразу для нескольких строк ячеек памяти. Подобные атаки позволяют обойти реализованную некоторыми производителями защиту TRR и приводят к искажению битов памяти даже на новом оборудовании с памятью DDR4. Из 42 изученных DIMM-модулей 13 модулей оказались уязвимы для нестандартных вариантов проведения атаки RowHammer, несмотря на заявленную защиту. Проблемные модули выпущены производителями SK Hynix, Micron и Samsung, продукция которых охватывает 95% рынка DRAM.
Кроме DDR4, были изучены и применяемые в мобильных устойствах чипы LPDDR4, которые также оказались чувствительны для расширенных вариантов атаки RowHammer. В частности, проблеме оказалась подвержена память, применяемая в смартфонах Google Pixel, Google Pixel 3, LG G7, OnePlus 7 и Samsung Galaxy S10.
Исследователи смогли воспроизвести на проблемных чипах DDR4 несколько техник эксплуатации. Например, применение RowHammer-эксплоита для PTE (Page Table Entries) потребовало для получения привилегии ядра проведения атаки в течение от 2.3 секунд до трёх часов пятнадцати секунд, в зависимости от тестируемых чипов. Атака по повреждению хранящегося в памяти открытого ключа RSA-2048 заняла от 74.6 секунд до 39 минут 28 секунд. Атака на обход проверки полномочий через модификацию памяти процесса sudo заняла 54 минуты 16 секунд.
Для проверки применяемых пользователями чипов памяти DDR4 опубликована утилита TRRespass. Для успешного проведения атаки требуется информация о применяемой в контроллере памяти раскладке физических адресов в привязке к банкам и строкам ячеек памяти. Для определения раскладки дополнительно разработана утилита drama, требующая запуска с правами root. В ближайшее время также планируется опубликовать приложение для тестирования памяти смартфонов.
Компании Intel и AMD посоветовали для защиты использовать память с коррекцией ошибок (ECC), контроллеры памяти с поддержкой Maximum Activate Count (MAC) и применять повышенную частоту регенерации. Исследователи же полагают, что для уже выпущенных чипов отсутствует решение для гарантированной защиты от Rowhammer, а применение ECC и увеличение частоты регенерации памяти оказались неэффективны. Например, ранее уже был предложен способ атаки на DRAM-память в обход защиты ECC, а также показана возможность совершения атаки на DRAM через локальную сеть, из гостевой системы и при помощи запуска JavaScript в браузере.
OpenNet