Как Apple обнаруживает установленные через сайдлоадинг приложения на вашем iPhone

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

Основа проверки приложений: подпись кода (Code Signing)

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

Когда iPhone запускает приложение, iOS проверяет подпись. Если сертификат недействителен, просрочен или отозван, приложение не откроется. Это основной механизм, с помощью которого Apple контролирует, что может работать на iOS.

Типы сертификатов и как Apple их отслеживает

Сертификаты разработчика

Любой Apple ID может подписывать приложения для личного использования с помощью Xcode или аналогичных инструментов. Бесплатный аккаунт ограничен 3 активными приложениями с подписью сроком на 7 дней, тогда как платный аккаунт Apple Developer (99 долларов в год) позволяет регистрировать до 100 устройств каждого типа в год. Эти сертификаты привязаны к вашему аккаунту, и Apple видит идентификаторы приложений и устройства, зарегистрированные на него.

Корпоративные сертификаты (Enterprise)

Программа Apple Developer Enterprise Program ($299/год) выпускает сертификаты, предназначенные для внутреннего корпоративного распространения приложений. Они более мощные: они позволяют устанавливать приложения на неограниченное количество устройств внутри организации. Когда такие сертификаты используются для публичного распространения приложений (как это делают многие сервисы для sideloading), это нарушает условия корпоративной программы Apple, и Apple отзывает сертификаты, использование которых было выявлено как неправомерное.

Apple не публикует свои критерии, но на неправомерное использование могут указывать следующие признаки:

  • Распространение на большое количество не связанных между собой устройств
  • Распространение приложений среди широкой публики, а не среди сотрудников компании
  • Высокая скорость установок, не соответствующая типичному корпоративному развёртыванию

Когда Apple обнаруживает злоупотребление, она отзывает сертификат, из-за чего перестают работать все приложения, подписанные им, как только устройство проверяет статус сертификата, даже на тех устройствах, где приложение уже было установлено. Именно поэтому отзывы сертификатов периодически происходят у инструментов для sideloading. Подробнее о том, как быстро решить проблему с отзывом сертификата.

Отчётность устройств и телеметрия

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

Если вас это беспокоит, отключение передачи аналитики в разделе Настройки → Конфиденциальность и безопасность → Аналитика и улучшения уменьшает объём данных, которые ваше устройство отправляет Apple.

Нотаризация приложений и переход к управляемому sideloading

В ЕС в соответствии с Digital Markets Act Apple обязана разрешить сторонние магазины приложений. В своей реализации Apple использует систему «нотаризации»: приложения всё равно должны отправляться в Apple для базовой проверки, сочетающей автоматические проверки и проверку человеком, прежде чем их можно будет распространять через альтернативные магазины.

Это означает, что Apple сохраняет возможность отслеживать приложения, распространяемые даже через сторонние магазины в ЕС. Приложения, не прошедшие нотаризацию, нельзя распространять через официальные альтернативные каналы магазинов в ЕС.

Как Apple выявляет и отзывает сертификаты

Apple не раскрывает, как именно она находит неправомерно используемые сертификаты. Вероятные методы включают:

Автоматическое обнаружение

Apple, вероятно, использует автоматизированные системы, которые помечают сертификаты с необычно высокими объёмами распространения или распространением на устройства, не соответствующие корпоративным схемам развёртывания.

Жалобы пользователей

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

Скрытые загрузки

Вероятно, Apple изучает приложения, устанавливаемые путём sideloading и распространяемые публично, чтобы выявлять злоупотребления сертификатами и нарушения политики.

Юридические меры

За повторные или вопиющие нарушения Apple блокировала аккаунты разработчиков и отзывала их сертификаты.

Что происходит, когда отзывают ваше приложение

Когда Apple отзывает сертификат, от которого зависят установленные у вас приложения:

  • Приложения перестают запускаться, как только ваше устройство проверяет сертификат
  • Вы увидите сообщение «Не удаётся проверить приложение» или «больше не доступно»
  • Данные, хранящиеся в контейнере приложения, не затрагиваются, если вы не удаляете приложение
  • Чтобы снова пользоваться приложением, вам нужно переустановить его с действующим сертификатом

Это неудобство, а не катастрофа. Решения смотрите в нашем руководстве по исправлению ошибки «Не удаётся проверить приложение».

Как снизить последствия отзыва

Полностью предотвратить отзывы вы не можете, поскольку это зависит от Apple, но можно свести их последствия к минимуму:

  • Используйте инструменты sideloading, которые быстро меняют сертификаты при отзыве
  • Поддерживайте само приложение для sideloading в актуальном состоянии: обновления часто сопровождаются новыми сертификатами
  • Делайте резервные копии данных приложений, которыми вы активно пользуетесь
  • Используйте методы подписи, менее подверженные массовому отзыву (индивидуальные аккаунты разработчика затрагивают меньше пользователей)

Более широкий взгляд

Системы обнаружения и отзыва сертификатов Apple небезупречны, но отзывы сертификатов для инструментов с enterprise-подписью, таких как Scarlet iOS, будут происходить и дальше, а то, как долго продлится простой, может быть разным. Разумен ли такой компромисс ради доступа к приложениям вне App Store, решать вам.

Сообщества, посвящённые sideloading, зачастую первыми сообщают об отзыве сертификата, поэтому их стоит проверять, если приложения внезапно перестают открываться. Наши руководства по Scarlet iOS описывают типичные способы решения этой проблемы.

Похожие записи