В обновлённом инструментарии iOS Forensic Toolkit для извлечения данных из iPhone и других устройств под управлением iOS можно использовать обычный или одноразовый идентификатор Apple ID. Использование Apple ID, не зарегистрированного в программе Apple для разработчиков, сопряжено с некоторыми рисками и ограничениями. В частности, необходимо верифицировать сертификат, которым подписан агент-экстрактор, для чего на исследуемом iPhone потребуется открыть подключение к интернет. В данной статье мы расскажем, как позволить устройству верифицировать цифровую подпись, минимизировав риски удалённой блокировки или сброса устройства.
В Elcomsoft iOS Forensic Toolkit используется метод извлечения файловой системы и дешифрования Связки ключей с устройств iOS без установки джейлбрейка. Для доступа к данным используется собственное приложение, которое служит агентом-посредником между телефоном и компьютером эксперта. Использование агента обладает рядом преимуществ перед методами, использующими джейлбрейк. При этом, однако, требуется использование идентификатора Apple ID для подписи агента извлечения. Использование обычного Apple ID (не зарегистрированного в программе для разработчиков) требует обязательной верификации цифровой подписи, которая должна быть проведена на самом устройстве. Это, в свою очередь, требует подключения к удалённому серверу Apple — иными словами, выхода в интернет.
Бесконтрольный выход исследуемого устройства в сеть несёт ряд неоправданных рисков, уменьшить которые можно, ограничив возможность подключения единственным сетевым адресом — тем, который требуется для проверки сертификата.
Самый простой способ избежать рисков — избавить iPhone от необходимости проверять сертификат цифровой подписи в принципе. Если агент-экстрактор подписан с Apple ID, зарегистрированным в программе Apple для разработчиков, то проверка сертификата проводится автоматически, без выхода iPhone в сеть.
Проблемы возникают тогда, когда для подписи агента-экстрактора используется обычный или одноразовый идентификатор Apple ID. В этой ситуации для проверки сертификата iPhone придётся «выпустить» в сеть, позволив ему подключиться к удалённому серверу для валидации цифровой подписи. Адрес этого сервера — ppq.apple.com (17.173.66.213), порт 443.
Наша цель — ограничить сетевое подключение доступом исключительно к единственному указанному выше серверу. Для этого необходимо ограничить список узлов, к которым разрешено подключаться исследуемому устройству, оставив в «белом списке» единственный адрес сервера проверки сертификатов Apple (упомянутый выше ppq.apple.com).
Добиться этого можно несколькими способами. Проще всего настроить сеть Wi-Fi на роутере таким образом, чтобы в «белом списке» был единственный нужный узел. Если же радиомодули устройства требуется держать отключёнными, то можно воспользоваться заранее настроенным проводным соединением (например, при помощи адаптера Lightning на Ethernet или более дешёвой альтернативой, либо комбинацией адаптера Lightning на USB и адаптера USB Ethernet).
Если же вы пользуетесь компьютером Mac, то никакого дополнительного аппаратного обеспечения не нужно. Достаточно настроить соединение на самом компьютере.
Шаг 1. Подключите к компьютеру Mac любой iPhone кроме того, который вы анализируете. Откройте [Settings] | [Shared] и убедитесь, что в меню Internet Sharing в «To computers using:» содержится пункт «iPhone USB».
Если такого пункта нет, временно включите на телефоне Personal Hotspot (выберите опцию «USB only»). Пункт меню должен появиться. После этого iPhone можно отключить от компьютера, а раздачу интернета с него — выключить.
Шаг 2. Убедитесь, что к компьютеру Mac не подключено ни одного iPhone, и активируйте файрвол (только для интерфейса iPhone USB), разрешив доступ только к узлу ppq.apple.com. Это можно сделать при помощи нашего скрипта, запущенного из-под пользователя root:
sudo ./install_firewall.sh
Содержимое скрипта очень простое:
#!/bin/bash cp /etc/pf.conf /etc/pf.conf.backup echo "table <allowed-hosts> { ppq.apple.com, 192.168.2.0/24 }" >> /etc/pf.conf echo "block drop in quick on bridge100 proto tcp from any to !<allowed-hosts>" >> /etc/pf.conf pfctl -f /etc/pf.conf
Шаг 3. Подключите iPhone, из которого нужно извлечь данные. Агент-экстрактор должен быть уже установлен. Если это не так — установите агент-экстрактор через Elcomsoft iOS Forensic Toolkit. Теперь включите Internet Sharing на iPhone USB.
Шаг 4. Пройдите верификацию сертификата, выданного на тот Apple ID, посредством которого был установлен агент-экстрактор.
Шаг 5. Проведите извлечение файловой системы и Связки ключей в EIFT.
Step 6. Теперь файрвол можно отключить, восстановив оригинальную конфигурацию из резервной копии. Проще всего это сделать, запустив второй скрипт (от имени пользователя root):
sudo ./uninstall_firewall.sh
Этот скрипт даже проще предыдущего:
#!/bin/bash cp /etc/pf.conf.backup /etc/pf.conf pfctl -f /etc/pf.conf
Вы можете и оставить данную конфигурацию для последующих сессий анализа (в случае, если вам придётся извлекать данные из других iPhone). В этом случае настройки на компьютере вам повторять не придётся, а любой iPhone, который будет подключаться к данному компьютеру, будет видеть исключительно сервер верификации сертификатов.
Elcomsoft iOS Forensic Toolkit – специализированный инструмент для проведения криминалистического анализа устройств, работающих под управлением Apple iOS. Для анализа доступна вся пользовательская и системная информация, а также зашифрованные данные из системного хранилища (связка ключей).