Gatekeeper
Gatekeeper — это компонент операционной системы macOS, разработанный компанией Apple, который обеспечивает проверку загружаемых приложений на предмет их безопасности перед запуском. Gatekeeper является частью встроенной системы безопасности macOS и предназначен для предотвращения запуска вредоносного программного обеспечения, полученного из непроверенных источников. Механизм Gatekeeper впервые появился в macOS X 10.7 Lion (2011) и с тех пор претерпел значительные изменения, особенно в версиях macOS 10.15 Catalina и более новых.
Принцип работы
Gatekeeper работает на основе комбинации нескольких технологий и проверок, которые выполняются при попытке пользователя запустить приложение, полученное из интернета или с внешнего носителя.
Проверка подписи разработчика
Основой Gatekeeper является требование к приложениям иметь цифровую подпись разработчика, выданную Apple. Разработчики, желающие распространять своё программное обеспечение за пределами Mac App Store, должны зарегистрироваться в программе Apple Developer и получить сертификат Developer ID. При сборке приложения разработчик подписывает его своим сертификатом, что позволяет системе однозначно идентифицировать издателя и убедиться, что приложение не было изменено после подписания.
Gatekeeper проверяет:
- Наличие действительной подписи Developer ID или подписи из Mac App Store.
- Отсутствие признаков подделки или модификации подписанного кода.
- Статус сертификата разработчика (не отозван ли он Apple).
Нотаризация (Notarization)
Начиная с macOS 10.14 Mojave (2018) и особенно с macOS 10.15 Catalina (2019), Apple ввела обязательную нотаризацию для приложений, распространяемых вне Mac App Store. Нотаризация — это процесс, при котором разработчик отправляет своё приложение на проверку в Apple, где оно сканируется на наличие известных вредоносных программ и других угроз. После успешной проверки Apple выдаёт нотаризационный билет (ticket), который встраивается в приложение. Gatekeeper при запуске проверяет наличие этого билета и его валидность.
Если приложение не прошло нотаризацию, Gatekeeper может заблокировать его запуск или выдать предупреждение о том, что приложение не было проверено Apple.
Проверка на вредоносное ПО (XProtect)
Gatekeeper интегрирован с встроенным антивирусным механизмом macOS — XProtect. XProtect представляет собой набор сигнатур известных вредоносных программ, который регулярно обновляется Apple. При запуске любого приложения Gatekeeper проверяет его на соответствие этим сигнатурам. Если приложение совпадает с известной угрозой, запуск блокируется.
Настройки и уровни защиты
Gatekeeper предоставляет пользователю несколько уровней защиты, которые настраиваются в разделе «Системные настройки» → «Конфиденциальность и безопасность» (в старых версиях — «Защита и безопасность»).
Основные варианты (в зависимости от версии macOS):
- Mac App Store — разрешён запуск только приложений, загруженных из официального магазина Apple. Это самый строгий уровень.
- Mac App Store и проверенные разработчики — разрешён запуск приложений из Mac App Store и приложений, подписанных действительным Developer ID и прошедших нотаризацию. Этот режим установлен по умолчанию.
- Любые источники — разрешён запуск любых приложений, включая неподписанные. Этот режим был доступен в более ранних версиях macOS, но начиная с macOS 10.15 Catalina он скрыт и для его включения требуется отключить System Integrity Protection (SIP) или выполнить команду в терминале.
История развития
macOS X 10.7 Lion (2011)
Первое появление Gatekeeper. Пользователь мог выбирать между тремя уровнями: Mac App Store, Mac App Store и проверенные разработчики, любые источники.
macOS 10.8 Mountain Lion (2012) — macOS 10.13 High Sierra (2017)
Ужесточение политики: по умолчанию был установлен режим «Mac App Store и проверенные разработчики». Gatekeeper начал проверять подписи приложений более строго.
macOS 10.14 Mojave (2018)
Введена система нотаризации, но она оставалась опциональной. Gatekeeper начал требовать явного разрешения пользователя для доступа приложений к данным (микрофон, камера, контакты).
macOS 10.15 Catalina (2019)
Нотаризация стала обязательной для всех приложений, распространяемых вне Mac App Store. Gatekeeper также начал проверять целостность системных файлов и требовать разрешения на доступ к дискам и папкам.
macOS 11 Big Sur (2020) и новее
Усиление проверок: Gatekeeper теперь проверяет нотаризационный билет не только при первом запуске, но и периодически в фоновом режиме. Apple также начала требовать от разработчиков использования более защищённых методов подписания (например, hardened runtime).
Критика и ограничения
Gatekeeper подвергается критике по нескольким причинам:
- Ограничение свободы пользователя. Возможность запуска неподписанных приложений скрыта или требует сложных манипуляций, что затрудняет использование легитимного, но не прошедшего нотаризацию программного обеспечения (например, старых или малоизвестных утилит).
- Зависимость от Apple. Разработчики вынуждены подчиняться правилам Apple, которые могут меняться без предварительного уведомления. Отзыв сертификата разработчика может сделать все его приложения неработоспособными.
- Ложные срабатывания. Иногда Gatekeeper блокирует безопасные приложения из-за ошибок в подписи или изменений в системе нотаризации.
- Неполная защита. Gatekeeper не является полноценным антивирусом и не защищает от всех типов угроз, особенно от целенаправленных атак (APT) или вредоносных программ, не имеющих известных сигнатур.
Влияние на экосистему
Gatekeeper является ключевым элементом стратегии Apple по обеспечению безопасности macOS. Он значительно усложнил распространение вредоносных программ через обычные каналы (веб-сайты, торренты). В сочетании с другими механизмами, такими как System Integrity Protection (SIP) и sandboxing, Gatekeeper создаёт многоуровневую защиту. Однако эта защита также усиливает контроль Apple над распространением программного обеспечения, что вызывает споры о балансе между безопасностью и открытостью платформы.
Источники
- Документация Apple: «About Gatekeeper» (Apple Developer Documentation).
- Документация Apple: «Notarizing macOS Software Before Distribution» (Apple Developer Documentation).
- Статья: «How Gatekeeper Works» (The Eclectic Light Company).
- Статья: «macOS Gatekeeper: History and Evolution» (Objective-See Blog).
- Материалы конференции: «The Security of macOS: Gatekeeper, XProtect, and Notarization» (Black Hat, 2020).
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →