Уязвимости в macOS позволяют обойти систему защиты конфиденциальности
Программный инженер и разработчик Джефф Джонсон (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 может любое загруженное из интернета приложение.