Skip to main content

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

Этот недостаток присутствует в чипах M1, M2 и M3, и, поскольку этот сбой является частью архитектуры чипов, у Apple нет возможности исправить его в текущих устройствах…

 

Ошибка заключается в процессе, известном как DMP.

Прежде чем объяснить этот недостаток, нам необходимо понять процесс, используемый в самых совершенных современных чипах, известный как предварительная выборка, зависящая от памяти данных (DMP). Вот как АрсТехника объясняет концепцию:

Угроза заключается в аппаратной оптимизации, которая предсказывает адреса памяти данных, к которым в ближайшем будущем может получить доступ работающий код. Загружая содержимое в кэш ЦП до того, как оно действительно понадобится, DMP, как сокращенно называется эта функция, уменьшает задержку между основной памятью и ЦП, что является распространенным узким местом в современных вычислениях. DMP — относительно новое явление, встречающееся только в чипах серии M и микроархитектуре Intel Raptor Lake 13-го поколения, хотя более старые формы устройств предварительной выборки были распространены в течение многих лет.

Проблема возникает из-за ошибки в DMP.

Неисправимый недостаток безопасности

Семь исследователей из шести разных университетов вместе работали над выявлением уязвимости и созданием приложения GoFetch, которое смогло ее успешно использовать.

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

Вот как исследователи описывают это более подробно:

Предварительная выборка обычно просматривает адреса доступных данных (игнорируя значения доступных данных) и пытается угадать будущие адреса, которые могут быть полезны. В этом смысле DMP отличается, поскольку помимо адресов он также использует значения данных для прогнозирования (предсказания адресов для перехода и предварительной выборки). В частности, если значение данных «выглядит как» указатель, оно будет рассматриваться как «адрес» (хотя на самом деле это не так!) и данные с этого «адреса» будут перенесены в кеш. Поступление этого адреса в кэш видно, просачиваясь по боковым каналам кэша.

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

Уязвимость DMP обнаруживается в Apple Silicon не впервые. Еще в 2022 году другая исследовательская группа нашла объект, названный Авгури.

Обходной путь возможен, но это приведет к снижению производительности.

Исследователи говорят, что, поскольку проблему невозможно исправить, лучшее, что может сделать Apple, — это реализовать обходные пути, но это сильно повредит производительности.

Хорошим примером является одно из наиболее эффективных средств смягчения последствий, известное как ослепление зашифрованного текста. Ослепление работает путем добавления/удаления масок к чувствительным значениям до/после сохранения в памяти/загрузки из памяти. Это эффективно рандомизирует внутреннее состояние криптографического алгоритма, не позволяя злоумышленнику контролировать его и тем самым нейтрализуя атаки GoFetch. К сожалению, по словам исследователей, эта защита одновременно зависит от алгоритма и часто является дорогостоящей, потенциально даже удваивая необходимые вычислительные ресурсы в некоторых случаях, например, для обмена ключами Диффи-Хеллмана.

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

Но реальные риски невелики

Чтобы воспользоваться уязвимостью, злоумышленнику придется обманом заставить пользователя установить вредоносное приложение, а неподписанные приложения Mac по умолчанию блокируются.

Кроме того, время, необходимое для проведения атаки, весьма велико: в тестах, проведенных исследователями, оно варьируется от 54 минут до 10 часов, поэтому приложение должно работать в течение значительного времени.

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

Долгосрочным решением для Apple будет устранение уязвимости в реализации DMP при разработке будущих чипов.