Пример на скриншоте выше максимально коротко описывает уязвимость. На GitHub также выложен работающий Proof of Concept. При удачном стечении обстоятельств Zenbleed позволяет извлекать информацию, хранящуюся в регистрах процессора, надежно и быстро: до 30 килобайт в секунду на каждое ядро. Хотя PoC написан под Linux, эксплуатация уязвимости возможна в любой операционной системе.
В своей публикации Тавис Орманди объясняет суть уязвимости. Ключевой ошибкой оказалась особенность работы vzeroupper — инструкции, предназначенной для обнуления «верхней части» 256-битных векторных регистров YMM. Эти регистры появились в 2008 году вместе с расширенным набором инструкций AVX и с тех пор широко используются в процессорах x86-64. В качестве примера использования регистров YMM и инструкции vzeroupper Орманди приводит функцию strlen из библиотеки glibc. При спекулятивном выполнении инструкции и последующем откате регистр остается в «неопределенном» состоянии, что и открывает возможность чтения данных, которые записывают в регистровый файл другие процессы. Орманди, в частности, показал вариант, при котором вредоносная программа может перехватывать пароли и ключи шифрования других пользователей в системе.
Опасность Zenbleed в реальных условиях остается неизвестной. Специалисты из Cloudflare в своем обзоре допускают теоретическую возможность проведения атаки даже через браузер. Уязвимость в процессорах Zen 2 имеет общие черты с атаками класса Spectre: все они так или иначе полагаются на особенности спекулятивного выполнения инструкций, то есть фундаментальную фичу современных процессоров. Но есть важное отличие: в атаках Spectre секретные данные «вытаскиваются» по сторонним каналам, крайне медленно и с ошибками. Zenbleed позволяет считывать информацию из регистров напрямую и с высокой скоростью.
Отдельным интересным моментом является способ обнаружения уязвимости: Орманди нашел Zenbleed с помощью фаззинга. В своей публикации он обсуждает особенности применения данного метода для поиска аппаратных уязвимостей и предлагает способы организации подобного тестирования. Например, одновременный запуск одного и того же кода на двух разных процессорах. Если код при этом ведет себя по-разному, это может указывать на аномалию.
Что еще произошло:
Эксперты «Лаборатории Касперского» опубликовали отчет по эволюции таргетированных атак за второй квартал 2023 года.
Серьезная уязвимость (CVE-2023-30799, рейтинг CVSS 9,1 балла) закрыта в роутерах Mikrotik.
Команда Google Threat Analysis Group выпустила очередной отчет об уязвимостях zero-day (это проблемы, которые активно эксплуатируются на момент обнаружения) с данными за 2022 год. Всего за этот год была выявлена 41 уязвимость такого типа против рекордных 69 в 2021 году. 40% из этих уязвимостей являлись вариантами ранее обнаруженных проблем. Особое внимание эксперты уделили уязвимостям, которые к zero-day не относятся, но имеют похожие последствия из-за задержки в выпуске патча. В качестве примера исследователи приводят уязвимости в Android. Например, одна проблема была найдена в ноябре 2022 года, а закрыта только в апреле 2023-го. В промежутке между этими датами уязвимость использовалась в реальных атаках.
Apple в конце этого года начнет требовать у разработчиков объяснения при использовании определенных API. Целью этого нововведения является ограничение возможностей идентификации пользователя по уникальному набору характеристик его устройства, установленного ПО и подобного.
ссылка на оригинал статьи https://habr.com/ru/companies/kaspersky/articles/751564/
Добавить комментарий