Новая уязвимость GoFetch в чипах Apple M приводит к утечке секретных ключей на взломанных компьютерах

27 марта 2024 г.

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

В чем заключается уязвимость GoFetch?

GoFetch — это уязвимость побочного канала кэша. Этот тип уязвимости нацелен на определенный кэш системы путем анализа побочных данных.

Кремниевые чипы Apple M1, M2 и M3 оснащены функцией предварительной выборки данных, зависящей от памяти, которая представляет собой аппаратную часть чипа, отвечающую за прогнозирование адресов памяти данных, к которым код, выполняемый на компьютере, может получить доступ в ближайшем будущем, и сохранение их в кэш. Тем не менее, DMP — в отличие от классических устройств предварительной выборки, которые хранят только шаблон доступа к памяти — «также принимают во внимание содержимое памяти данных непосредственно, чтобы определить, что именно предварительно выбирать», как написано в публикации Бору Чена, Инчен Вана, Прадьюмны Шоме, Кристофер В. Флетчер, Дэвид Колбреннер, Риккардо Пакканелла и Дэниел Генкин, раскрывающий все подробности уязвимости GoFetch.

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

Тесты, проведенные исследователями, показали, что можно извлечь ключи из популярных продуктов шифрования (OpenSSL Diffie-Hellman Key Exchange, расшифровка Go RSA), а также из постквантовой криптографии, такой как CRYSTALS-Kyber и CRYSTALS-Dilithium. Тем не менее, исследователи написали, что «хотя мы демонстрируем сквозные атаки на четыре различных криптографических реализации, больше программ, вероятно, подвергаются риску, учитывая схожие стратегии атак».

Что такое уязвимость побочного канала кэша?

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

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

Каковы обязательные условия для успешной эксплуатации уязвимости GoFetch?

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

«Эти условия не так уж невозможны, к сожалению, вредоносные программы доказывают это каждый день. Никаких особых привилегий не требуется», — сказал Фред Рейнал, генеральный директор Quarkslab, французской компании по обеспечению наступательной и оборонительной безопасности, в письменном интервью, данном TechRepublic.

Рейнал добавил: «В OS X процесс не может получить доступ (отладить) к памяти другого процесса для того же пользователя. Может, но появляется всплывающее окно. При этой атаке всплывающих окон нет. Он совершенно невидим без каких-либо дополнительных привилегий, необходимых для доступа к данным между двумя процессами».

Какие системы уязвимы для GoFetch?

Компьютеры Apple с чипом M1, M2 или M3 уязвимы для GoFetch. На M3 есть разница, поскольку отключение бита Data Independent Timing отключает DMP, что невозможно на M1 и M2.

Исследователи отметили, что аналогичный DMP существует в новейшей архитектуре Intel 13-го поколения (Raptor Lake), но с более строгими критериями активации, что делает ее устойчивой к уязвимости GoFetch. Кроме того, как и в случае с чипом M3, процессоры Raptor Lake могут отключать DMP с помощью бита синхронизации операндов данных.

Устранение угроз GoFetch

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

Могут быть применены методы, подобные криптографическому ослеплению. «Например, путем оснащения кода добавлением/удалением масок для чувствительных значений до/после сохранения/загрузки из памяти», – объясняют исследователи. Однако основным недостатком этого подхода является то, что он потенциально требует изменений кода, сделанных специально для DMP, для каждой криптографической реализации, а также значительно снижает производительность для некоторых криптографических схем.

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

СКАЧАТЬ: Краткий глоссарий по мерам противодействия кибербезопасности на сайте TechRepublic Premium

Таким образом, аппаратная поддержка кажется долгосрочным решением, как пишут исследователи:

«В долгосрочной перспективе мы считаем правильным решением расширение контракта на аппаратное и программное обеспечение с учетом DMP. Как минимум, аппаратное обеспечение должно предоставлять программному обеспечению возможность выборочного отключения DMP при запуске критически важных для безопасности приложений. Это уже имеет зарождающийся прецедент в отрасли. Например, в расширениях DOIT от Intel специально упоминается отключение DMP через расширение ISA. В долгосрочной перспективе в идеале хотелось бы иметь более детальный контроль, например, ограничить DMP предварительной выборкой только из определенных буферов или назначенных нечувствительных областей памяти».

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

Кроме того, пользователям не должно быть разрешено устанавливать какое-либо программное обеспечение, полученное от ненадежных третьих лиц; им также следует проявлять осторожность в отношении фишинговых писем, которые могут содержать вредоносный код или ссылки на вредоносный код.

Раскрытие информации: я работаю в Trend Micro, но мнения, выраженные в этой статье, принадлежат мне.

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

Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE