Skip to main content

Хотя неотложные проблемы, возникающие из-за нового класса ошибок, которые могут превзойти строгую подпись кода macOS и iOS, были исправлены, исследователи опасаются, что это еще не все.

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

Тем не менее, во вторник подразделение безопасности Trellix сообщило, что существует «большой новый класс ошибок», который злоумышленник может использовать для обхода подписи кода и обеспечения выполнения кода в macOS и iOS. Это может привести к повышению привилегий приложения и выходу из песочницы.

Такой код теоретически будет иметь доступ к конфиденциальной информации, хранящейся на устройстве, такой как история сообщений, данные о местоположении и изображения, среди прочего.

Первоначальное открытие

Исследователи, стоящие за раскрытием информации, были заинтригованы исследованием Citizen Lab, проведенным в сентябре 2021 года, в котором подробно описан эксплойт с нулевым щелчком ForcedEntry для iOS, который использовался для заражения iPhone вредоносным ПО Pegasus. Проанализировав детали побега из песочницы, компания Trellix заинтересовалась тем, как можно динамически выполнять код в другом процессе в обход подписи кода.

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

В частности, злоумышленник может использовать неограниченные методы для очистки большого черного списка, который не позволяет использовать определенные классы и методы. Если списки пусты, злоумышленник может использовать ранее использовавшиеся методы без каких-либо ограничений.

С этим открытием, возможно, был открыт «огромный диапазон потенциальных уязвимостей» с использованием метода, который команда «все еще изучает».

Найдены уязвимости

Первая уязвимость в этом классе была обнаружена в «coreduetd», процессах, отслеживающих поведение устройства. Используя выполнение кода в процессе с «правильными правами» в Messages или Safari, мог быть отправлен вредоносный «NSPredicate» с исполняемым кодом с привилегиями процесса.

Trellix утверждает, что поскольку в macOS этот процесс выполняется от имени пользователя root, злоумышленнику предоставляется доступ к календарю, адресной книге и фотографиям пользователя.

Аналогичная проблема была обнаружена при атаке на «контекстное хранилище», связанное с «CoreDuet», с использованием уязвимой службы XPC, которая могла выполнять код из процесса, имеющего больший доступ к функциям устройства.

И демоны «appstore», и «appstoreagent» в macOS имели уязвимые службы XPC, которые можно было использовать для эксплуатации одних и тех же уязвимостей. В конечном итоге это могло привести к установке «произвольных приложений, потенциально даже системных».

Trellix утверждает, что уязвимости «представляют собой серьезное нарушение модели безопасности macOS и iOS, которая основана на том, что отдельные приложения имеют детальный доступ к подмножеству необходимых им ресурсов и запрашивают более привилегированные службы, чтобы получить что-либо еще».

Службы, принимающие аргументы NSPredicate, но не проверяющие их должным образом, могут позволить злоумышленникам запускать код, «чтобы преодолеть изоляцию процесса и напрямую получить доступ к гораздо большему количеству ресурсов, чем должно быть разрешено».

Как защитить себя

Как и во многих других ситуациях, когда об уязвимости было ответственно раскрыто, исправление уже было применено к операционным системам. Проблемы были устранены с выпуском macOS 13.2 и iOS 16.3.

«Мы хотели бы поблагодарить Apple за быструю работу с Trellix над устранением этих проблем», — говорится в сообщении фирмы.

По сути, все, что нужно для устранения обнаруженной ранее уязвимости, — это обновить операционные системы до macOS 13.2, iOS и iPadOS 16.3 или более поздней версии.

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

Учитывая, что исследователи глубже изучают такого рода уязвимости, возможно, их будет больше. Поддержание вашей операционной системы в актуальном состоянии может быть одним из лучших способов смягчить их по мере их появления.