Новая уязвимость в чипах Apple может позволить злоумышленнику получить доступ к данным пользователя, украв криптографические ключи. Хуже того, её устранение может значительно повлиять на производительность шифрования.
Исследователи обнаружили уязвимость в чипах Apple серии M, связанную с тем, как они обрабатывают криптографические операции, такие как шифрование файлов. Однако, поскольку эта проблема связана с архитектурным дизайном чипа, её крайне сложно исправить.
Как сообщила группа исследователей, о которой пишет ArsTechnica, проблема кроется в префетчере данных, зависящем от памяти (DMP), который предсказывает адреса данных в памяти, к которым, скорее всего, будет обращаться выполняемый в данный момент код. В результате предварительной выборки данных они становятся мишенью для вредоносного кода.
Это происходит потому, что префетчеры используют предыдущие шаблоны доступа для определения своих прогнозов относительно следующего бита данных для выборки. Злоумышленник может использовать этот способ работы, чтобы повлиять на данные, получаемые в результате предварительной выборки, и получить доступ к конфиденциальной информации.
Атака GoFetch может украсть ключи шифрования
Атака, которую исследователи называют GoFetch, использует особенности использования DMP в чипах Apple. В частности, DMP может путать содержимое памяти со значениями указателей, используемых для загрузки дополнительных данных, причём первое иногда используется в качестве второго.
Рассказывая об атаке, исследователи подтверждают, что можно сделать данные «похожими» на указатель, который DMP будет воспринимать как адрес и, в свою очередь, вытаскивать эти данные в кэш. Внешний вид адреса в кэше является видимым, а значит, вредоносный код может его просматривать.
Атака манипулирует данными в алгоритме шифрования, чтобы они выглядели как указатель, используя атаку с выбранным входом. DMP, видя, что значение данных выглядит как адрес, затем извлекает данные из этого адреса, при этом происходит утечка самого адреса.
Атака не позволяет мгновенно взломать ключ шифрования. Однако она может проводиться неоднократно, что позволяет раскрыть ключ с течением времени.
GoFetch использует те же привилегии пользователя, что и многие другие сторонние приложения macOS, а не root-доступ. Это снижает входной барьер для осуществления атаки.
Исследователи утверждают, что атака работает как против классических алгоритмов шифрования, так и против новых квантово-упрочнённых версий.
Что касается эффективности атаки, то тестовое приложение исследователей смогло извлечь 2048-битный ключ RSA менее чем за час, а 2048-битный ключ Диффи-Хеллмана – чуть более чем за два часа. Для защиты ключа Dilithium-2 требуется десять часов извлечения данных, не считая времени автономной обработки.
Сложность исправления
Основная проблема атаки заключается в том, что её невозможно устранить в самом чипе, поскольку она является центральной частью архитектуры. Для того чтобы обойти проблему, разработчикам криптографического программного обеспечения необходимо внести изменения.
Проблема заключается в том, что любые изменения, связанные со смягчением, приведут к увеличению рабочей нагрузки, необходимой для выполнения операций, что, в свою очередь, скажется на производительности.
Компания Apple отказалась от комментариев по этому вопросу. Исследователи утверждают, что они ответственно подошли к раскрытию информации перед публикацией информации, сообщив об этом компании 5 декабря 2023 года.
Некоторые из исследователей ранее работали над другим открытием 2022 года, также касающимся использования DMP в чипах Apple.
История повторяется
Уязвимости в чипах могут стать большой проблемой для производителей устройств, особенно если им приходится вносить изменения в операционные системы и программное обеспечение для поддержания безопасности.
В 2018 году были обнаружены уязвимости Meltdown и Spectre, которые затронули все устройства Mac и iOS, а также почти все устройства X86, выпущенные с 1997 года.
Ещё по теме: