Специалисты из Массачусетского технологического института обнаружили, что чипы Apple M1 уязвимы перед спекулятивной атакой PACMAN. Эта проблема носит аппаратный характер и связана с аутентификацией указателя (pointer authentication), позволяя злоумышленнику выполнить произвольный код на уязвимом устройстве.
Pointer authentication — защитная функция, добавляющая к указателям криптографическую подпись, называемую pointer authentication code (PAC). Она позволяет операционной системе обнаруживать и блокировать неожиданные изменения, которые в противном случае могли бы привести к утечке данных или компрометации. Атака PACMAN позволяет удаленно обойти аутентификацию указателя в ядре из userspace, по сути, давая атакующему полный контроль над чужой машиной.
Для реализации такой атаки злоумышленникам сначала понадобится найти баг в памяти, связанный с ПО на устройстве жертвы. Необходимо, чтобы эта ошибка была заблокирована PAC, то есть имела возможность перерасти в более серьезную проблему.
«PACMAN использует существующие программные ошибки (чтение/запись памяти) и превращает их в более серьезный примитив эксплуатации (обход pointer authentication), который может привести к выполнению произвольного кода. Чтобы проделать это, нам нужно узнать значение PAC для конкретного указателя жертвы, — рассказывают эксперты. — PACMAN осуществляет это с помощью того, что мы называем PAC Oracle. Это способность определять, соответствует ли данный PAC конкретному указателю. PAC Oracle не должен сбоить даже в случае неверных предположений, и с его помощью мы брутфорсим все возможные значения PAC».
Эксперты тестировали PACMAN только на Apple M1, но полагают, что проблема может затрагивать и другие процессоры ARM. Также отмечается, что эта атака представляет опасность для всех процессоров, использующих pointer authentication.
Хотя компания Apple не может исправить этот аппаратный баг и блокировать атаки PACMAN, исследователи пишут, что пользователям вряд ли стоит беспокоиться, если они поддерживают свое ПО в актуальном состоянии, и оно не содержат ошибок, которые могут быть использованы PACMAN.
«PACMAN — это метод эксплуатации, сам по себе он не может угрожать вашей системе. Хотя аппаратные механизмы, используемые PACMAN, не могут быть исправлены программно, можно исправить ошибки, связанные с нарушением целостности информации в памяти», — добавляют эксперты.
Исследователи уведомили Apple о своих выводах еще в 2021 году, а также поделились PoC-эксплоитом. Однако в Apple заявили, что новая side-channel атака не представляет опасности для пользователей Mac, так как сама по себе не может использоваться для обхода защиты устройства, а для ее использования нужны другие уязвимости в системе.