The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Эксплуатация уязвимости в DRAM-памяти через локальную сеть

12.05.2018 23:21

Группа исследователей из Амстердамского и Кипрского университетов разработала метод атаки, позволяющий удалённо эксплуатировать уязвимость RowHammer в чипах памяти DRAM и добиться изменения содержимого отдельных битов в ОЗУ через манипуляцию с сетевыми пакетами, отправляемыми на целевую систему по локальной сети. Проблема RowHammer была выявлена в 2012 году, но до сих пор остаётся актуальной в виду трудности устранения уязвимости на аппаратном уровне. Вариант атаки с использованием сетевых адаптеров получил название "Throwhammer".

Целью исследования была демонстрация того, что уязвимость значительно опаснее, чем предполагалось, и уязвимые системы с высокоскоростным сетевым адаптером могут быть атакованы удалённо через отправку специально оформленного потока сетевых пакетов. Возможность применения метода продемонстрирована для организации выполнения кода в контексте работающего на удалённой системе сервера Memcached. Предложенный метод применим в высокоскоростных сетях с поддержкой удалённого прямого доступа к памяти (RDMA), которые получили распространение в облачных инфраструктурах и центрах обработки данных.

Несмотря на то, что практическая демонстрация метода воплощена в сети с поддержкой RDMA, исследователи не исключают, что возможна реализация атаки и без RDMA, так как сетевые адаптеры обеспечивают высокую интенсивность обращений к оперативной памяти, достаточную для проявления RowHammer. При этом, атака представляет больше теоретический интерес, чем реальную угрозу, так как требует выполнения достаточно большого набора условий и совпадения многих факторов, которые малодостижимы на реальных рабочих системах.

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

Напомним, что уязвимость RowHammer позволяет исказить содержимое отдельных битов памяти путём цикличного чтения данных из соседних ячеек памяти. Так как память DRAM представляет собой двухмерный массив ячеек, каждая из которых состоит из конденсатора и транзистора, выполнение непрерывного чтения одной и той же области памяти приводит к флуктуации напряжения и аномалиям, вызывающим небольшую потерю заряда соседних ячеек. Если интенсивность чтения достаточно большая, то ячейка может потерять достаточно большой объём заряда и очередной цикл регенерации не успеет восстановить его первоначальное состояние, что приведёт к изменению значения сохранённых в ячейке данных.

Вариант атаки по сети (Throwhammer) базируется на том, что сетевые карты достаточно активно кэшируют и сохраняют принимаемые данные в ОЗУ и скорости обработки пакетов в сетях с пропускной способностью 10 Gbps достаточно, чтобы создать нагрузку на память, необходимую для проявления уязвимости RowHammer. В ходе проведённого эксперимента искажение бита было достигнуто после генерации 560 тысяч обращений к памяти в течение 64 мс. Для создания такой активности достаточно отправки 9 млн пакетов в секунду, что вполне по силам любой современной сетевой карте с поддержкой RDMA.

Дополнительно можно отметить публикацию той же группой исследователей из Амстердамского университета усовершенствованного метода эксплуатации уязвимости RowHammer через web-браузер, получившего название GLitch. Если классический вариант атаки при помощи JavaScript в современных браузерах малоприменим из-за внесенных ограничений точности таймера, то новый метод обходит данные ограничения используя WebGL и GPU для формирования необходимой для проявления RowHammer активности.

Точности таймера, предоставляемого в WebGL, оказалось достаточно для определения разницы между прямым и прокэшированным обращением к DRAM, что позволяет использовать WebGL для организации атаки по сторонним каналам для определения непрерывных областей физической памяти. Далее, полученная информация о раскладке памяти используется для проведения целевой атаки RowHammer с использованием GPU. GPU задействован вместо CPU так как он представляет упрощённую систему кэширования, содержит кэш меньшего размера и снабжён более простыми механизмами защиты, которые легче обойти.

Атака с использованием GPU ограничивается устройствами в которых CPU и GPU совместно используют одну память, как правило, такое встречатется в смартфонах и планшетных ПК. В частности, демонстрация атаки GLitch подготовлена для Chrome и Firefox, запущенных на смартфоне Google Nexus 5 (прототип эксплоита действует для SoC Snapdragon 800/801) под управлением Android. Для проведения демонстрационной атаки потребовалось около 2 минут после открытия в браузере страницы с эксплоитом на JavaScript. Для защиты от использования WebGL для проведения атаки в Chrome 65 и Firefox 60 отключено по умолчанию WebGL-расширение EXT_DISJOIN_TIMER_QUERY, позволявшее формировать запросы к таймеру в обход штатных средств JavaScript.

Дополнение: другая группа исследователей из Грацского технического университета (Германия) опубликовала другой вариант проводимой по сети атаки с использовании уязвимости RowHammer в чипах памяти DRAM. Атака получила название Nethammer и не зависит от поддержки RDMA. Принцип атаки в общих чертах аналогичен методу Throwhammer и заключается в генерации огромного потока типовых мелких UDP-пакетов, которые не оседают в кэше и при обработке приводят к перезаписи одной области памяти.

  1. Главная ссылка к новости (https://arstechnica.com/inform...)
  2. OpenNews: Уязвимость в NAND Flash может привести к повреждению чужих данных на SSD-накопителях
  3. OpenNews: Представлен метод скрытого изменения памяти чужих виртуальных машин
  4. OpenNews: Разработан метод атаки на уязвимость в DRAM-памяти с использованием JavaScript
  5. OpenNews: Продемонстрировано использование уязвимости в DRAM-памяти для повышения привилегий в системе
  6. OpenNews: Содержимое ячеек DRAM может быть повреждено в результате цикличного чтения
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/48591-rowhammer
Ключевые слова: rowhammer, attack, memory
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (22) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, IdeaFix (ok), 00:57, 13/05/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Ну-ну... wannacry для линукса, говорят, тоже завезли... а TPM можно "сломать" сточив крышку в жидком азоте :) Интересно, кто выписал грант на исследования ученым из Амстердама? Просто вариант беспроигрышный.... берем уязвимость минимум пятилетней давности, главное, чтобы без рабочего прототипа эксплоита и несколько лет осваиваем бабло... главное, хоть какой-то прототип показать в итоге.
     
     
  • 2.2, JL2001 (ok), 01:16, 13/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну-ну... wannacry для линукса, говорят, тоже завезли... а TPM можно "сломать" сточив
    > крышку в жидком азоте :) Интересно, кто выписал грант на исследования
    > ученым из Амстердама? Просто вариант беспроигрышный.... берем уязвимость минимум пятилетней
    > давности, главное, чтобы без рабочего прототипа эксплоита и несколько лет осваиваем
    > бабло... главное, хоть какой-то прототип показать в итоге.

    однако GLitch у них получился весьма милым и удобным к использованию

     
  • 2.6, VINRARUS (ok), 04:06, 13/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >wannacry для линукса, говорят, тоже завезли...

    Ты о
    zip --password 'cat /proc/sys/kernel/random/uuid' ./wannacry.zip ./*; rm -rf 'ls ./ | sed '/wannacry.zip/d''
    ?

     

  • 1.3, Аноним (-), 01:29, 13/05/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    WebGL — бессмысленно и беспощадно.
     
     
  • 2.4, Аноним (-), 02:15, 13/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    noscript -> снять галочку с webgl в trusted
     
     
  • 3.17, нах (?), 13:07, 13/05/2018 [^] [^^] [^^^] [ответить]  
  • –2 +/
    попытаться посмотреть, к примеру, панораму нужной улицы в яндексе, и очень удивиться.

    (и да, флэш по крайней мере легко и удобно включался для конкретной страницы, когда был нужен. Но вы ж его подeбили... жрите результаты.)

     
     
  • 4.21, Аноним (-), 20:03, 13/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Для яндекса, так и быть, можно выставить кастом и разрешить ещё и webgl.
     
     
  • 5.22, JL2001 (ok), 20:44, 13/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Для яндекса, так и быть, можно выставить кастом и разрешить ещё и webgl.

    как? тут шустрые парни уже применили
    firejail --no3d <ваш_любимый_браузер_тут>

     
     
  • 6.24, Аноним (-), 15:44, 14/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    У наха в маздайке это не сработает.
     
  • 4.23, Аноним (-), 06:38, 14/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > попытаться посмотреть, к примеру, панораму нужной улицы в яндексе, и очень удивиться.

    Что с включеным что с выключеным webgl яндекс вообще не работает. Фокс. Алсо, гугл работает нормально и просмотр улиц работает с выключеным webgl. Что-то яндекс делает не так.


     
  • 2.5, Crazy Alex (ok), 03:44, 13/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Веб со скриптами - это вообще бессмысленно и беспощадно
     
  • 2.8, Аноним (-), 05:45, 13/05/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    firejail --no3d <ваш_любимый_браузер_тут>

    WebGL fail to start.

     
     
  • 3.18, 1244444566 (?), 13:16, 13/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    со времен когда пользовался parrot им не пользовался, а там он из коробки и все удобно ;) в принципе и в других его поставить можно, но необходимости не наблюдаю, мало того, я вообще до этого поста о нем позабыл совсем.
     
     
  • 4.20, Аноним (-), 16:16, 13/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Постоянно пользуюсь чтобы изолировать браузеры и прочие месседжеры. Некоторые челены семьи предпочитают скуп и все попытки их перетянуть на что-нибудь более практичное ни к чему не привели. Приходится изолировать его, мне не нравится когда по домашней директории лазят неизвестные бинарники. Возможно я просто параноик.

    Кстати говоря старые версии файрфокса с --no3d работают куда быстрее, причём опция так же была отключена в about:config но к желаемому эффекту не привела.

     
     
  • 5.26, Аноним (-), 16:20, 14/05/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > ни к чему не привели. Приходится изолировать его, мне не нравится
    > когда по домашней директории лазят неизвестные бинарники. Возможно я просто параноик.

    Мне тоже почему-то не нравятся 20 чуваков с бейсбольными битами в плохо освещенной подворотне. Хотя, возможно, это бейсбольная команда возвращается с матча, а я просто параноик.

     
  • 3.27, Аноним (-), 15:26, 15/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    к сабжу уже запилили вменяемый мануал? давно интересуюсь, но год назад тыкал и ниасилил
     

  • 1.7, Какаянахренразница (ok), 05:44, 13/05/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Да что же это творится-то такое?! Как жить на этой планете...
     
  • 1.9, Аноним (-), 07:17, 13/05/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Нам нужен новые интернет, без webgl и drm.
     
     
  • 2.16, Андрей (??), 12:16, 13/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Вообще-то всё проще: нам нужен LibreJS!
    Как раз в соседней новости: "Выпуск GNU LibreJS 7.14, дополнения для блокирования несвободного JavaScript в Firefox" https://www.opennet.ru/opennews/art.shtml?num=48587
     
     
  • 3.19, 1244444566 (?), 13:17, 13/05/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    да не нужен он, при его включении опеннет отображает не шрифты а кракозямбры какие то зашифрованные. но это уже к опеннету и его "открытости" вопросы.
     
     
  • 4.25, Аноним (-), 16:16, 14/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > да не нужен он, при его включении опеннет отображает не шрифты а
    > кракозямбры какие то зашифрованные. но это уже к опеннету и его
    > "открытости" вопросы.

    Ты его что, в интернет эксплорер чтоли инсталлировал?

     

  • 1.15, A.Stahl (ok), 09:39, 13/05/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    >Целью исследования была демонстрация того, что уязвимость значительно опаснее, чем предполагалось

    Ok

    > атака представляет больше теоретический интерес, чем реальную угрозу, так как требует выполнения достаточно большого набора условий и совпадения многих факторов, которые малодостижимы на реальных рабочих системах.

    Oook...

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру