Разработчики Apple решили пересмотреть подход к подтверждению надежности приложений для macOS. Существующий механизм после выпуска macOS Big Sur привел к глобальным сбоям.
Что произошло
Новая macOS Big Sur вышла 12 ноября. После обновления многие владельцы Mac обнаружили, что не могут запускать сторонние приложения. Но проблема исчезала, если компьютер отключался от сети.
Перед каждым запуском приложения активизируется системная утилита Gatekeeper. Для проверки сертификатов она подключается к серверам Apple. Но если нужный сервер выйдет из строя, проверка завершится неудачей, и программа не запустится. Так и произошло в этот раз.
В Apple подтвердили: отказала служба OCSP (Online Certificate Status Protocol). Она запрашивает данные о том, действителен ли сертификат или отозван, и передает информацию Gatekeeper.
Эксперты обнаружили еще одну проблему. При проверке сертификатов создается хэш – контрольное значение, цифровой отпечаток разработчика приложения. Он передается на OCSP-сервер Apple через незащищенный HTTP-протокол. Таким образом, и сама Apple, и киберпреступники могут узнать, каким софтом пользуется человек.
Как усовершенствуют механизм проверки сертификатов
Apple уже внесла изменения в Gatekeeper и написала об этом на странице поддержки утилиты. Идентификаторы устройств и Apple ID пока не будут передавать по сети. Эту информацию больше не будут хранить, чтобы обеспечить конфиденциальность пользователей.
Кроме того, компания не будет регистрировать IP-адреса, которые связаны с проверками сертификатов Developer ID. Адреса, собранные ранее, удалят из журналов.
В будущем Apple представит зашифрованный протокол, который позволит безопасно проверять, не отозвали ли сертификаты идентификатора разработчика. Также компания намерена повысить отказоустойчивость своих серверов и дать пользователям возможность отказаться от проверки, не отключая компьютер от сети.
Изменения в API
В API macOS Big Sur сделали серьезные изменения, утверждают разработчики приложений. Из-за них, в частности, приложения сетевой фильтрации перестали работать нормально.
По словам основателя проекта Objective-See и старшего эксперта по безопасности в Jamf Патика Уордла, в новой версии системы VPN на основе приложений и брандмауэры от сторонних разработчиков могут мониторить программные интерфейсы прокси и функции сети, которые перекрываются трафиком из собственных приложений Apple. В результате интерфейсы программирования ядра (KPI), через которые мониторили сеть, больше недоступны. А официально одобренные API-интерфейсы NEFilterDataProvider и NEAppProxyProvider не могут блокировать запросы OCSP или другие процессы.
Впрочем, Уордл уже нашел способ усовершенствовать свое приложение LuLu, а его коллеги из Objective Development выпустили обновленный Little Snitch. Свежие версии межсетевых экранов доступны для загрузки на официальных сайтах.