В конце апреля исследователи из университетов США и Китая опубликовали научную работу, в которой описывается свежая аппаратная уязвимость в процессорах Intel. Новая проблема достаточно специфическая, и пока ее нельзя эксплуатировать отдельно — только в комбинации с другим методом атаки. Но чисто теоретически уязвимости подвержены даже самые современные процессоры Intel, в которых более ранние проблемы так или иначе решены.


В работе нет подробного описания атаки — само исследование достаточно сложно для понимания, даже на фоне и так непростых предыдущих аппаратных атак. Авторы также решили не придумывать уязвимости какое-то название и рисовать логотип. Среди важных достижений работы отметим новый метод эксфильтрации секретных данных через новый сторонний канал — регистр флагов EFLAGS.

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

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

«Спекулятивная» часть атаки в работе не рассматривается. Авторы просто использовали атаку Meltdown, самую «простую» аппаратную уязвимость в процессорах Intel, обеспечивающую как раз спекулятивный доступ к защищенным данным. В исследовании подробно рассматривается метод «вытаскивания» этой информации.

Процесс схематично показан на графике в начале статьи. Если коротко, код атаки сначала обращается к необходимым данным, затем производит операцию сравнения с неким значением. А потом происходит самое интересное: выполняется инструкция перехода в зависимости от результата предыдущего вычисления из набора команд Jcc (JZ). Результат сравнения сохраняется в регистре флагов EFLAGS (ZF).

Напомним, все эти инструкции выполняются спекулятивно, наш атакующий код не видит результат напрямую. Суть уязвимости заключается в том, что время выполнения команды из набора Jcc зависит от состояния флага ZF. Измеряя время выполнения инструкции, мы узнаем результат сравнения с известным нам числом (совпало или нет), а значит — можем побитно вытаскивать секретные данные.

У метода есть достаточно много ограничений, начиная с необходимости использовать атаку Meltdown. Естественно, работает она только на уязвимых процессорах. В исследовании тестировались Intel Core i7 шестого и седьмого поколения: на них секретную информацию удалось прочитать со 100%-ной надежностью. Очевидно, что на более современном процессоре (проверялось на Intel десятого поколения) такая атака не работает. Но задержка при выполнении инструкции Jcc присутствует и там, что теоретически дает шанс на разработку соответствующего метода и для новых процессоров.

И все же даже этот половинчатый результат был получен в «лабораторных условиях». Не факт, что с использованием данной уязвимости удастся провести реальную атаку: слишком много условий должно совпасть, включая подходящие особенности работы атакуемого программного обеспечения. Если на атакуемой системе в принципе можно выполнить какой-то вредоносный код, даже не имеющий привилегий, есть масса более простых способов повысить уровень доступа. Еще одно ограничение заключается в том, что команда Jcc должна быть выполнена сразу после спекулятивного обращения к данным. Через 6–9 циклов использовать этот канал будет невозможно, поскольку не получится надежно зафиксировать отличие по времени выполнения. Как и в случае других аппаратных уязвимостей, данная проблема может быть исправлена в следующих версиях процессоров с помощью обновления микрокода или путем внедрения контрмер в программном обеспечении.

Что еще произошло:

В утилите Google Authenticator внедрили фичу резервного копирования данных в облако (то есть в учетку Google). Впрочем, эксперты тут же выяснили, что синхронизация происходит в незащищенном виде. Конкретно — отсутствует режим шифрования end-to-end, что теоретически позволяет Google или злоумышленнику, взломавшему учетную запись, получить доступ и к кодам двухфакторной авторизации. Через день после релиза в Google пообещали добавить шифрование данных в ближайшем будущем.

Эксперты «Лаборатории Касперского» опубликовали интересный отчет по результатам работы сервиса Managed Detection and Response. Это корпоративный сервис для анализа подозрительных событий в корпоративной сети заказчика как с использованием автоматизированных методов, так и вручную, специалистами «Лаборатории». Всего за 2022 год было проанализировано 433 тысячи событий, из которых 33 тысячи были связаны с реальными инцидентами. Еще одна интересная метрика позволяет оценить эффективность выявления реальных инцидентов по количеству событий. 72% инцидентов были выявлены после первого же алерта. Для выявления других 24% проблем потребовалось обработать от двух до восьми событий. 4% инцидентов были обнаружены после обработки более чем восьми алертов.

Компания Google в ежегодном отчете объявила о блокировке 173 тысяч аккаунтов разработчиков, заподозренных в мошеннической деятельности. Также в магазине приложений Google Play не были допущены к публикации 1,43 миллиона вредоносных приложений. Как обычно, Google не сообщает, сколько приложений с вредоносной функциональностью все же просочились через фильтры и проверки.

Активно эксплуатируется обнаруженная в прошлом году уязвимость в роутерах TP-Link Archer AX21. Патч, закрывающий проблему в веб-интерфейсе, был выпущен в марте.

Комментарии (0)