Под капотом: изучаем работу агента-экстрактора

9 февраля, 2023, Oleg Afonin
Рубрика: «Полезные советы», «Программное обеспечение», «Разное»
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Для чего нужен и как работает агент-экстрактор из состава iOS Forensic Toolkit? Чем извлечение посредством агента-экстрактора отличается от checkm8, можно ли их использовать на одном устройстве и нужно ли это делать? Наконец, как правильно использовать агента, чтобы извлечь из устройства максимальное количество данных без лишнего риска?

Агент-экстрактор: что это такое

С точки зрения эксперта-криминалиста, агент-экстрактор — один из инструментов для низкоуровневого извлечения данных из устройств под управлением iOS и iPadOS, пришедший на смену небезопасному процессу, который использовал публичные джейлбрейки. В этом качестве агент-экстрактор оказался незаменим: его использование абсолютно безопасно, а после его удаления на устройстве не остаётся следов его работы за исключением нескольких записей в системных журналах. Агент-экстрактор никак не модифицирует системный раздел устройства.

Чтобы лучше представить преимущества, которые даёт агент-экстрактор, достаточно вспомнить, как работало низкоуровневое извлечение всего несколько лет назад. Для получения доступа к файловой системе устройства эксперту приходилось устанавливать на устройство джейлбрейк, что всегда было достаточно рискованной с точки зрения сохранения целостности данных и последующей работоспособности устройства операцией.

Разработка в 2020 году агента-экстрактора положила конец использованию джейлбрейков в целях мобильной криминалистики. Все известные публичные (и некоторые неопубликованные) уязвимости, использующиеся в десятках различных джейлбрейков для эскалации привилегий, теперь упакованы в код единственного приложения, каковым является агент-экстрактор. Увеличились и скорость и устойчивость работы при передаче на компьютер эксперта больших объёмов данных.

Как это работает

В операционной системе iOS предпринят целый ряд мер, ограничивающих доступ приложений к данным на устройстве. Каждое запущенное на телефоне или планшете приложение получает доступ к данным из собственной «песочницы», а также к той информации, которую через специальные API сделали доступной другие приложения. Даже системное приложение «Файлы», появившееся в iOS 11, не имеет доступа к данным сторонних приложений. О доступе к рабочим базам данных приложений или, скажем, к сохранённым пользователем паролям при штатной работе системы не идёт и речи. Это — отличная новость с точки зрения безопасности, но и большое неудобство с точки зрения эксперта-криминалиста.

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

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

Итак, процесс кажется относительно несложным: уязвимость — эксплойт — эскалация привилегий — доступ к файловой системе. Всё просто? К сожалению, нет: одного лишь эксплойта ядра недостаточно даже для полного доступа к файловой системе, а для расшифровки записей из связки ключей каждый раз требуется дополнительный кропотливый труд.

Агент или checkm8?

Несмотря на различия в совместимости между способами извлечения, использующими checkm8 и агента-экстрактора, нам часто задают этот вопрос. Отметим, что в большинстве случаев ответ на него простой: используйте тот метод извлечения, который доступен для конкретного устройства. Если же вышло так, что для какого-то устройства (как правило, очень старого и давно не обновлявшегося) доступны оба метода, то пользуйтесь checkm8, если у вас есть компьютер с macOS (это — одно из требований iOS Forensic Toolkit 8). Если же компьютера с macOS под рукой не оказалось, воспользуйтесь агентом-экстрактором, который можно установить в том числе из-под Windows. Подытожим:

checkm8: используйте на устройствах с чипами A5…A11; за единственным исключением (модели iPhone на чипах A11 под управлением iOS 16) поддерживаются все версии iOS. Для установки эксплойта требуется компьютер Mac.

Агент-экстрактор: в отличие от checkm8, не зависит от аппаратной платформы (поддерживаются все 64-разрядные платформы начиная с A7), но привязан к версии iOS. На момент выхода статьи поддерживаются устройства с iOS 9 — iOS 15.5. Для установки агента нужен либо компьютер Mac, либо учётная запись, зарегистрированная в программе Apple для разработчиков.

Резервная копия или агент?

Резервные копии и другие данные, к которым можно получить доступ в рамках механизма расширенного логического извлечения, часто используются в процессе расследования. Этому есть причины: резервные копии поддерживаются всеми моделями iPhone и iPad независимо от установленной версии iOS, а извлечь их можно как с использованием компьютера Mac, так и из-под Windows. В то же время многие данные, доступные низкоуровневыми методами, в резервные копии не попадают. Например, в резервные копии не попадают почтовые сообщения, базы данных большинства программ мгновенного обмена сообщениями, а также системные журналы. В последних могут содержаться важные для расследования записи об использовании устройства, данные о местоположении и другие. Подытожим:

Резервные копии: используйте на всех устройствах iPhone и iPad независимо от платформы и версии системы. Для сопряжения устройства с компьютером понадобится код блокировки экрана. Можно использовать Mac или компьютер с Windows.

Агент-экстрактор: не зависит от аппаратной платформы (поддерживаются все 64-разрядные платформы начиная с A7), но привязан к версии iOS. На момент выхода статьи поддерживаются устройства с iOS 9 — iOS 15.5. Для установки агента нужен либо компьютер Mac, либо учётная запись, зарегистрированная в программе Apple для разработчиков. Для сопряжения устройства с компьютером понадобится код блокировки экрана.

Что ещё нужно для работы агента-экстрактора

Устройство, работающее под управлением совместимой версии iOS; компьютер Mac либо учётная запись, зарегистрированная в программе Apple для разработчиков; свежая версия iOS Forensic Toolkit… этот список когда-нибудь закончится? Да, всего одно дополнительное требование: для успешной работы нужно разблокировать экран устройства (сработает как код блокировки экрана, так и биометрика) и установить сопряжение устройства с компьютером, для чего в современных версиях iOS подходит исключительно код блокировки экрана. Соответственно, код блокировки экрана устройства (если он установлен) необходимо знать.

Варианты установки

Установка агента-экстрактора на устройство, с одной стороны, очень проста (достаточно установить сопряжение устройства с компьютером и выполнить одну команду), а с другой — искусственно усложнена, но не нами, а разработчиками Apple.

Как следует из перечисленных в предыдущем разделе системных требований, установить агент-экстрактор на устройство с компьютера Windows с обычной (не зарегистрированной в программе для разработчиков) учётной записью в настоящий момент не удастся. Почему так? Дело в том, что разработчики Apple предпринимают усилия с целью ограничить возможность установки на устройства экосистемы Apple приложений, полученных из сторонних источников. Несколько месяцев назад разработчики Apple в очередной раз осложнили работу экспертов-криминалистов, введя ещё более жёсткие ограничения на установку сторонних приложений на мобильные устройства компании. На тот момент новые ограничения привели к тому, что установка агента-экстрактора с компьютеров под управлением Windows стала невозможной; экспертам приходилось использовать для этого компьютеры с macOS, в которых механизм установки продолжал исправно работать. Лишь недавно мы смогли обойти это ограничение, изменив работу механизма цифровой подписи агента-экстрактора. Благодаря этому мы добились возможности установки агента-экстрактора на устройство не только с компьютеров под управлением macOS (этот вариант работал и раньше), но и Windows. В то же время для установки агента-экстрактора из-под Windows по-прежнему требуется учётная запись, зарегистрированная в программе Apple для разработчиков. А вот при использовании компьютеров с macOS можно обойтись обычной учётной записью, но устройство при этом приходится подключать к сети интернет для верификации цифровой подписи.

Как использовать

Работа с агентом-экстрактором подразделяется на три части. Во-первых, нужно убедиться, что агент поддерживает установленную на устройстве версию ОС:

Далее нужно установить агент-экстрактор на устройство. Мы писали об этом в нескольких статьях, вот самая свежая из них:

Оставшиеся шаги достаточно просты; они перечислены в «шпаргалке»:

По окончании работы не забудьте удалить приложение агента с телефона. Для этого можно воспользоваться штатной процедурой удаления приложения (через длительное нажатие на иконку приложения на экране устройства) или через командную строку (см. инструкции из «шпаргалки»).

Насколько сложно установить?

Извлечение данных при помощи агента даёт многочисленные преимущества по сравнению с логическим извлечением, однако агент-экстрактор должен быть каким-то образом установлен на устройство. Использовать штатные средства — установку из магазина Apple App Store, — для загрузки агента невозможно, т.к. компания Apple никогда не пропустит подобное приложение в официальный магазин. Однако есть лазейка: установка поддерживается при использовании идентификатора Apple ID, зарегистрированного в программе разработчика Apple. Если возможности зарегистрировать учётную запись в программе для разработчиков нет, то доступен обходной путь, о котором мы рассказали в статье Установка агента-экстрактора без учётной записи разработчика. Каждый из двух способов имеет свои достоинства и недостатки.

Установка с учётной записью, зарегистрированной в программе для разработчиков: со всех точек зрения, это — наиболее корректный, универсальный (поддерживаются варианты установки как с компьютеров Mac, так и Windows) и безопасный способ. Его основные недостатки — платное участие в программе ($99 в год) и сложности, связанные с получением статуса разработчика: Apple достаточно неохотно предоставляет этот статус, часто отказывая без объяснения причин.

Установка с обычным Apple ID: этот способ несложен в использовании, но для его использования вам нужен будет компьютер Mac. Для установки агента вы можете использовать даже одноразовый, только что зарегистрированный Apple ID. В то же время использование этого способа сопряжено с существенным риском: для запуска установленного таким образом агента потребуется верификация цифровой подписи, а для этого устройство придётся выпустить в интернет со всеми вытекающими последствиями. В статье Установка агента-экстрактора без учётной записи разработчика мы рассказали об основных способах уменьшить риски, связанные с таким способом установки.


  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

REFERENCES:

Elcomsoft iOS Forensic Toolkit

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

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

НАШИ НОВОСТИ