«Чипокалипсис» продолжается: Найдены новые уязвимости класса Spectre

Безопасность
мобильная версия
, Текст: Елена Менькова / Фото: ru.depositphotos.com

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


Spectre выходит в сеть

Группа исследователей в области безопасности из Технологического университета Граца опубликовала описание нового метода эксплуатации уязвимостей класса Spectre, основанных на механизме спекулятивного исполнения. Как указывают авторы доклада, теперь для того, чтобы скомпрометировать данные, больше не нужно иметь физический доступ к компьютеру: новая уязвимость позволяет инициировать утечку из памяти удаленной машины без выполнения вредоносного кода. В отличие от ранее описанных атак этого класса, метод получивший название NetSpectre, не требует запуска каких-либо программ, а функционирует за счет манипуляции с пакетами данных, отправляемыми по сети.

По словам специалистов, злоумышленники могут использовать NetSpectre не только для удаленного доступа к данным, но и для обхода технологии ASLR (Address Space Layout Randomization, случайное распределение адресного пространства), которая позволяет случайным образом изменять расположение в адресном пространстве процесса важных структур.

И, хотя, в теории NetSpectre представляется чрезвычайно опасным, в действительности его потенциал ограничен довольно низкой скоростью извлечения данных. Исследователи смогли продемонстрировать утечку со скоростью от 15 до 60 бит/ч в зависимости от использованного канала. А при экспериментах в среде Google Cloud скорость извлечения данных оказалась еще ниже – всего 3 бита/ч.

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

Локальные угрозы не теряют актуальности

Нужно отметить, что это не первый подобный доклад, выпущенный за последнее время. Всего несколькими днями ранее было опубликовано исследование, в котором раскрываются подробности другой критической уязвимости в механизме спекулятивного выполнения инструкций. Эта брешь получила наименование SpectreRSB. Как указывают авторы публикации, группа исследователей из Калифорнийского университета в Риверсайде, в отличие от описанных ранее уязвимостей на базе Spectre, в данном случае атака проводится путем манипуляций с буфером возврата из стека (Return Stack Buffer, RSB). Этот компонент применяется для предсказания вероятного адреса возврата из процедуры. Результаты на некоторое время остаются в процессорном кэше и могут быть восстановлены.

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

Эксперты обнаруживают все новые уязвимости в работе современных процессоров

Также несколькими днями ранее было выпущено исследование, в котором раскрываются детали еще двух новых вариантов первоначальной уязвимости Spectre 1. Его обнародовали магистрант Лаборатории информатики и искусственного интеллекта Массачусетского технологического института Владимир Кирьянский и независимый эксперт по информационной безопасности Карл Вальдшпургер (Carl Waldspurger).

Как выяснили исследователи, уязвимость Spectre 1.1, получившая идентификационный номер CVE-2018-3693 («Bounds Check Bypass Store» или BCBS), предполагает выполнение спекулятивных операций записи, приводящих к переполнению буфера в кэше процессора. Это может быть использовано злоумышленниками для внедрения и исполнения произвольного кода с целью извлечения данных из ранее защищенных областей памяти, включая пароли, криптографические ключи и другую важную информацию. Intel оценила степень опасности этой уязвимости в 7,1 балла по шкале CVSS.

В свою очередь, уязвимость Spectre 1.2 позволяет перезаписывать указатели и данные в области памяти процессора, которые в нормальных условиях помечены флагами «только для чтения». Такие манипуляции могут позволить обойти защиту «песочниц».

За обнаружение этих Spectre-подобных уязвимостей Intel уже выплатила исследователям $100 тыс. из фонда своей программы bug bounty.

Потенциальная угроза

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

«Проявлений вредоносного ПО с использованием уязвимости Spectre до сих пор обнаружено не было, что говорит, о сложности эксплуатации уязвимости и оперативном участии компаний в разработке патчей. Компания Intel перестала выпускать новые исправления для своих старых процессоров еще в апреле 2018 года (поколения Penryn/QC, Bloomfield), чтобы сфокусировать усилия на текущих поколениях процессоров. Это также связано с тем, что недавно была обнаружена новая уязвимость под названием NetSpectre, которая позволят инициировать утечку данных из памяти, посредством изменения сетевых пакетов, но она также основана на использовании инструкций в Leak Gadget, – рассказал Вячеслав Гордеев, системный инженер Fortinet. – Для устранения таких уязвимостей нужно следить за выпуском актуальных обновлений не только для программного обеспечения и операционных систем (MS Windows, RedHat и др.), но для комплектующих рабочих станций, серверов и другого оборудования, подверженных уязвимости Spectre».

Напомним, информация об уязвимостях Spectre (CVE-2017-5753 и CVE-2017-5715) и Meltdown (СVE-2017-5754) начала появляться еще в самом начале 2018 г. Близкие по своим особенностям аппаратные уязвимости присутствовали не только процессоров Intel, но и AMD и ARM64, а процесс выхода патчей затянулся на месяцы.