Новая атака GoFetch на процессоры Apple может украсть криптографические ключи

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

Атака нацелена на криптографические реализации постоянного времени, использующие префетчеры, зависящие от памяти данных (DMP), встречающиеся в современных процессорах Apple. Это позволяет воссоздать из кэша процессора закрытые криптографические ключи для различных алгоритмов, включая OpenSSL Диффи-Хеллмана, Go RSA, CRYSTALS Kyber и Dilithium.

GoFetch была разработана группой из семи исследователей из различных университетов США, которые сообщили о своих находках Apple 5 декабря 2023 года.

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

Детали оGoFetch

Атака GoFetch направлена на префетчеры, зависящие от памяти данных, – функцию процессора, предназначенную для повышения производительности компьютера при выполнении кода.

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

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

Атака GoFetch направлена на более новый префетчер, называемый префетчером, зависящим от памяти данных (DMP). Этот префетчер также может обучаться на предыдущих обращениях к памяти, но также может исследовать значения данных в памяти, чтобы определить, что должно быть префетчено в кэш.

DMP доступен в чипах Apple и процессорах Intel 13-го поколения Raptor Lake. Однако, по словам исследователей, реализация Intel является более ограничительной и предотвращает атаку.

Атака направлена на криптографические реализации, которым требуется одинаковое время для выполнения независимо от входных данных (постоянное время), что является мерой безопасности, предотвращающей утечку конфиденциальных данных.

В частности, исследователи нашли недостаток в реализации системы DMP компании Apple, который нарушает правила постоянного времени.

Мы провели реверс-инжиниринг DMP на процессорах Apple серии m и обнаружили, что DMP активирует (и пытается разыграть) данные, загруженные из памяти, которые «выглядят» как указатель. Это явно нарушает требование парадигмы программирования с постоянным временем, которая запрещает смешивать шаблоны доступа к данным и памяти
- говорится в статье

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

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

Исследователи подтвердили, что процессоры M1 восприимчивы к этой схеме, а учитывая, что M2 и M3 имеют схожее поведение префетча, они, скорее всего, тоже уязвимы.

Более подробную информацию об атаке GoFetch можно найти в опубликованном исследователями документе, а доказательство эксплойта будет выпущено позднее.

Что делать владельцам Apple?

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

Исследователи говорят, что можно отключить DMP на некоторых процессорах, таких как M3, устранив поведение префетчера, на которое опирается GoFetch. Однако на процессорах M1 и M2 это невозможно.

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

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

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

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

Компании Apple пока ограничился лишь только сообщением на странице разработчика с описанием мер по снижению рисков.

Сударев Александр Эксперт по безопасности, криптовалютам и умным домам

Люблю технологии и криптовалюты. Создаю свой умный дом и делюсь этим с Вами. Знаю как предотвратить хакерскую атаку, так как немного смыслю в безопасности

Похожие статьи

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