Специалисты по кибербезопасности обнаружили критическую проблему в системе защиты операционной системы Apple macOS. Исследователи продемонстрировали, что приложения, загруженные из источников, отличных от официального App Store, могут быть незаметно заменены вредоносными двойниками. Это ставит под сомнение эффективность технологии Gatekeeper, призванной защищать пользователей от непроверенного программного обеспечения.

Как работает защита и где она дает сбой

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

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

Механика атаки и уязвимые программы

Суть уязвимости заключается в том, что Gatekeeper недостаточно тщательно контролирует доступ к файлам после их первой загрузки. Метод атаки не применим к приложениям из Mac App Store, так как они выполняются с правами root, и процесс с правами пользователя не может их перезаписать. В зоне риска остаются программы, установленные из сторонних источников.

К потенциально уязвимым приложениям относятся популярные инструменты, такие как:

  • браузер Brave;
  • мессенджеры Slack и Signal;
  • редактор кода Visual Studio Code.

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

Обход проверок безопасности

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

Реализовать такую атаку можно несколькими способами: через средства командной строки, через вредоносный запрос к агенту искусственного интеллекта или через атаку на цепочку поставок с использованием менеджеров пакетов npm, brew и других.

Реакция Apple и выводы экспертов

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