EIFT Firewall: новый программный файрволл для установки агента-экстрактора

3 августа, 2026, Oleg Afonin
Рубрика: «Разное»

Низкоуровневое извлечение данных с помощью Elcomsoft iOS Forensic Toolkit начинается с установки агента-экстрактора в обход App Store, и агент не запустится, пока телефон не пройдёт одну-две проверки на серверах Apple. Для этого нужны сетевые запросы, которые делаются с телефона, выступающего вещественным доказательством. Именно из-за этого требования за последние три года мы выпустили три разных файрвола. Последний из них, EIFT Firewall, — бесплатное приложение для macOS и прямая замена скрипту 2023 года.

Зачем на устройстве нужен интернет

Приложение, установленное в обход App Store, должно быть подписано, и телефон должен признать эту подпись действительной, прежде чем запустит приложение. Сколько это стоит сетевых запросов — один или два — зависит от учётной записи, которой подписывалось приложение, и от версии iOS.

С самой подписью всё просто, и так было всегда. Приложение, подписанное учётной записью разработчика, устанавливается и запускается без лишних вопросов, независимо от того, когда эта учётная запись была создана. Приложение, подписанное обычной учётной записью, во-первых, попадает под ограничение в три программы в неделю, а во-вторых, требует, чтобы на телефоне вы явно указали, что доверяете этому разработчику (реальному в случае учётной записи разработчика или «фиктивному» в случае обычной). Это запрос к ppq.apple.com — фиксированный адрес, под который несложно сделать белый список.

Вторая проверка появилась позже. Начиная с iOS 16, при первом запуске приложение обращается ещё и к хосту с динамически формируемым именем в домене humb.apple.com. К цифровой подписи эта проверка прямого отношения не имеет, и зачем она нужна Apple, не до конца понятно. Её нет только при подписи платной учётной записью разработчика, зарегистрированной до 6 июня 2021 года; для более свежих учётных записей разработчика и для обычных учётных записей она выполняется. О подписи и учётных записях мы писали много и подробно, последний раз — в статье Агент-экстрактор: актуальная инструкция (2026).

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

Почему нельзя просто подключить телефон к сети

Как только у устройства появляется полноценный доступ в сеть, возобновляется синхронизация с iCloud, становится доступна функция Find My, и любая команда удалённой блокировки или стирания данных, отправленная владельцем учётной записи Apple ID (или тем, у кого есть к ней доступ), дойдёт до телефона. Приходят сообщения, обновляются приложения, состояние устройства меняется на глазах. Наконец, если устройство было в открытом интернете во время извлечения, объяснять это придётся уже в отчёте.

Решение одно: разрешить нужные проверки и заблокировать всё остальное.

Скрипт 2023 года и почему мы от него отказываемся

Первым нашим решением был shell-скрипт, который перенастраивал pf — пакетный фильтр macOS — поверх функции Internet Sharing (общего доступа к интернету) через USB. Он описан в статье Безопасный способ установки агента-экстрактора: блокировка сетевых соединений. Скрипт работал и на протяжении трёх лет оставался единственным вариантом для тех, кто не хотел покупать дополнительное оборудование.

Слабых сторон у него, однако, было несколько, и о них стоит рассказать подробно: они объясняют, как устроено новое решение.

Часть проблем была связана со списком разрешённых адресов. Скрипт определял текущий IP-адрес сервера активации Apple и создавал правило именно под этот адрес. Apple меняет этот адрес каждые несколько минут; скрипт показывал обратный отсчёт, и рекомендация была — дождаться окна в 200–300 секунд и только потом подключать исследуемое устройство. Фильтровался только TCP-трафик. Private Relay и VPN на телефоне ломали схему. И при запуске требовался второй iPhone — только для того, чтобы убедиться, что блокировка действительно работает, прежде чем подключать исследуемое устройство.

Основная проблема была в другом: сетевое подключение создавал не скрипт. Его создавала macOS собственными методами через Internet Sharing, а скрипт мог лишь пытаться отфильтровать уже готовый канал. Отсюда риск, что правила файрвола не применятся к этому подключению — или, наоборот, заблокируют его целиком. Ни то, ни другое о себе никак не сообщало.

Причина в том, как устроены интерфейсы. Устройство при каждом подключении генерирует уникальный MAC-адрес, и macOS каждый раз создаёт новый интерфейс enX. А начиная с iPhone 16 устройства генерируют сразу два таких интерфейса. В результате в Internet Sharing интерфейсы одного и того же телефона двоятся, и выбирать приходится наугад — ошибиться очень легко. Если не отключить Internet Sharing и переподключить телефон при уже погашенном скрипте, шанс получить заблокированный телефон стремится к 100%. Хуже всего скрипт показывал себя при сбоях. При ошибке в настройке скрипт не останавливался: телефон просто получал полный доступ в интернет без каких-либо предупреждений. Словом, возможностей сделать ошибку было слишком много, и большинство ошибочных состояний внешне невозможно было отличить от корректной работы.

Файрволл на Raspberry Pi

Аппаратный подход, сравнение с которым приведено здесь, полностью выносит фильтрацию за пределы рабочей станции: между телефоном и сетью помещается Raspberry Pi с нашей прошивкой. Прошивка для Pi 3 и Pi 4 доступна с открытым исходным кодом на github.com/Elcomsoft/eiftpi; для Pi 5 у нас есть готовый образ — закрытый по коду, но бесплатный, его можно получить в службе поддержки по запросу.

Это хорошее решение, и отказываться от него мы не планируем. Оно не привязано к конкретной операционной системе на рабочей станции и работает с версиями iOS Forensic Toolkit для Windows и Linux, не только для macOS. После первоначальной настройки пользоваться им очень просто. Расходы небольшие: сама плата, Ethernet-адаптеры, кабели, питание и один шаг настройки по SSH, если Pi выходит в сеть через Wi-Fi. Платы Orange Pi мы, как правило, не рекомендуем — в наших тестах они показали себя ненадёжными.

Очевидный минус в том, что это отдельное оборудование.

EIFT Firewall

Наконец, мы дошли до сути. EIFT Firewall — новое бесплатное приложение для macOS, которое создаёт временный, полностью контролируемый сетевой канал через USB между Mac и подключённым iPhone. Это не часть iOS Forensic Toolkit, а отдельное приложение, работающее с ним в паре: полноценное приложение с привилегированным вспомогательным процессом.

В нём важны три момента.

Первое: приложение не использует Internet Sharing в macOS. Оно организует сетевое подключение само, минуя эту опцию системы, и за счёт этого получает гораздо больше контроля над соединением: канал создаёт и фильтрует один и тот же компонент, так что нет промежутка, в котором канал уже есть, а фильтрации ещё нет. Включённый Internet Sharing приложение воспринимает как конфликт и отказывается начинать сеанс, пока эту функцию не отключат. Прежде чем кнопка Start session станет доступна, приложение проводит проверку в режиме «только чтение»: интерфейс выбранного iPhone, восходящий (upstream) интерфейс, статус вспомогательного процесса и то, не требует ли восстановления предыдущий сеанс. Если хотя бы один пункт нельзя подтвердить, кнопка Start остаётся недоступной, а приложение сообщает, какое именно условие не выполнено.

Второе: при любом сбое приложение закрывает доступ, а не открывает его. Для работы с агентом выбирается профиль Apple Activation, strict: он разрешает только одобренные службы активации после принудительной фильтрации DNS-запросов и блокирует весь остальной трафик, включая весь IPv6. Если iPhone отключают от USB посреди сеанса, вспомогательный процесс разрывает канал и не восстанавливает его автоматически при повторном появлении интерфейса. Если предыдущее завершение сеанса нельзя подтвердить, приложение не даст начать новый. Есть кнопка аварийной изоляции, которая немедленно обрывает контролируемый канал; после её нажатия сеанс начинают заново.

Третье: приложение формирует подробный отчёт. Команда File → Save Session Evidence Log… сохраняет архив в формате .tar.gz, в который входят отчёт forensic-report.md, название применённого профиля, статус сеанса и результат его завершения, данные о подключённом устройстве, журнал запросов к DNS, журнал работы и файл evidence-manifest.json с контрольными суммами SHA-256 всего содержимого. Перед записью архива приложение показывает, что именно в него войдёт. Всего этого раньше не было, а документировать, к чему было разрешено обращаться телефону, приходилось вручную.

Есть и другие профили под другие задачи: широкий доступ по IPv4, локальные сети из диапазонов RFC 1918, подписанные списки разрешённых служб, которые выдаёт служба поддержки. Но для установки агента нужен именно профиль Apple Activation.

Чего приложение не делает

Приложение контролирует только тот канал через USB, который оно само создаёт. Само по себе оно не доказывает, что у iPhone нет других путей в сеть. Если на телефоне включены Wi-Fi или сотовые данные, он может выйти в интернет в обход EIFT Firewall. Беспроводные модули на устройстве нужно отключить, проверить, что они отключены, и зафиксировать это отдельно; приложение прямо предупреждает об этом ограничении, и я предупреждаю о том же.

Работает только на macOS. Если рабочая станция с iOS Forensic Toolkit работает под Windows или Linux, используйте Raspberry Pi.

Это не файрволл общего назначения. В нём нет произвольных правил, root-терминала, перехвата пакетов, произвольной переадресации DNS. И он никак не меняет процедуру подписи: контролируемый исследователем Apple ID с привязанным к нему доверенным устройством Apple по-прежнему нужен, чтобы ответить на запрос двухфакторной аутентификации.

Порядок работы

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

  1. Убедитесь, что Internet Sharing в macOS отключён; сделайте это до того, как что-либо подключено.
  2. На iPhone отключите Wi-Fi, Bluetooth и сотовые данные, отключите Private Relay и любой VPN, проверьте правильность даты и времени. Если телефон был полностью разряжен и сбросил часы на 1970 год, проверка подписи не пройдёт.
  3. Подпишите и установите агент через iOS Forensic Toolkit.
  4. Установите EIFT Firewall на Mac и запустите приложение. Если оно предложит установить или обновить вспомогательный процесс, согласитесь и подтвердите запрос администратора macOS, после чего обновите состояние.
  5. Подключите iPhone по USB. Если телефон спросит, доверять ли этому компьютеру, разблокируйте его и подтвердите доверие: без установленного пейринга дальше ничего не заработает. Дождитесь завершения предварительной проверки и убедитесь, что показанный интерфейс соответствует нужному устройству.
  6. Выберите профиль Apple Activation, нажмите Start session и подтвердите запуск.
  7. Дождитесь состояния ACTIVE. Заголовок становится зелёным и сообщает, что контролируемый канал открыт. Статус IN PROGRESS означает, что запрос принят, а не что канал уже создан.
  8. На телефоне подтвердите доверие профилю разработчика и запустите агент, чтобы прошли проверки. В заголовке отображается счётчик зафиксированных DNS-запросов.
  9. Завершите сеанс и дождитесь, пока приложение подтвердит корректное закрытие канала.
  10. Сохраните архив с отчётом и журналами и только после этого отключите устройство.

Какой вариант выбрать

Коротко: на Mac — EIFT Firewall. На Windows или Linux — Raspberry Pi.

EIFT Firewall — полноценная замена скрипта 2023 года. Он полностью убирает из процедуры Internet Sharing вместе со всеми его сюрпризами, не требует второго iPhone для проверки, при сбое отказывается работать, а не работает неправильно, и после сеанса оставляет архив с подробным отчётом и журналами доступа. Raspberry Pi — для всех остальных платформ; его же можно использовать и с macOS.

Скачать EIFT Firewall вместе с руководством пользователя можно на сайте Elcomsoft.

REFERENCES:

Elcomsoft iOS Forensic Toolkit

Elcomsoft iOS Forensic Toolkit – специализированный инструмент для проведения криминалистического анализа устройств, работающих под управлением Apple iOS. Для анализа доступна вся пользовательская и системная информация, а также зашифрованные данные из системного хранилища (связка ключей).

Официальная страница Elcomsoft iOS Forensic Toolkit »

НАШИ НОВОСТИ