Для полного извлечения файловой системы из устройств Apple крайне желательно иметь учётную запись разработчика, но на компьютерах под управлением macOS есть возможность использовать и обычные. Использование учётной записи Apple ID, не принадлежащей разработчику, сопряжено с определёнными рисками и ограничениями. В частности, необходимо подтвердить цифровую подпись агента извлечения на исследуемом iPhone, для чего требуется подключить телефон к Интернету. В этой статье мы расскажем, как установить агент-экстрактор и верифицировать подпись с обычного Apple ID безопасным образом.
Elcomsoft iOS Forensic Toolkit использует специальные способы низкоуровневого извлечения для создания образа файловой системы устройств iOS, а для некоторых устройств — и расшифровки цепочки ключей. Благодаря использованию уникального агента-экстрактора поддерживаются все модели iPhone от старого iPhone 5s до актуальной линейки iPhone 13. Извлечение данных при помощи агента даёт многочисленные преимущества по сравнению с логическим извлечением, однако агент-экстрактор должен быть каким-то образом установлен на устройство. Использовать штатные средства для загрузки агента невозможно, однако есть лазейка: установка поддерживается при использовании идентификатора Apple ID, зарегистрированного в программе разработчика Apple.
Но что делать, если у вас нет возможности зарегистрировать учётную запись в программе Apple для разработчиков? В таком случае можно использовать обходной путь, но лишь при условии, что агент-экстрактор устанавливается с компьютера Mac (увы, установка с Windows возможна исключительно через программу Apple для разработчиков). Есть и более опасный подводный камень: процесс установки требует подтверждения цифрового сертификата, которым подписано устанавливаемое приложение, а для этого, в свою очередь, необходимо подключиться к серверу Apple.
Не будем подробно останавливаться на том, почему такое подключение в процессе расследования недопустимо. Упомянем лишь очевидные вещи — автоматическую синхронизацию данных на устройстве (нарушается неизменность улик) и ненулевой риск дистанционной блокировки и/или стирания устройства через приложение Локатор. Загрузка и подпись агента идентификатором Apple ID, зарегистрированным в программе Apple для разработчиков, полностью устраняет эту проблему, но и при использовании обычной учётной записи риск можно свести к допустимому минимуму, ограничив подключение на устройстве одним поддоменом apple.com, который требуется для проверки сертификата.
Всем известно, что распространение приложений в рамках экосистемы iOS ограничено фирменным магазином приложений App Store. Очевидно, что в магазин приложений Apple агент-экстрактор не попадёт ни при каких обстоятельствах. Для установки агента нужно использовать обходной путь.
Зарегистрированным разработчикам доступен штатный способ установки приложений, минующий App Store. Для того, чтобы считаться разработчиком, нужно зарегистрироваться в программе Apple для разработчиков по следующей ссылке: Enrollment — Support — Apple Developer
Альтернативный способ регистрации — через приложение Apple Developer на iPhone или iPad: Enrolling and Managing your Account in the Apple Developer App — Support — Apple Developer
Вы можете подать заявку как индивидуальный разработчик или как компания. В прошлом персональные учётные записи и учётные записи организаций были функционально идентичны, однако в последнее время Apple ограничила индивидуальных разработчиков таким образом, что они могут загружать на iPhone приложения только с компьютеров Mac. Учётные записи организаций не имеют таких ограничений и могут использоваться для загрузки приложений с компьютеров macOS или Windows.
Оба типа учётных записей позволяют регистрировать в программе по сто устройств каждого типа в год (например, сто iPhone, сотню iPad, ещё сто Apple TV и т. д.). Удаление ранее зарегистрированного устройства не сбрасывает счёт; лимит сбрасывается автоматически на ежегодной основе. В результате этого ограничения вы сможете загружать агент не более чем на сто устройств в год для каждого Apple ID, зарегистрированного в программе разработчика. Это и другие ограничения, а также стоимость участия в программе, время ожидания подтверждения регистрации и неопределённость с принятием в программу со стороны Apple заставляют экспертов рассматривать возможность использования обычных Apple ID для подписи агента-экстрактора.
Существует возможность загрузки агента-экстрактора на iPhone с использованием обычного Apple ID. Для этого можно использовать как личную, так и одноразовую (созданную специально для конкретной сессии) учётную запись Apple ID. Этот метод имеет два ограничения:
Есть ещё один момент, нуждающийся в прояснении. При использовании учётных записей разных типов доступны различные способы авторизации в учётную запись. Кроме того, использование Windows или macOS также влияет на выбор доступного способа авторизации. В ряде случаев необходимо создать специальный пароль приложения, а в ряде других — использовать стандартные логин и пароль (и пройти двухфакторную проверку). В таблице ниже описаны эти различия.
Windows | macOS | |
Обычный Apple ID — обычный пароль+2fa | — | + |
Обычный Apple ID — пароль приложения | — | — |
Разработчик (персональный) — обычный пароль+2fa | — | + |
Разработчик (персональный) — пароль приложения | * | * |
Разработчик (организация) — обычный пароль+2fa | — | + |
Разработчик (организация) — пароль приложения | + | + |
* возможность отключена Apple; сообщение об ошибке «Failed to retrieve development certificate for the entered Team ID. Please check your Team ID and try again»
Одним словом, если вы загружаете агент с Mac, используйте логин и пароль (и второй фактор аутентификации). Если используете Windows, вы сможете использовать только учётную запись разработчика, зарегистрированную как организация. В этом случае вы также можете пройти аутентификацию с помощью своего логина и пароля или использовать специально созданный пароль приложения.
Как упоминалось выше, при использовании Apple ID, не зарегистрированного в программе для разработчиков, при установке агента-экстрактора необходимо верифицировать цифровой сертификат подписи на телефоне. Это, в свою очередь, требует выхода телефона в Интернет со всеми сопутствующими последствиями. Для снижения сопутствующих рисков необходимо ограничить подключение; в идеале iPhone должен иметь возможность подключаться только к узлу проверки сертификатов и ни к чему больше.
Простейший способ достичь цели — настроить точку доступа сети Wi-Fi, к которой будет подключаться телефон. Если ваш роутер поддерживает «белый список» узлов, настройте его следующим образом:
Apple Certificate Validation Server: ppq.apple.com (IP адреса можно узнать коммандой nslookup ppq.apple.com), port 443.
После настройки подключите iPhone к соответствующей сети Wi-Fi.
Если нет возможности настроить беспроводное соединение, вы можете ограничить доступ скриптом, запущенным на том компьютере Mac, с которого проводится извлечение.
Требования: компьютер Mac под управлением macOS 10.14 Mojave или более новой. Все радиомодули iPhone должны быть отключены вплоть до момента окончательной настройки.
Скачайте и распакуйте скрипт: https://www.elcomsoft.com/download/firewall.zip
Вы можете настроить Mac таким образом, чтобы iPhone выходил в сеть именно через него. Для этого нужно создать правило брандмауэра, которое разрешает iPhone доступ исключительно к серверу проверки сертификатов Apple.
Шаг 1. Отключите Mac от сети Internet (отключите все проводные и беспроводные соединения). Подключите к нему исследуемый iPhone. Откройте [Settings] | [Shared] и убедитесь, что Internet Sharing п «To computers using:» содержит пункт «iPhone USB».
Шаг 2. Убедитесь, что iPhone корректно подключён, а доверенные отношения с компьютером установлены. Активируйте брандмауэр (для интерфейса iPhone USB), разрешив доступ к ppq.apple.com по белому списку. Для этого запустите ранее скачанный скрипт с правами суперпользователя:
sudo ./install_firewall.sh
Скрипт обнаруживает потенциальные мостовые соединения на компьютере и применяет правила блокировки только для них. Сам компьютер останется подключённым к Интернету, а iPhone, подключённый к USB-мосту, сможет подключиться к единственному серверу для проверки сертификата.
Обратите внимание: все изменения на компьютере — временные; они проводятся в оперативной памяти компьютера. Для их отмены достаточно запустить скрипт uninstall_firewall или просто перезагрузить компьютер.
Step 3. Вновь подключите компьютер к сети Интернет.
Step 4. Загрузите агент-экстрактор на iPhone и включите Internet Sharing to iPhone USB.
Step 5. Подтвердите сертификат в настройках телефона.
Step 6. Проведите извлечение данных в EIFT.
Step 7. Теперь вы можете удалить правила брандмауэра, запустив второй скрипт как пользователь root:
sudo ./uninstall_firewall.sh
Если вы перезагрузите компьютер, исходные правила брандмауэра будут восстановлены автоматически.
Вы можете сохранить текущую настройку для последующих сессий. В этом случае любой iPhone, подключённый к Mac после настройки брандмауэра, будет иметь доступ только к конкретному узлу Apple, необходимому для подтверждения сертификата.
Мы работаем над очередной версией iOS Forensic Toolkit с более широкой совместимостью и расширенной поддержкой многих моделей iPhone. Оставайтесь на связи!
Elcomsoft iOS Forensic Toolkit – специализированный инструмент для проведения криминалистического анализа устройств, работающих под управлением Apple iOS. Для анализа доступна вся пользовательская и системная информация, а также зашифрованные данные из системного хранилища (связка ключей).