The OpenNET Project / Index page

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

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

Группа исследователей из Амстердамского и Кипрского университетов разработала метод атаки, позволяющий удалённо эксплуатировать уязвимость 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
Тип: Проблемы безопасности
Ключевые слова: rowhammer, attack, memory
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Показать все | RSS
 
  • 1.1, IdeaFix, 00:57, 13/05/2018 [ответить] [смотреть все]    [к модератору]
  • +1 +/
    Ну-ну... wannacry для линукса, говорят, тоже завезли... а TPM можно "сломать" сточив крышку в жидком азоте :) Интересно, кто выписал грант на исследования ученым из Амстердама? Просто вариант беспроигрышный.... берем уязвимость минимум пятилетней давности, главное, чтобы без рабочего прототипа эксплоита и несколько лет осваиваем бабло... главное, хоть какой-то прототип показать в итоге.
     
     
  • 2.2, JL2001, 01:16, 13/05/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]
  • +/
    однако GLitch у них получился весьма милым и удобным к использованию... весь текст скрыт [показать] [показать ветку]
     
  • 2.6, VINRARUS, 04:06, 13/05/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +/
    Ты о zip --password cat proc sys kernel random uuid wannacry zip rm -r... весь текст скрыт [показать] [показать ветку]
     
  • 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 +/
    попытаться посмотреть, к примеру, панораму нужной улицы в яндексе, и очень удиви... весь текст скрыт [показать]
     
     
  • 4.21, Аноним, 20:03, 13/05/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    Для яндекса, так и быть, можно выставить кастом и разрешить ещё и webgl.
     
     
  • 5.22, JL2001, 20:44, 13/05/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    как тут шустрые парни уже применили firejail --no3d ваш_любимый_браузер_тут ... весь текст скрыт [показать]
     
     
  • 6.24, Аноним, 15:44, 14/05/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    У наха в маздайке это не сработает.
     
  • 4.23, Аноним, 06:38, 14/05/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Что с включеным что с выключеным webgl яндекс вообще не работает Фокс Алсо, гу... весь текст скрыт [показать]
     
  • 2.5, Crazy Alex, 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 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Постоянно пользуюсь чтобы изолировать браузеры и прочие месседжеры Некоторые че... весь текст скрыт [показать]
     
     
  • 5.26, Аноним, 16:20, 14/05/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    Мне тоже почему-то не нравятся 20 чуваков с бейсбольными битами в плохо освещенн... весь текст скрыт [показать]
     
  • 3.27, Аноним, 15:26, 15/05/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    к сабжу уже запилили вменяемый мануал давно интересуюсь, но год назад тыкал и н... весь текст скрыт [показать]
     
  • 1.7, Какаянахренразница, 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, 09:39, 13/05/2018 [ответить] [смотреть все]    [к модератору]  
  • +4 +/
    >Целью исследования была демонстрация того, что уязвимость значительно опаснее, чем предполагалось

    Ok

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

    Oook...

     

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


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