Подмена кода в подлинных приложениях macOS: как работает новая уязвимость и есть ли реальная угроза
Содержание4 разделов · нажмите, чтобы развернуть
Исследователи по безопасности нашли способ подменить исполняемый файл внутри проверенной программы для macOS так, чтобы встроенная защита Gatekeeper не выдала никаких предупреждений. Уязвимость затрагивает софт, загруженный из интернета, и требует выполнения определенной цепочки действий с `.tar`-архивами. В Apple отказались считать это серьезным взломом, назвав происходящее вектором социальной инженерии, однако у логики исследователей есть весомые основания.
Контекст: как macOS проверяет сторонний софт
Операционная система Apple долгое время считалась устойчивой к вредоносному ПО благодаря системе подписи и нотаризации кода. Защитный механизм Gatekeeper впервые появился в OS X Mountain Lion в 2012 году проверяет любое новое приложение при первом запуске. Если программа скачана из сети, система запрашивает подтверждение пользователя и сверяет цифровой сертификат с базой Apple обязательная нотаризация стороннего софта введена в macOS Catalina в 2019 году.
Программы из Mac App Store работают в изолированной среде и проверяются по жестким стандартам еще до публикации. Софт, скачанный с сайтов разработчиков, проверяется иначе. На этом разграничении и строится уязвимость, открытая исследователями Талалом Хадж Бакри (Talal Haj Bakry) и Томми Мыском (Tommy Mysk).
Анатомия уязвимости: как обмануть Gatekeeper
Проблема заключается в том, как именно macOS хранит данные о доверии к файлу. Когда приложение проходит первичную проверку Gatekeeper, система запоминает его как безопасное.
Исследователи обнаружили следующую последовательность действий, которая обходит регулярные проверки:
- Пользователь скачивает приложение с сайта разработчика и запускает его один раз. Разрешение получено, метка доверия присвоена.
- Приложение упаковывается в архив формата `.tar`.
- Оригинальный файл программы удаляется.
- Приложение извлекается из `.tar`-архива обратно.
- Главный исполняемый файл внутри контейнера `.app` заменяется на вредоносный код.
При повторном запуске такого разорхивированного и модифицированного приложения Gatekeeper молчит. Для операционной системы это все еще та самая проверенная программа, хотя ее сердцевина изменилась.
На практике исследователи продемонстрировали следующий сценарий. Модифицированное приложение запрашивает доступ к файлам и папкам пользователя через стандартное системное окно macOS. Пользователь, видя знакомое имя надежной программы, вводит пароль или разрешает доступ. Получив нужные права и выполнив вредоносный скрипт, программа тихо восстанавливает свой исходный код, заметая следы.
Почему Apple не спешит выпускать патч
Исследователи передали свои находки в Apple, однако инженеры компании не посчитали это критической уязвимостью. Логика Apple прозрачна: для реализации такой атаки злоумышленнику требуется либо физический доступ к заблокированному Mac, либо возможность запускать произвольный код от имени текущего пользователя.
В представлении Apple это сценарий социальной инженерии, где пользователя обманом заставляют сделать несколько специфических шагов. Если хакер уже получил доступ к выполнению команд в вашей системе (например, через ранее загруженный вредоносный скрипт), подмена приложения — лишь один из способов углубить присутствие.
Позиция Бакри и Мыска тоже убедительна. Проблема в том, что macOS проверяет подлинность приложения в целом, а не контролирует целостность отдельных внутренних компонентов после разорхивации. Если бы операционная система воспринимала извлеченное из `.tar` приложение как новую установку и проверяла его заново, брешь была бы закрыта.
Что это означает для пользователей
Вероятность столкнуться с подобной атакой на практике мала. Обычному пользователю придется не просто скачать вредоносный файл, а заархивировать, удалить, извлечь и запустить подмененный софт.
Правила цифровой гигиены помогают полностью исключить этот риск:
- Устанавливайте софт из Mac App Store, когда это возможно. Программы из официального магазина ставятся в систему иначе и полностью защищены от данного метода подмены.
- Не архивируйте рабочие приложения через командную строку без необходимости. Если нужно освободить место, проще удалить программу и при необходимости скачать её с сайта разработчика повторно.
- Не запускайте сомнительные скрипты. Уязвимость не работает сама по себе — атакующему нужен первоначальный зацеп в вашей системе.
- Контролируйте физический доступ к устройству. Не оставляйте разблокированный Mac без присмотра.
Перед нами брешь в логике работы Gatekeeper, но для ее эксплуатации требуется слишком много совпадений. Apple пока не торопится переписывать алгоритмы проверки архивов, поэтому главная защита сейчас — внимательность при работе со сторонним софтом.




Комментариев 0