WWDC 4K Wallpaper

Цифровые подписи Apple или почему не работают многие программы в современных MacOS

Система защиты macOS считается одной из наиболее надежных в мире операционных систем. Это достигается за счёт комплексного подхода к безопасности, основанной на проприетарных программно-аппаратных решениях. Система защиты операционной системы macOS является комплексом эффективных механизмов безопасности, состоящей из:

  1. SIP: Технология System Integrity Protection, – это комплекс защиты критических системных файлов и каталогов от изменений, даже для пользователей с административными правами. SIP предотвращает возможные атаки на ядро операционной системы и помогает обеспечить её целостность.
  2. Gatekeeper: Это функция безопасности, контролирующая запуск приложений на вашем Mac. Она проверяет подписи приложений и блокирует запуск неподписанных или подозрительных программ. Gatekeeper помогает предотвратить запуск вредоносных приложений и защищает систему от потенциальных угроз.
  3. SandBoxing: macOS поддерживает концепцию песочницы (sandboxing) для приложений, что означает, что каждое приложение работает в своем собственном изолированном окружении. Это помогает предотвратить возможное взаимодействие между приложениями и защищает систему от вредоносных атак через уязвимости в приложениях.
  4. Apple Root Certification: Цифровые подписи приложений в Apple MacOS – это механизм обеспечения безопасности, который используется для проверки подлинности и целостности приложений, устанавливаемых на устройствах MacOS. Каждое приложение, выпущенное для MacOS, должно быть подписано разработчиком с использованием своего сертификата разработчика от Apple. Пользователи могут быть уверены, что приложения, установленные на их устройствах, были созданы и подписаны доверенными разработчиками.

Apple начала реализовывать систему цифровых подписей в далёком 2007 году, когда представила миру инновационную на тот период операционную систему Mac OS X 10.5 Leopard – последнюю ОС эпохи Power PC. Однако в тот момент цифровые подписи не имели такой значимой роли вплоть до выхода Mac OS X 10.7 Lion и запуска магазина цифровой дистрибьюции программ – Mac App Store в 2011 году. Именно тогда пользователи (и не только) впервые столкнулись с подписанными приложениями. С выходом Mac OS Lion и Mac App Store появилась технология Gatekeeper, которая была предназначена для усиления безопасности и предотвращения запуска вредоносного программного обеспечения на компьютерах Mac. Gatekeeper позволял выбирать из каких источников могут быть установлены и запущены приложения на Mac, и предлагал три уровня защиты:

  1. Mac App Store: Пользователи могут разрешить запуск приложений, которые были загружены только из Mac App Store. Это обеспечивает высокий уровень безопасности, так как все приложения в Mac App Store проходят проверку Apple на наличие вредоносного программного обеспечения перед публикацией.
  2. Mac App Store и подписанные приложения: Пользователи могут разрешить запуск приложений, загруженных из Mac App Store, а также приложений, подписанных разработчиками с использованием своего сертификата разработчика Apple. Этот уровень предоставляет баланс между безопасностью и гибкостью.
  3. Любые источники: Пользователи могут разрешить запуск приложений из любых источников, включая те, что не подписаны или не прошли проверку Apple. Это предоставляет максимальную гибкость, но также повышает риск запуска вредоносного программного обеспечения.

После выпуска macOS Catalina в 2019 году в Apple было принято решение, в целях повышения безопасности системы, исключить из Gatekeeper возможность запуска программ из любого источника, включая неподписанные приложения. С этого момента цифровые подписи приложений в MacOS стали играть ключевую роль в обеспечении безопасности и доверия в экосистеме приложений Apple, и целостности операционной системы как таковой.

Теперь Корневой Сертификат Apple (Apple Root Certificate) – это основной сертификат в цепочке доверия X.509, который используется для проверки подлинности и безопасности в различных сервисах и продуктах Apple. Этот корневой сертификат выдаётся Apple и служит основой для шифрования, аутентификации, а так же подписи других сертификатов, используемых в цифровых подписях. Теперь, в современных операционных системах macOS, любое приложение должно пройти три этапа, чтобы, не прибегая к модификациям системы, его можно было запустить:

  1. Получение Сертификата разработчика: Разработчик приложения должен получить сертификат разработчика от Apple. Этот сертификат идентифицирует разработчика перед Apple.
  2. Цифровая подпись: После того как приложение разработано и готово к выпуску, разработчик использует свой сертификат разработчика для создания цифровой подписи для приложения. Это делается с использованием инструментов, предоставленных Apple.
  3. Проверка подписи: При установке или запуске приложения MacOS проверяет его цифровую подпись. Если подпись верна и соответствует сертификату разработчика, MacOS позволяет приложению запускаться без предупреждений.

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

  1. Целостность и подлинность: Цифровые подписи используются для проверки целостности и подлинности приложений. Когда приложение подписывается разработчиком с использованием своего сертификата, macOS может проверить эту подпись и убедиться, что приложение не было изменено с момента его подписания и что оно действительно от этого разработчика.
  2. Предотвращение исполнения вредоносного ПО: Запрещение запуска приложений с нарушенной цифровой подписью помогает предотвратить запуск вредоносного программного обеспечения. Если приложение имеет нарушенную цифровую подпись, это может указывать на возможное изменение или подмену программы, что может представлять угрозу для безопасности вашей системы.
  3. Доверие и надежность: Проверка цифровых подписей также способствует созданию доверия и надежности в экосистеме приложений macOS. Пользователи могут быть уверены, что приложения, которые они запускают на своем устройстве, прошли проверку подлинности и целостности, и приложения без действительных цифровых подписей могут вызывать сомнения в их безопасности и происхождении.

Любая модификация программы, включая изменение её ресурсов (иконка, языковые локализации и т.д.) нарушает целостность цифровой подписи приложения. Вот почему неподписанные, взломанные или модифицированные приложения не запускаются в macOS.

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

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

В современных же реалиях придерживаться общей концепции системы безопасности, которую продвигает Apple, могут только обычные пользователи, для которых Mac, iPad или iPhone является в равной степени рабочим инструментом. Для более продвинутых пользователей (лично я) не представляю какие либо сценарии полноценной работы, исключающие необходимость отключать защиту безопасности Gatekeeper:

  • Open Source: Установка программ из неофициальных источников, таких как репозитории с открытым исходным кодом или сторонних сайтов, в большинстве случаев требуют отключения системы безопасности так как такое ПО часто не подписано сертификатом доверенного разработчика.
  • Разработка и тестирование программ: разработка различных программ часто требует (хоть и временно) отключать защиту безопасности для установки и тестирования ПО. Это может быть полезно при работе с отладочными версиями приложений или при разработке программного обеспечения с использованием недокументированных функций, которые не одобряются Apple.
  • Недокументированный функционал: Некоторые программы могут использовать недокументированные или неодобренные компанией Apple функции или настройки, которые могут не соответствовать стандартам и требованиям Apple.
  • Адаптация старого ПО: Существуют программы с уникальным функционалом, выпущеные много лет назад. Разработчики не всегда выпускают адаптированные под новые ОС версии (или вообще забрасывают своё детище). Тогда включается режим “хацкера” – приложение разбирается “на молекулы”, допиливается, в него интегрируют современные фреймворки… Естественно, такое приложение никогда не запустится с включенным Gatekeeper.

Конечно же, в macOS есть несколько способов “обхода” системы безопасности для запуска неподписанных приложений, но эту возможность следует использовать с особой осторожностью, поскольку это может представлять потенциальную угрозу безопасности для вашей системы и сделать её уязвимой для различных хакерских атак. Но об этом в следующей статье.

В связке с аппаратными решениями вроде чипов Apple T1 / T2, система защиты и безопасности Apple вышла на такой уровень, что даже владелец своего девайса может ненароком “закирпичить” его, забыв пароль прошивки своего Mac или Apple ID. Так что будьте бдительны и всегда сохраняйте или запоминайте пароли, которые вы используете на своих Mac, iPhone или iPad. И, при возможности, всегда используйте двухфакторную авторизацию.

Share this article
0
Share
Prev Post

ZeroTier: Революция в создании виртуальных частных сетей

Next Post

Что делать, если программы в MacOS отказываются запускаться

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Read next