Процесс низкоуровневого извлечения данных из iPhone и iPad требует установки на устройство специальной программы — агента-экстрактора. Агент чрезвычайно прост в использовании, но после последних изменений на стороне Apple его установка стала вызывать проблемы даже у опытных пользователей. В этой статье мы описываем вариант решения — прошивку для Raspberry Pi 4, превращающую устройство в функциональный файрволл, который позволяет верифицировать цифровую подпись агента, блокируя попытки доступа подключённого iPhone к интернету.
Низкоуровневое извлечение из мобильных устройств Apple при помощи агента-экстрактора требует установки специального приложения, которое должно быть подписано цифровой подписью. В ряде случаев система потребует верифицировать подпись, подключившись к серверу Apple. Установка соединения с сервером несёт риск искажения цифровых улик в в процессе нежелательной синхронизации с облаком, а в худшем случае грозит потенциальной удалённой блокировкой устройства или уничтожением данных. Использование Raspberry Pi с нашей прошивкой позволит безопасно установить агент-экстрактор, верифицировав цифровую подпись, заблокировав исследуемому устройству доступ в интернет.
Внимание: если для установки агента-экстрактора вы используете учётную запись разработчика, созданную до 6.6.2021, то выход исследуемого устройства в интернет для верификации подписи не нужен, как не нужен, соответственно, и файрволл.
Вариант низкоуровневого извлечения через эксплойт загрузчика checkm8 по-прежнему единственный, гарантирующий криминалистическую чистоту анализа. В то же время парк уязвимых устройств неуклонно сокращается, а для последнего поколения iPhone, для которого доступен эксплойт, для применения эксплойта часто приходится сбрасывать код блокировки экрана, что серьёзно нарушает чистоту исследования. Криминалистическая ценность checkm8 на iPhone 8, 8 Plus и iPhone X под управлением iOS 16 практически сведена к нулю, а iOS 17 ещё сократит список поддерживаемых устройств. В целом, checkm8 — отличный способ доступа к данным, постепенно уходящий в прошлое.
В этой связи всё актуальнее становится извлечение посредством агента-экстрактора, который представляет собой приложение для iOS, посредством которого осуществляется низкоуровневый доступ к файловой системе и ключам шифрования, необходимым для расшифровки связки ключей. Доступ к файловой системе и связке ключей на iPhone невозможен без эскалации привилегий. И если ранее для эскалации привилегий использовались джейлбрейки сторонней разработки (способ ненадёжный и рискованный), то теперь в состав iOS Forensic Toolkit входит тот самый агент-экстрактор нашей собственной разработки.
В отличие от эксплойта checkm8, использующего аппаратную уязвимость в загрузчике ряда моделей устройств, агент-экстрактор использует программные уязвимости в операционной системе iOS, позволяющие организовать прямой доступ к системе. По объёму и детализации полученных данных этот способ не отличается от других низкоуровневых методов анализа — таких, как checkm8, — не требуя при этом удаления кода блокировки экрана в тех случаях, когда это необходимо для работы checkm8.
Агентом-экстрактором поддерживаются все модели iPhone и iPad, включая самые современные, хотя поддержка новых версий iOS появляется с серьёзным отставанием по мере того, как для новых сборок системы обнаруживаются уязвимости.
Для пользователя самая большая сложность в работе с агентом — это его установка. Каждое приложение, установленное на iPhone или iPad, должно быть подписано цифровой подписью, выдать которую может только Apple. При попытке запуска приложения, которое не было установлено через официальный магазин App Store, система затребует подтверждения цифровой подписи, для чего устройству понадобится соединиться с сервером Apple. Если устройство является частью доказательной базы, то любой выход в интернет связан с риском искажения данных в результате нежелательной синхронизации, а в худшем случае — и дистанционной блокировки устройства или удалённого уничтожения данных.
Возможный вариант решения проблемы, о котором мы многократно писали в прошлом — использование учётной записи, зарегистрированной в программе Apple для разработчиков. Ранее этот вариант решал все проблемы: устройство регистрируется в учётной записи, а верификация цифровой подписи не требует выхода устройства в интернет. Последовали изменения со стороны Apple, в результате первого из которых только первые 10 устройств добавляются в программу для разработчиков сразу, а для добавления последующих потребуется ждать до 3 дней (то есть, агент невозможно будет использовать сразу).
После второго обновления даже установленные посредством учётной записи для разработчиков приложения требуют верификации цифровой подписи в режиме онлайн, если учётная запись была создана после 6.6.2021 (отсюда). Та же проблема возникает и при использовании для подписания агента-экстрактора обычных учётных записей, которые не являются участниками программы Apple для разработчиков. Кстати, в статье Apple ошибка: для проверки цифровой подписи через учётную запись для разработчиков соединение происходит не с сервером ppq.apple.com (который всегда был для обычных учётных записей), а humb.apple.com (который, ко всему прочему, обладает динамическим IP, который меняется каждые 5 минут).
Не будем подробно останавливаться на том, почему такое подключение в процессе расследования недопустимо. Упомянем лишь очевидные вещи — автоматическую синхронизацию данных на устройстве, что искажает данные и может привести к бесполезности извлечённых из устройства цифровых доказательств, и ненулевой риск дистанционной блокировки и/или стирания устройства через приложение Find My (Локатор).
Таким образом, основные преимущества регистрации учётной записи в программе Apple для разработчиком практически утрачены. Вновь появился смысл использовать для подписи агента обычные учётные записи несмотря на ограничение на 3 устройства в неделю (в любой момент можно создать новый Apple ID). Да, для проверки цифровой подписи агента устройству потребуется выход в сеть. Для того, чтобы обезопасить соединение, мы и разработали решение, которое минимизирует риски, ограничив подключение на устройстве только тем сервером, соединение с которым необходимо для проверки сертификата.
Перечислив ограничения учётных записей разработчика, нельзя не упомянуть и об их достоинствах. Так, у пользователей Windows по-прежнему нет другого варианта установки агента-экстрактора: наш продукт позволяет использовать для установки обычные Apple ID только с компьютеров с macOS. Кроме того, для старых учётных записей, созданных до 6.6.2021, дополнительных проверок не будет; такие учётные записи имеет смысл использовать.
В своё время мы разработали решение на базе Mac, которое позволяло в большой степени защитить соединение. Однако это решение не слишком простое а использовании и оставляющее широкое пространство для ошибок. С целью упростить и обезопасить процесс мы разработали прошивку, которая превращает микрокомпьютер Raspberry Pi 4 в функциональный файрволл. Его использование максимально просто: одним проводом Pi подключается к роутеру, другим — к телефону, после чего на iPhone возникает защищённое соединение.
Прошивку можно найти в нашем репозитории на github (проект eiftpi). Рекомендуем также ознакомиться с другими опубликованными нами проектами с открытым исходным кодом в репозитарии Elcomsoft github, где на сегодняшний день содержится уже 16 проектов (и это число постоянно растёт).
Наконец, отметим, что наше решение будет работать и для любых других приложений, устанавливаемых на iPhone в обход официального магазина приложений и подписанных хоть обычной учётной записью, хоть учётной записью разработчика. Сюда входят в том числе и альтернативные агенты от других производителей.
Если под рукой нет Raspberry Pi, вы можете попробовать обезопасить подключение другим способом. Первый из них мы подробно описали в статье Безопасный способ установки агента-экстрактора: блокировка сетевых соединений, в которой в качестве файрволла выступает компьютер Mac; настройка производится посредством опубликованного нами скрипта.
Другая альтернатива — настройка «белого списка» непосредственно на роутере, через который устройство выходит в интернет. Однако если все адреса ppq.apple.com известны (их всего несколько), то адресов у humb.apple.com заметно больше, при этом очень небольшое количество роутеров со стандартной прошивкой позволяет в принципе создавать «белые списки» подключений, особенно по доменному имени, а не по IP. Один из вариантов — прошивка с открытым исходным кодом OpenWRT, настройка которой, однако, требует ещё более высокой квалификации.
Наконец, в этом разделе нужно упомянуть давно анонсированную в iOS 17 возможность штатной установки приложений из сторонних источников — которую, в прочем, пока не реализовали в первой бета-версии новой ОС.
Для настройки файрволла и подключения к нему iPhone вам потребуется дополнительное оборудование:
Скачайте образ прошивки из GitHub — Elcomsoft/eiftpi и запишите его на SD-карту с помощью программы, например, balenaEtcher. Вы можете скачать balenaEtcher по следующей ссылке: https://etcher.balena.io/.
На Raspberry Pi вам понадобятся два сетевых интерфейса. Один интерфейс должен быть подключён к интернету, а другой будет использоваться для подключения iPhone. Для подключения iPhone вам понадобится адаптер Lightning to Ethernet. Доступно два варианта подключения:
Важно: телефон необходимо подключать к встроенному в плату Ethernet, а сам Pi к интернету — либо по Wi-Fi, либо через USB-адаптер.
Примечание: Мы не рекомендуем прямое подключение Raspberry Pi к маршрутизатору и настройку беспроводной точки доступа на Pi, так как это в результате iPhone может подключиться к другой сети. Кроме того, этот метод требует дополнительных настроек.
Если вы предпочитаете подключить Raspberry Pi через Wi-Fi, выполните следующие шаги:
ssh eift@192.168.41.1
sudo nmtui
На этом всё! Вы успешно установили прошивку на Raspberry Pi. Подключите Pi к сети (через Ethernet или Wi-Fi), после чего подключите iPhone к Pi с помощью кабеля. Рекомендуем для начала подключить таким образом тестовый iPhone, чтобы убедиться, что доступ к интернету ограничен: на iPhone должны быть доступны только адреса ppq.apple.com и humb.apple.com.
Elcomsoft iOS Forensic Toolkit – специализированный инструмент для проведения криминалистического анализа устройств, работающих под управлением Apple iOS. Для анализа доступна вся пользовательская и системная информация, а также зашифрованные данные из системного хранилища (связка ключей).