
Хотелось бы сказать, что атака NetSpectre не требует выполнения какого-либо кода на атакуемой системе (в отличие, например, от браузерной атаки на JavaScript), но это не совсем так. В контексте NetSpectre «кодом» оказывается рутинная работа с другими компьютерами по сети, которую атакующий напрямую не контролирует, но может на нее влиять. Впечатляет именно возможность удаленного детектирования микроскопической разницы между разными режимами работы процессора. Как в случае с другими исследованиями по Spectre, работа носит (пока) теоретический характер, а новая атака отличается невероятно медленной скоростью извлечения данных: единицы бит в минуту. Обзор новой атаки (человеческим языком) опубликован

До публикации исследования NetSpectre в качестве показательной удаленной атаки на механизм спекулятивного выполнения кода обычно
NetSpectre не требует от атакующего непосредственного выполнения кода на целевой системе. Вместо этого используется обычный обмен данных по сети, например загрузка файлов с атакуемого сервера и передача единичных сетевых пакетов. Исследователями была создана искусственная конструкция из уязвимого сервера (в одном из примеров это был компьютер с процессором Intel Core i5-6200U), в сетевом ПО которого присутствовали два гаджета. Под гаджетами подразумевается определенный механизм, реализующий определенные необходимые нам свойства, софтовая часть уязвимости. «Гаджет утечки» создавал условия для спекулятивного запроса секретных данных более-менее стандартным для Spectre-подобных атак путем:

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

Так вот, разумная точность атаки достигается при сотнях тысяч и миллионах измерений. В каждом из них нужно провести сложную операцию, которая включает, например, сброс кэш-памяти путем загрузки файла размером 590 килобайт. Кстати, при обработке данных не использовались алгоритмы машинного обучения: они, очевидно, помогут уменьшить количество измерений, необходимых для точной реконструкции данных. Когда атакующий и жертва находятся не в одной локальной сети, такие алгоритмы понадобятся, иначе один байт будет «передаваться» за 160 миллионов измерений (!) в течение 8 часов (3 часа с помощью метода AVX2).
Исследователи успешно провели атаку, используя компьютеры и ноутбуки на процессорах Intel, устройства на процессорах с ядром ARM Cortex A75, а также на платформе Google Cloud Platform (между двумя виртуальными машинами). Еще раз повторю, атака совершенно теоретическая. Для ее реализации в реальных условиях нужно найти соответствующие «гаджеты» в конкретной версии ПО (например, ядра Linux), установленной на конкретном сервере. Нужно обеспечить условия для взаимодействия с сервером, которые не всегда выполнимы. В частности, исследователи прямо указывают, что любое средство для защиты от DDoS-атак забанит атакующего практически моментально — из-за количества запросов и объема передаваемых данных. Даже модель процессора внутри линейки имеет значение: для использованного в работе Core i5 с тремя мегабайтами кэша будет работать, а для какого-то другого (с другим объемом кэша), возможно, нет.
Но все равно впечатляет! Это покруче каких-нибудь «лазерных» микрофонов, снимающих вибрации с окон в помещении. Дополнительных рисков NetSpectre не привносит: Intel прокомментировала работу в том ключе, что уже известные методы митигации Spectre работают и для сетевой инкарнации. Буду исходить из скорости разработки новых методов атаки — и предположу, что самые интересные способы кражи данных через открытую форточку еще впереди. Как бы они не обошлись в копеечку всем нам — в контексте вынужденного падения производительности и необходимости капитальных затрат со стороны вендоров.
Disclaimer: Мнения, изложенные в этом дайджесте, могут не всегда совпадать с официальной позицией «Лаборатории Касперского». Дорогая редакция вообще рекомендует относиться к любым мнениям со здоровым скептицизмом.