Уязвимости затрагивают систему защиты конфиденциальности TCC (Transparency, Consent, and Control).
Программный инженер и разработчик Джефф Джонсон (Jeff Johnson) раскрыл подробности об уязвимостях в macOS, позволяющих обходить механизм защиты конфиденциальности. Джонсон уведомил Apple о проблемах более полугода назад, и поскольку компания так и не исправила их, решил сообщить о них широкой общественности.
Уязвимости затрагивают систему защиты конфиденциальности TCC (Transparency, Consent, and Control), впервые появившуюся в macOS Mojave и блокирующую неавторизованным приложениям доступ к определенным файлам. Однако, как выяснил Джонсон, вредоносное ПО все-таки может получить доступ к файлам в ~/Library/Safari, обычно доступным только для Safari, Finder и приложений, которым были даны специальные разрешения (например, полный доступ к дискам).
По словам инженера, проблемы связаны с тем, что исключения TCC основываются не на пути файла, а на идентификаторе приложения (bundle identifier), а сама TCC должным образом не проверяет подписи кода. «Поэтому атакующий может создать копию приложения в другом месте на диске, изменить источник копии, и у копии приложения с измененным источником по-прежнему будет такой же доступ к файлам, как и у оригинального приложения, в данном случае Safari», - сообщил Джонсон.
Кроме того, JavaScript-код для отображения панели расширений в настройках Safari запускается в контексте основного приложения, а не песочницы Web Content helper, а у основного приложения Safari есть доступ к файлам в вышеупомянутой директории.
Для того чтобы продемонстрировать эксплоит, Джонсон представил образец проекта Xcode. Однако он также объяснил, что обойти TCC может любое загруженное из интернета приложение.
Одно найти легче, чем другое. Спойлер: это не темная материя