The OpenNET Project / Index page

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



Индекс форумов
Составление сообщения

Исходное сообщение
"Атака NetSpectre, приводящая к утечке содержимого памяти по ..."
Отправлено opennews, 27-Июл-18 11:49 
Группа исследователей из Грацского технического университета (Германия), ранее известная разработкой
метода (https://www.opennet.ru/opennews/art.shtml?num=48591) эксплуатация уязвимости в DRAM-памяти через локальную сеть, опубликовала (https://misc0110.net/web/files/netspectre.pdf) описание новой атаки NetSpectre, позволяющей инициировать утечку данных из памяти через манипуляцию с сетевыми пакетами, отправляемыми по  сети.


Опасность атаки сглаживается её низкой производительностью - в оптимальных условиях предложенный метод позволяет определить 15-60 бит данных в час или 45-180 байт в день. В реальных условиях скорость значительно ниже, например, тестовая атака на окружение в Google Cloud позволила извлечь лишь 1-3 байт за 3-8 часов атаки (потребовалось выполнить около 20 млн проверок для определения одного бита). Ожидается, что со временем будут предложены методы, повышающие эффективность атаки, но в любом случае на извлечение ключа AES потребуются дни. По заявлению компании Intel атака блокируется методами защиты, предложенными (https://software.intel.com/sites/default/files/managed/c5/63...) для первого варианта уязвимости Spectre (CVE-2017-5753).


Метод атаки основывается на наличии в коде типовых программ и ядра  фрагментов кода (гаджетов), приводящих к спекулятивному обращению к областям памяти ("leak gadget") и раскрытию информации  ("transmit gadget") по сети.  Например, во многих приложениях встречаются конструкции вида (важно само обращение к bitstream[x] после проверки границ):

   if (x

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


Для определения остаточных данных также предлагается использовать существующие фрагменты кода в приложениях и ядре ("transmit gadget"), которые активируются при поступлении определённых видов сетевых запросов. Например, для извлечения осевших в кэше данных исследователями предложена модификация метода Evict+Reload (https://cryptologie.net/article/367/ches-2016-tutorial-part-.../), основанного на создании условий для вытеснения данных из кэша (например, создаётся сетевая активность равномерно заполняющая кэш типовым содержимым) и обработки запросов, время выполнения которых позволяет судить о наличии данных в процессорном кэше.  Скорость проведения подобной атаки по сети не превышает 15 бит в час.

Для повышения производительности до 60 бит в час исследователи предложили использовать гаджеты с инструкциями AVX2 в качестве дополнительного канала утечки информации. Метод основан на особенностях перевода блока AVX2 в режим энергосбережения. В случае неактивного использования AVX2 предусмотрен режим экономии энергии, при котором блок AVX2 продолжает работать, но снижается его производительность. В случае неактивности AVX2 в течение 1 мс процессор полностью отключает блок AVX2, что приводит к появлению заметной задержки при выполнении следующей операции.


При использовании инструкций AVX2 в гаджете спекулятивного выполнения (leak gadget) и в гаджете передачи сведений (transmit gadget) можно определить факт спекулятивного выполнения кода на основании исчезновения задержки на пробуждение блока AVX2. Указанная особенность позволяет существенно сократить число проверок для определения каждого бита информации, например, для восстановления одного байта через кэш при атаке в локальной сети требуется как миниум 30 минут, а при использовании утечки на базе AVX2 время определения можно снизить до 8 минут.


  if (x

Для поиска подобных гаджетов в коде ядра, библиотек и приложений можно использовать специальную утилиту (https://access.redhat.com/blogs/766093/posts/3510331). Потенциально упомянутые фрагменты кода могут встречаться в любых сетевых приложениях, в том числе в коде http-серверов, SSH и других обработчиках сетевых пакетов. При эксплуатации гаджетов в ядре можно получить полный доступ к содержимому всей системной памяти. Тем не менее, атаку усложняет то, что из-за очень низкой скорости извлечения информации для успешного получения закрытых данных, таких как ключи шифрования, нужно точно знать их расположение в памяти (при обычном переборе на извлечение 1 Мб данных потребуется 15 лет). В качестве более реалистичного применения атаки называется определение адреса, позволяющего судить о раскладке памяти при использовании ASLR (address space layout randomization) - определение адреса занимает около двух часов.


URL: https://arstechnica.com/gadgets/2018/07/new-spectre-attack-e.../
Новость: https://www.opennet.ru/opennews/art.shtml?num=49032

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



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

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