Главная » Хабрахабр » Обнаружен новый вариант атаки Spectre с возможностью удаленного получения данных по сети

Обнаружен новый вариант атаки Spectre с возможностью удаленного получения данных по сети

Ранее в этом году уже были показаны типы атак Spectre и Meltdown. Они позволяют атаковать жертву с минимальным использованием ресурсов. Специальным образом сформированный JavaScript может быть использован для выполнения атаки Spectre. Облачные сервисы, насколько можно было понять, находятся в безопасности — оба типа атак применимы лишь к проникновению на дискретные сетевые ресурсы.

Ее предоставили исследователи из Грацского технологического университета имени Карла и Франца. Сейчас появилась информация о новом типе атаки. Что касается новинки, то она получила название NetSpectre. В раскрытии нового типа атаки принимал участие и специалист по кибербезопасности Дэниэл Грасс, который обнаружил исходную атаку Meltdown. Каждый процессор характеризуется архитектурным и микроархитектурным поведением. Ее особенность в том, что злоумышленник может удаленно считать данные памяти без выполнения какого-либо кода на системе жертвы.
Стоит отметить, что все варианты атак Spectre имеют в своей основе один и тот же набор принципов. К примеру, в первом случае программа, которая загружает значение из определенной области памяти будет ожидать, пока адрес не станет известным, прежде, чем начать выполнение загрузки. Они могут различаться, но не разительно. Во втором случае процессор может попробовать угадать адрес для начала получения значения из памяти, причем еще до того, как станет известен точный адрес.

«Угадываемое» значение будет проигнорировано и сохранится архитектурно-определенное поведение. Если процессор допустит ошибку, то загрузка будет выполнена по-новой, на этот раз с правильным адресом. Такие нарушения могут быть обнаружены и идентифицированы вредоносной программой. Но ошибка затронет другие элементы, в частности, содержимое кеша. А вернее — как атака по сторонним (или побочным) каналам. Такой способ получения данных известен как сторонний канал.

NetSpectre основывается на этих хорошо известных принципах осуществления атаки, но разработчики привнесли и кое-что свое. Это вовсе не новый тип атаки, о них знали с 80-х годов прошлого века, а широко распространенными они стали после освещения Полом Кохером в 96-м году. В частности, атака позволяет инициировать утечку данных из памяти посредством манипуляции с сетевыми пакетами, которые отправляются по сети.

К примеру, для того, чтобы извлечь осевшие в кэше данные, исследователи предлагают модифицировать метод Evict+Reload. Для определения остаточных данных процессора эксперты, рассказавшие об атаке, предлагают использовать существующие фрагменты кода в приложениях либо ядре, которые активируются при появлении сетевых запросов определенного типа. Он основан на создании условий для вытеснения данных из кеша, а также обработки запросов, время выполнения которых позволяет судить о наличии данных в процессорном кеше.

В оптимальных условиях новый метод может определить 15-60 бит в час. Атаку можно было бы считать очень опасной, если бы не ее низкая производительность. Но оптимальными условия бывают очень редко, так что в обычных условиях скорость атаки минимальная — всего 1-3 байта за 3-8 часов атаки. В день — не больше 45-180 байт. Для проверки одного бита в этом случае требуется выполнить около 20 млн проверок.

Но на извлечение, к примеру, ключа AES потребуются целые дни. По мнению специалистов, со временем будут предложены новые методы, позволяющие повысить эффективность атаки. Такая атака блокируется методами защиты, которые эффективны против первого варианта уязвимости Spectre (CVE-2017-5753).

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

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

Как считают эксперты, фрагменты кода, о которых говорится выше, могут содержаться в любых сетевых приложениях. Для выполнения такой работы можно воспользоваться специализированной утилитой. При определенных условиях можно получить полный доступ к содержимому всей системной памяти. В том числе — коде http-серверов, SSH и других обработчиках сетевых пакетов.


Оставить комментарий

Ваш email нигде не будет показан
Обязательные для заполнения поля помечены *

*

x

Ещё Hi-Tech Интересное!

OpenSceneGraph: Групповые узлы, узлы трансформации и узлы-переключатели

Когда происходит рисование точки, линии или сложного полигона в трехмерном мире, финальный результат, в конечном итоге, будет изображен на плоском, двухмерном экране. Соответственно, трехмерные объекты проходят некий путь преобразования, превращаясь в набор пикселей, выводимых в двумерное окно. Идеологически и «чистые» ...

«Монстры в играх или 15 см достаточно для атаки»

Спасибо читателям за проявленный интерес, рад что материалы полезны. Представляю вам четвертую статью цикла.Сегодня я хотел бы разобрать такой важный элемент для любого монстра — дистанция атаки. Их существует всего три: ближняя средняя дальняя В первой части разберем типичные примеры ...