Статьи по ключевому слову ‘Elcomsoft iOS Forensic Toolkit’

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

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

В обновлённой версии iOS Forensic Toolkit для Mac используется новый способ, позволяющий устанавливать агента-экстрактора на устройства под управлением iOS без обязательной регистрации в программе для разработчиков. Новый способ работает только с компьютеров под управлением macOS, и поддерживается исключительно в версии iOS Forensic Toolkit для Mac. Пользователям редакции для Windows по-прежнему доступна только работа с учётной записью для разработчиков; в качестве опции этот режим остался доступен и для пользователей редакции для Mac.

Учётная запись Apple ID для установки сторонних приложений

Компания Apple отличается цепким контролем над всей экосистемой iOS. Вся экосистема построена таким образом, что платить Apple должны все. Пользователи — покупкой устройств Apple и подписок. Разработчики — покупкой техники Apple, без которой невозможно запустить инструменты для разработки; оплатой самих инструментов для разработки, ежегодной оплатой участия в программе Apple для разработчиков и отдельно — оплатой подписки на право подавать заявки на публикацию приложений в App Store (отдельно отметим, что обязательства опубликовать поданное на рассмотрение приложение Apple на себя не берёт).

Идиллию нарушало сообщество пользователей джейлбрейков. Взлом iPhone и использование стороннего магазина приложений позволяло устанавливать программы, не одобренные модераторами Apple. Для тех, кто не хотел взламывать свой iPhone, существовала альтернатива: при помощи Cydia Impactor и подобных программ было возможно установить на телефон приложение и пользоваться им в течение семи дней. Необходимая для установки и запуска приложения цифровая подпись легитимно запрашивалась с сервера Apple; для запроса было достаточно использовать самую обычную учётную запись Apple ID.

С точки зрения Apple неделя без плотной опеки — это слишком много. В ноябре 2019 компания изменила политику одобрения цифровых подписей, в результате чего установка сторонних приложений при помощи Cydia Impactor стала невозможной. Saurik, разработчик Cydia Impactor, писал об этом в Twitter. С тех пор установка сторонних приложений стала возможна только при условии оплаты подписки на участие в программе Apple для разработчиков. Однако не всё так просто. Одновременно с блокировкой цифровых подписей «обычных» учётных записей у частных лиц начались проблемы и с регистрацией в программе для разработчиков. Установка сторонних приложений на iPhone без джейлбрейка стала сложным процессом, результат которого не гарантирован.

Извлечение данных и учётные записи для разработчиков

Подписка на участие в программе для разработчиков стоит недорого. Откровенно говоря, её стоимость — единицы процентов от стоимости программного обеспечения для анализа iPhone. Использование учётной записи разработчика для загрузки агента-экстрактора имеет ощутимые преимущества по сравнению с использованием обычного или анонимного (одноразового) идентификатора Apple ID. О преимуществах таких учётных записей говорится и в нашей статье. Только такие учётные записи позволяют обходить проверку сертификата цифровой подписи на iPhone, которая в противном случае потребовала бы выхода в глобальную сеть для связи с сервером Apple со всеми вытекающими из этого факта рисками и последствиями.

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

Совместимость и ограничения метода

Для того, чтобы воспользоваться новым методом загрузки агента-экстрактора, вам необходима обычная (или одноразовая) учётная запись Apple ID с активированной двухфакторной аутентификацией (на данный момент все новые учётные записи создаются уже с ней). Вам также потребуется доступ к компьютеру под управлением macOS. Разумеется, нужен iPhone, из которого будут извлекаться данные, и кабель Lightning, посредством которого телефон будет подключён к компьютеру.

В список совместимых моделей входят iPhone iPhone 5s … 11 Pro Max под управлением iOS 9.0 … 13.5.

Вам также понадобится компьютер под управлением macOS 10.12 (Sierra) … 10.15 (Catalina). Необходима версия iOS Forensic Toolkit для Mac 6.50 или более новая.

В сравнении с использованием учётной записи для разработчика извлечение с обычным Apple ID имеет ряд ограничений.

  1. Полученная цифровая подпись действительна в течение 7 дней. Постарайтесь завершить извлечение до того, как она истечёт.
  2. Обычные Apple ID можно использовать для подписи ограниченного числа устройств (на данный момент — трёх). Использование одноразовых Apple ID поможет решить проблему.
  3. Вам потребуется пройти двухфакторную аутентификацию. Код двухфакторной аутентификации будет отправлен непосредственно на доверенное устройство (получить код через SMS не представляется возможным), поэтому вам нужно будет иметь такое устройство под рукой. Впрочем, код не потребуется, если Mac уже является доверенным (привязанным к Apple ID, который вы собираетесь использовать).
  4. Необходимо пройти проверку (верификацию) сертификата цифровой подписи на iPhone, из которого вы собираетесь извлечь данные. Для этого телефон придётся подключить к интернет. Ознакомьтесь с инструкцией, которая позволит уменьшить связанные с этим риски.

Последовательность шагов

Обратите внимание: при анализе iPhone с использованием обычного Apple ID настройте ограничения на доступ в сеть согласно инструкции Извлечение данных из iPhone: ограничение сетевых подключений.

  • Скачайте последнюю сборку Elcomsoft iOS Forensic Toolkit.
  • Установите инструментарий согласно инструкции How to Install and Run iOS Forensic Toolkit on a Mac.
  • Запустите iOS Forensic Toolkit.
  • Введите команду 1 для установки агента-экстрактора на телефон. Введите логин и пароль используемого Apple ID, после чего введите одноразовый код двухфакторной аутентификации (код доставляется на доверенное устройство — iPhone, iPad или Mac).
  • Верифицируйте сертификат цифровой подписи на iPhone. Для этого устройству понадобится доступ к сети. После подтверждения сертификата запустите приложение-агента, коснувшись его иконки.
  • Введите команду 2 для извлечения и расшифровки Связки ключей
  • Введите команду 3 для извлечения образа файловой системы
  • Введите команду 4 для удаления агента-экстрактора с телефона

Настоятельно рекомендуем извлечь как Связку ключей, так и файловую систему, так как содержимое Связки ключей может использоваться для расшифровки данных некоторых приложений (например, облачных резервных копий WhatsApp, данных Signal и т.д.). Образ файловой системы можно проанализировать в программе Elcomsoft Phone Viewer или аналогичном продукте.

Заключение

В ноябре 2019 года произошли изменения, введённые Apple для более плотного контроля за установкой приложений из сторонних источников. В результате этих изменений перестал работать вариант установки сторонних приложений на устройства под управлением iOS, в котором для подписи исполняемого файла использовался обычный, чаще всего – одноразовый идентификатор Apple ID. Единственным доступным способом установки агента-экстрактора стала регистрация в программе Apple для разработчиков, участие в которой не бесплатно, процесс регистрации – сложен, а результат – не гарантирован. Нам удалось обойти введённые компанией ограничения, но только в версии для компьютеров Mac. Пользователям редакции для Windows по-прежнему необходима регистрация в программе Apple для разработчиков.

В обновлённом инструментарии 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, который будет подключаться к данному компьютеру, будет видеть исключительно сервер верификации сертификатов.

Одной из основных задач расследований, связанных с мобильными устройствами, является извлечение максимально полного набора данных. В случае, если мобильное устройство — iPhone, для низкоуровневого доступа к файлам и для расшифровки Связки ключей, в которой хранятся все пароли пользователя, может потребоваться установка джейлбрейка.  Несмотря на то, что существуют надёжные методы сбора данных, которые работают без джейлбрейка, эти методы могут быть недоступны в зависимости от ряда факторов, что возвращает нас к вопросу о джейлбрейках. Сегодня мы рассмотрим два самых популярных и самых надёжных в работе джейлбрейка — checkra1n и unc0ver. Чем они отличаются и в каких ситуациях какой из них стоит использовать? Попробуем разобраться.

Джейлбрейк checkra1n

Джейлбрейк chechra1n основан на уязвимости загрузчика, реализованной в эксплойте checkm8. Аппаратная природа проблемы не позволяет Apple закрыть уязвимость; соответственно, данный эксплойт и основанный на нём джейлбрейк останутся актуальными до тех пор, пока в циркуляции остаются устройства соответствующих поколений.

  • Подверженные уязвимости модели: iPhone 5s, 6, 6 Plus, 7, 7 Plus, 8, 8 Plus, iPhone X
  • Подверженные уязвимости версии iOS: iOS 12.3 до iOS 13.5.5 beta
  • За: совместимость с будущими версиями iOS; работает на заблокированных устройствах с неизвестным кодом блокировки
  • Против: поддерживается ограниченное число моделей; не работает для iOS 12.2 и более старых

Джейлбрейк unc0ver

Джейлбрейк unc0ver кардинально отличается от ранее описанного checkra1n. Данные джейлбрейк основан на уязвимостях в операционной системе iOS, а точнее — в конкретных версиях iOS вплоть до iOS 13.5. В новых версиях системы найденные уязвимости исправлены, и джейлбрейк перестал работать.

  • Подверженные уязвимости модели: iPhone 5s до iPhone 11 Pro Max и iPhone SE 2 (2020)
  • Подверженные уязвимости версии iOS: iOS 11.0 до iOS 13.5
  • За: стабильная установка и работа; совместим со всеми версиями iOS 11 и iOS 12; поддерживает последние поколения устройств Apple (iPhone 11, iPhone SE 2020)
  • Против: не работает с iOS 13.5.1 и 13.5.5 beta; используемые уязвимости закрыты Apple в свежих версиях системы

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

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

  • Поддерживаемые модели: iPhone 5s до iPhone 11 Pro Max и iPhone SE 2 (2020)
  • Поддерживаемые версии iOS: iOS 11.0 до iOS 13.3 (с некоторыми исключениями для iPhone 5s и iPhone 6)
  • За: 100% безопасность и криминалистическая прозрачность
  • Против: требуется учётная запись Apple для разработчиков; ограниченная совместимость

Прочие джейлбрейки

Для iOS 11 iOS 12 существуют и другие джейлбрейки, в частности — ElectrarootlessJB и Chimera. Мы поддерживаем Electra и Chimera, но поддержку rootlessJB в последней версии EIFT удалили. Связано это с тем, что обязанности этого джейлбрейка для всех поддерживаемых моделей устройств и версий iOS принял на себя агент-экстрактор нашей собственной разработки, который гораздо лучше приспособлен для работы в криминалистической лаборатории. В любом случае, мы рекомендуем остановиться на checkra1n и unc0ver для всех поддерживаемых ими устройств.

Для старых версий iOS доступны следующие джейлбрейки:

  • iOS 10.0 to iOS 10.3.3: Meridian
  • iOS 9.2 to iOS 9.3.3: Pangu
  • iOS 9.0 to 9.1: Pangu (другая версия)
  • iOS 8.0 to iOS 8.4: TaiG

Мы протестировали все, и не обнаружили проблем с извлечением как файловой системы, так и Связки ключей. Обратите внимание, что в некоторых джейлбрейках по умолчанию не включен ssh, поэтому вам придется установить OpenSSH из Cydia. Имейте в виду, что подключение устройства к сети несёт соответствующие риски. Поддержку iOS 10 в агент-экстрактор мы планируем добавить в ближайшее время.

Последовательность шагов

Прежде, чем вы предпримете какие-либо действия, необходимо узнать максимально полную информацию об устройстве:

  • Точный идентификатор модели
  • Установленная версия iOS
  • Заблокирован ли экран устройства и известен ли вам код блокировки

Для отключенных и заблокированных устройств с неизвестным паролем у вас не будет других вариантов, кроме использования checkra1n. Даже в этом случае вы будете ограничены извлечением данных из режима BFU (до первой разблокировки), в котором получится извлечь ограниченный набор данных. Это лучше чем ничего, но имейте в виду, что данный джейлбрейк совместим только с устройствами под управлением iOS 12.3 и более новых. Кроме того, checkra1n версии 0.9.6+ принудительно активирует режим ограничений USB, поэтому рекомендуем использовать более старую версию этого джейлбрейка, либо воспользоваться режимом диагностики для решения этой проблемы.

Если экран устройства разблокирован, но на устройстве установлена последняя версия iOS (бета-версия 13.5.1 или 13.5.5), checkra1n также будет единственным доступным вариантом.

Для большинства прочих моделей и версий iOS предпочтительным методом будет использование агента-экстрактора. Как отмечалось выше, это быстро и безопасно. При извлечении на основе агента не используется SSH; вместо этого используется прямое подключение. В текущей версии Elcomsoft iOS Forensic Toolkit есть полная поддержка iOS 11.0 — 13.3; для iOS 13.3.1 — 13.4.1 поддерживается только извлечение файловой системы (но не Связки ключей).

Для чего, в таком случае, нужен unc0ver? Этот джейлбрейк стоит использовать исключительно для современных поколений устройств на процессорах A12/A13 (модели iPhone Xs, Xr, 11, 11 Pro, SE2) для расшифровки Связки ключей в iOS 13.3.1-13.4.1 или iOS 13.5. Мы работаем над поддержкой расшифровки Связки ключей в iOS 13.5; эта возможность войдёт в ближайшую версию Elcomsoft iOS Forensic Toolkit, выход которой запланирован на следующей неделе.

Наконец, что можно сделать, если ни один из джейлбрейков к устройству не подошёл, а агент-экстрактор не поддерживает модель устройства или версию iOS? Ответ — логический анализ, включающий как резервную копию, так и другие данные. Обратите внимание:

  • Не позволяйте iPhone синхронизироваться с компьютером
  • Создавайте резервные копии с заданным (известным) паролем (в них содержится больше данных)
  • Не забывайте извлечь медиа-файлы, системные журналы и файлы приложений

Самый сложный вариант? Заблокированный iPhone на основе A12/A13 (checkm8 не поддерживается), с активированным режимом ограничений USB (нет возможности даже логического анализа, даже с действительной записью сопряжения lockdown/pairing). Все, что можно сделать, это переключить устройство в режим диагностики и извлечь информацию об устройстве, после чего запросить у Apple данные пользователя из облака, указав серийный номер устройства. Также можно попытаться найти учетные данные пользователя и выполнить извлечение из iCloud с помощью Elcomsoft Phone Breaker.

Другие устройства

Apple Watch S1-S3 точно так же уязвимы для эксплойта checkm8, как и модели iPhone, работающие на процессорах тех же поколений. Теоретически возможно полное извлечение файловой системы и из часов. Однако для Apple Watch не существует джейлбрейка; извлечение агентом-экстрактором также невозможно.

Для Apple TV 4 и 4K доступны джейлбрейки checkra1n и unc0ver. Мы не тестировали checkra1n (сложности с переводом Apple TV 4K в режим DFU, для чего необходим специальный адаптер), но unc0ver отработал корректно для версий tvOS до 13.4.5. Информация, доступная в Apple TV, может оказаться полезной для расследования — см. статью Apple TV and Apple Watch Forensics 01: Acquisition.

Заключение

«Решение одной кнопки» — несбыточная мечта для наших клиентов и недостижимая цель для нас. К сожалению, не существует ни одного решения, которое смогло бы извлечь информацию из абстрактного iPhone. В игру вступают такие тонкости, как используемый в модели процессор, установленная версия iOS, наличие или отсутствие кода блокировки экрана, активированный режим защиты USB и множество других факторов. Мы делаем все возможное, чтобы предложить экспертам на выбор несколько разных методов. Каким из них воспользоваться — вопрос как доступности и применимости для конкретного устройства, так и нужд эксперта в каждой конкретной ситуации.

Только что вышла свежая сборка iOS Forensic Toolkit. Для пользователя — эксперта-криминалиста, — изменения почти незаметны; внутри продукта, однако, изменилось многое. В этой статье мы расскажем о том, как работает один из самых интересных продуктов нашей компании, что изменилось в последней сборке и как это повлияет на процесс извлечения данных.

Для чего понадобился новый движок в iOS Forensic Toolkit

Необходимость в новом движке для утилиты низкоуровневого извлечения данных из устройств под управлением iOS (а также watchOS, tvOS и iPadOS) назрела давно. Для того, чтобы извлечь информацию из iPhone или iPad, нужно подключить его к компьютеру через USB порт. В отдельных случаях срабатывает и беспроводное подключение, но проводное — быстрее и гораздо надёжнее.

Для того, чтобы извлечь данные из iPhone, мы задействуем целый ряд протоколов и опрашиваем несколько разных служб, работающих на устройстве. Для того, чтобы это стало возможным, нам (и всем остальным поставщикам криминалистического ПО для iPhone) необходимы низкоуровневые драйверы Apple. Другого способа связаться с iPhone просто не существует.

Итак, драйвер. Сталкивались ли вы когда-нибудь с проблемой, описанной в статье Если компьютер не распознает iPhone, iPad или iPod? Помимо прочего, в состав автономной версии iTunes для Windows входит компонент под названием “Apple Mobile Device Driver” (фактически, это два разных драйвера — в 32- и 64-разрядном исполнении). А вот в редакции iTunes для встроенного в Windows 10 магазина приложений Microsoft Store этот компонент не входит — хоть сам драйвер и поставляется в составе продукта. Соответственно, предыдущие версии iOS Forensic Toolkit, рассчитывая на установленный в системе компонент, выдавали ошибку, если установлена была «магазинная» версия iTunes.

Ещё одной проблемой являются компоненты, которые расположены между драйвером и нашей утилитой. К примеру, в статье CheckRa1n описаны сторонние компоненты, iproxy; есть и множество других вещей, не вошедших в статью (например, itunnel_mux).

Наконец, что не менее важно, тип соединения. Мы всегда рекомендуем не только переводить устройство в режим «В самолёте», но и отключать сетевые подключения (Wi-Fi и даже Ethernet) на компьютере, на котором запущена утилита. Если об этом забыть, результат может получиться… неожиданный. Так, однажды в нашей лаборатории Toolkit случайно подключился к Apple TV, который находился в той же сети Wi-Fi, и даже получил от него какие-то данные. На тот момент мы и представить не могли, что такое возможно.

Что изменилось и как это повлияет на использование iOS Forensic Toolkit

Новый канал взаимодействия удаляет устаревшие зависимости и становится значительно быстрее и надёжнее. Теперь не имеет значения, установлена ли у вас установленная версия iTunes или версия Microsoft Store (тем не менее, рекомендуем ознакомиться со статьёй Apple iTunes: Standalone vs. Microsoft Store Edition, в силу наличия других особенностей данной версии). Благодаря новому каналу удалось избавиться от одного из предварительных шагов – требования отключать беспроводные сети на компьютере эксперта. Отключать беспроводные сети на iPhone мы рекомендуем по-прежнему в силу очевидных причин.

Новый канал взаимодействия работает для логического извлечения и при использовании джейлбрейка; агент-экстрактор собственной разработки Элкомсофт изначально использовал новый способ взаимодействия.

Наконец, последнее. Время от времени у некоторых пользователей возникали проблемы с работой команд (I)nfo, (L)ogs и (S)hared, проявлявшиеся на некоторых комбинациях устройств и версий iOS. Проблемы проявлялись случайным и непредсказуемым образом; сегодня работает, завтра — нет. И эта проблема также решена внедрением нового канала взаимодействия.

Помимо прочего, мы улучшили поддержку iOS 13.4.1 и добавили совместимость с iOS 13.4.5 (beta 4; мы пока не протестировали работоспособность нового механизма Exposure Notification API для отслеживания распространения COVID-19).

Windows или macOS?

Нам прекрасно известно, что популярность компьютеров Apple с macOS в России стремится к нулю, а их распространённость в среде специалистов по мобильной криминалистики не стремится, а строго равняется нулю. Тем не менее, было бы неправильно не рассказать о некоторых преимуществах, которыми обладают компьютеры Apple в контексте связки с другими устройствами компании — например, iPhone. Некоторые виды джейлбрейков, а также множество манипуляций (например, отключение режима защиты USB) возможны только в macOS. Само извлечение данных также работает более уверенно именно в ОС собственной разработки Apple в силу более качественных драйверов USB и некоторых особенностей ядра. Иными словами, для извлечения данных macOS подходит лучше. А вот для анализа собранной информации можно (и даже более удобно) использовать компьютер с Windows.

Если у вас используется macOS 10.15 Catalina, ознакомьтесь со статьёй Installing and using iOS Forensic Toolkit on macOS 10.15 Catalina:

  • Обработайте образ DMG iOS Forensic Toolkit с помощью команды xattr.
  • Установите доверительные отношения с устройством в Finder (немедленного запроса при подключении устройства нет).
  • Если вам нужен доступ к файлам lockdown (pairing), сначала отключите SIP (требуется перезагрузка), а затем предоставьте текущему пользователю доступ к этой папке с помощью команды sudo chmod.

Если вы используете Windows (мы поддерживаем Windows 8 / 8.1, Windows 7 и Windows 10), обязательно прочитайте iOS Acquisition on Windows: Tips&Tricks. Есть только одно важное дополнение: при создании резервной копии с помощью iOS Forensic Tookit проявите терпение. После выбора папки и ввода пароля резервной копии, но ещё до того, как процесс создания резервной копии фактически начнётся, может возникнуть пауза до 2 минут. На экране при этом ничего не происходит; это нормально. При возникновении любых проблем первое, что нужно попробовать, это просто перезагрузить систему и снова запустить процесс. (Мы в курсе того, что «перезагрузить систему» — первая и обычно последняя рекомендация «специалистов по технической поддержке», но в данной ситуации это действительно помогает в 90% случаев).

Информация о совместимости

На текущий момент актуальна следующая информация о совместимости:

  • (Расширенное) логическое извлечение: все устройства, все версии.
  • Полное извлечение файловой системы и связки ключей из взломанных устройств: все комбинации устройств/iOS, для которых доступен джейлбрейк (в настоящее время до iOS 13.4.5 бета для совместимых с checkra1n устройств, до 13,3 для iPhone Xs/Xr/11/11 Pro).
  • Извлечение агентом-экстрактором: большинство устройств под управлением iOS 11.0–13.3 (кроме iPhone 5s и 6 под управлением отдельных версий iOS).

Время жизни файлов lockdown в iOS 11-13 ограничено 30 днями согласно бюллетеню Apple Platform Security (используйте эту ссылку, если прямой линк на файл с PDF не работает). Эти файлы чрезвычайно полезны для расширенного логического извлечения заблокированных устройств, если не активирован режим ограничения USB (см. USB Restricted Mode in iOS 13: Apple vs. GrayKey, Round Two).

В ближайшее время мы планируем добавить извлечение файловой системы агентом-экстрактором для iOS 13.3.1, 13.4 и 13.4.1, а также некоторых устаревших версий iOS (от iOS 7 до iOS 10). Для использования этой функции вам нужна учётная запись разработчика Apple; есть вероятность, что мы сможем сделать подпись агента, используя одноразовый Apple ID.

Не забудьте о Связке ключей! Это — настоящий Клондайк, в котором содержатся все сохранённые пароли пользователя (используйте Elcomsoft Phone Breaker).

Наконец, не забывайте об Elcomsoft Phone Viewer, инструменте для просмотра и анализа собранной другими нашими программами данных. Приложение поддерживает резервные копии iTunes и iCloud, а также образы файловой системы:

Заключение

Извлечение данных из устройств под управлением iOS на первый взгляд выглядит проще, чем работа с Android, однако это иллюзия. Не доверяйте инструментам, которые не дают полного и подробного объяснения того, как работают все их функции, скрывая особенности работы под названиями «метод 1» и «метод 2» с пометкой «если первый метод не работает, попробуйте второй». Вам необходимо чётко представлять, как работает вся система, какие данные вы можете получить и главное — какими будут последствия.

iPhone — один из самых популярных смартфонов в мире. Благодаря своей огромной популярности, iPhone привлекает большое внимание сообщества криминалистов. Для извлечения данных из iPhone разработано множество методов, позволяющих получать то или иное количество информации с большими или меньшими усилиями. Некоторые из этих методов основаны на недокументированных эксплойтах и публичных джейлбрейках, в то время как другие используют API для доступа к информации. В этой статье мы сравним типы и объёмы данных, которые можно извлечь из одного и того же iPhone 11 Pro Max объёмом 256 ГБ, используя три различных метода доступа к информации: расширенный логический, физический и облачный.

Мы протестировали и сравнили доступные методы на примере устройства iPhone 11 Pro Max 256 ГБ под управлением iOS 13.3. Устройство подключено к учётной записи iCloud вместе с большим количеством других устройств, включая компьютеры MacBook Pro, Mac Mini, iMac, четыре других iPhone (6s, 7, X, Xr), один iPad Pro третьего поколения, часы Apple Watch, пара Apple TV и одну колонку HomePod. Мы не считали устройства других членов семьи, объединённые в Семейный доступ. В процессе тестирования ожидалось, что значительная часть данных будет синхронизироваться между устройствами через iCloud.

Важно отметить, что ситуация постоянно меняется. В каждой или почти каждой новой версии iOS и macOS разработчики Apple меняют способы хранения, протоколы доступа и методы защиты данных. В iCloud также происходят постоянные изменения. Свежие примеры — в статье macOS, iOS and iCloud updates: forensic consequences.

Логический анализ

Логический анализ — самый известный, популярный и, казалось бы, хорошо изученный способ получить доступ к основному массиву данных. Метод логического анализа работает для всех устройств под управлением iOS и её производных iPadOS, WatchOS и tvOS. Всё, что нужно для работы — это само устройство, кабель Lightning (для часов Apple Watch — адаптер iBUS) и в некоторых случаях — код блокировки экрана для того, чтобы установить доверенные отношения с компьютером (это требование можно обойти, использовав извлечённую из компьютера пользователь запись lockdown).

Логический анализ предоставляет доступ к следующим типам данных:

  • Расширенная информация об устройстве
  • Резервная копия в формате iTunes (может оказаться зашифрованной паролем)
  • Медиа-файлы (фото и видео) и некоторые базы данных, которые могут содержать записи об удалённых файлах
  • Диагностические и crash-логи
  • Данные некоторых приложений

Резервные копии в формате iTunes — то, с чего начинался логический анализ. Все знают о резервных копиях; создавать резервную копию умеют, наверное, все или почти все пакеты для экспертов-криминалистов. Можно обойтись и без них, использовав непосредственно утилиту iTunes в Windows или Finder в macOS Catalina, см. статью Резервное копирование данных на устройствах iPhone, iPad и iPod touch; обратите, однако, внимание на необходимость заранее отключить синхронизацию в iTunes, иначе данные на устройстве будут модифицированы после подключения к компьютеру.

В статье The Most Unusual Things about iPhone Backups мы подробно рассказали о самых интересных вещах, связанных с резервными копиями iOS. Основная проблема, связанная с резервными копиями — возможность защиты паролем. Пароли к резервным копиям iOS необычайно стойкие; их перебор невыносимо медленный, буквально единицы или десятки паролей в секунду даже с использованием мощных графических ускорителей. Иногда пароль удаётся сбросить, но и сброс пароля к резервной копии — не панацея; детали — в статье The Worst Mistakes in iOS Forensics. В то же время, резервные копии с паролем содержат значительно больше доступных данных в сравнении с незашифрованными резервными копиями (в частности — Связка ключей, в которой хранятся все пароли пользователя). Разумеется, для доступа к ним вам потребуется узнать пароль.

Очень часто эксперты ограничиваются извлечением только резервной копии. Однако логический анализ ими не ограничивается. Как минимум, стоит извлечь медиа-файлы (их извлечение работает независимо от того, установлен ли пароль на резервную копию), в состав которых входят базы данных и уменьшенные копии изображений.

Наконец, извлечь можно и некоторые системные журналы (журнал диагностики и crash-лог) и файлы, доступ к которым через iTunes открывают некоторые приложения.

Одна из сильных сторон логического анализа — возможность доступа к данным даже тогда, когда экран устройства заблокирован (с рядом оговорок). Возможность сработает, если телефон был разблокирован хотя бы раз после включения, у эксперта есть физический доступ к доверенному компьютеру и режим ограничения USB не был активирован. (Нужно отметить, что в последних версиях iOS режим ограничения доступа к USB активируется сообразно достаточно неочевидным правилам, см. USB Restricted Mode in iOS 13).

Из нашего тестового iPhone удалось извлечь резервную копию, в которой обнаружилось 112 тысяч файлов общим объёмом 138 ГБ. Дополнительно удалось извлечь 47,000 медиа-файлов включая метаданные общим объёмом 101 ГБ. Кроме того, мы извлекли 271 файл приложений общим объёмом 109 МБ.

Все возможности логического анализа предоставляет инструментарий Elcomsoft iOS Forensic Toolkit.

Достоинства метода:

  • Метод прост в использовании
  • Совершенно безопасен, если используется специализированное программное обеспечение
  • Безопасно даже через с iTunes (если не забыли отключить синхронизацию)
  • Совместим со всеми версиями iOS
  • Может работать с заблокированными устройствами (если есть доступ к доверенному компьютеру)
  • Может извлекать журналы устройства и данные приложений
  • Медиа-файлы (с EXIF) доступны, даже если установлен пароль на резервную копию

Недостатки:

  • Количество данных ограничено
  • На резервную копию может быть установлен пароль
  • Связку ключей можно извлечь только из резервных копий с паролем
  • Требуется код блокировки экрана, если устройство подключается к новому компьютеру

Извлечение файловой системы

В резервной копии, даже защищённой паролем, содержится намного меньше информации, чем хранится в устройстве. В устройстве содержатся базы данных с детальной историей местоположений, данные всех приложений, включая историю переписки в безопасных мессенжерах; WAL-файлы SQLite, в которых могут содержаться удалённые записи, временные файлы, данные WebKit, транзакции AplePay, уведомления приложений и многое другое, что может стать важными уликами.

При этом доступ к файловой системе достаточно сложен — начиная с вопроса о выборе метода, который будет для этого использоваться. Для разных моделей iPhone доступно множество методов: классические и rootless джейлбрейки, эксплойт checkm8 и доступ посредством программы-агента. Для того, чтобы понять, с какими именно версиями iOS и моделями iPhone совместим каждый из способов, нужно разобраться в трёхмерной матрице совместимости. В частности, для моделей до iPhone X включительно извлечение возможно вплоть до последней версии iOS (на сегодня это iOS 13.4.1), в том числе в режиме частичного извлечения с неизвестным кодом блокировки (BFU Extraction: Forensic Analysis of Locked and Disabled iPhones).

Из нашего тестового устройства удалось извлечь 211 ГБ данных примерно за то же время (скорость работы — порядка 2.5 ГБ/мин, или 150 ГБ в час).

Доступ к файловой системе может быть осуществлён посредством установки джейлбрейка. В то же время важно понимать, что установка джейлбрейка не является «чистой работой», оставляя следы работы на устройстве, большая часть которых не документирована. Кроме того, вам потребуется инструментарий iOS Forensic Toolkit для расшифровки Связки ключей.

Достоинства метода

  • Частичное извлечение для устройств с заблокированным экраном и/или портом USB
  • Извлекается полный набор данных
  • Пароль на резервные копии игнорируется
  • Ограничения MDM игнорируются
  • Извлекается полная Связка ключей

Недостатки

  • Требуется версия iOS с обнаруженной уязвимостью
  • Требуется учётная запись Apple для разработчиков

Извлечение через облако iCloud

Метод извлечения через iCloud до сих пор остаётся недооценённым. Изначально извлечение через облако iCloud означало извлечение резервных копий. Сегодня роль резервных копий в iCloud значительно снизилась; резервные копии в облаке содержат ещё меньше данных, чем локальные резервные копии iTunes без пароля. Более того, поскольку большинство устройств iPhone и iPad синхронизируют данные в облако, эти (синхронизированные) данные хранятся отдельно от резервных копий. Синхронизируется практически всё: от контактов до фотографий и сообщений, а также Связка ключей с паролями. Связка ключей в iCloud, помимо паролей, может содержать и маркеры аутентификации. Есть и iCloud Drive со множеством файлов и документов, часто включая папки Documents и Desktop с компьютеров Mac. Все эти данные собираются не только с единственного iPhone, но и со всех остальных устройств пользователя, подключённых к учётной записи.

В процессе работы Elcomsoft Phone Breaker из облака помимо резервных копий было скачано 39 ГБ синхронизированных данных и 101 ГБ фотографий.

В iCloud Drive может содержаться большое количество файлов включая документы, данные сторонних приложений и резервные копии из некоторых мессенжеров и программ управления паролями.

Дополнительно:

Достоинства метода:

  • Совместим со всеми версиями iOS
  • Само устройство не нужно
  • Доступны данные со всех устройств, подключённых к учётной записи
  • Извлекается облачная Связка ключей
  • Файлы в iCloud Drive
  • Данные доступны в реальном времени
  • Могут быть доступны старые резервные копии

Недостатки:

  • Требуются учётные данные для входа в iCloud (включая второй фактор аутентификации)
  • Возможна замена логина и пароля маркером аутентификации; применение последних весьма ограниченно
  • Код блокировки или пароль одного из доверенных устройств потребуется для доступа к некоторым типам данных (Связка ключей, Здоровье, сообщения и другим, использующим сквозное шифрование)
  • Устройства могут вообще не использовать iCloud, поэтому иногда данные отсутствуют
Резервные копии (локальные) Резервные копии (iCloud) Синхронизация iCloud Образ файловой системы
Данные приложений ограниченно ограниченно ограниченно +
Apple Pay +
Books + + +
Календари + + только iCloud +
Звонки + + за 30 дней +
Контакты + + только iCloud +
Настройки устройства + + +
Здоровье только зашифрованные + +
Связка ключей только зашифрованные + +
Почта только iCloud +
Карты только зашифрованные + +
Медиа + только если не синхронизируется + +
Сообщения +  только если не синхронизируется iOS 11.4+, 2FA +
Заметки + + только iCloud +
Уведомления ограниченно + +
ScreenTime ограниченно +
Диктофон + iOS<12 iOS 12+ +
Wallet + + + +
Web — закладки + + + +
Web — история только зашифрованные + 2 недели +
Web — поиск только зашифрованные + +

Заключение

В этой статье мы рассмотрели три способа извлечения данных из устройств под управлением iOS. Мы уверены, что эта информация поможет вам выбрать правильный способ или способы при анализе смартфонов iPhone и других устройств под управлением iOS и её производных.

Пароль – один из самых старых, классических способов аутентификации. Почтенный возраст паролей не мешает им оставаться основным способом убедиться в том, что пользователь – именно тот, за кого себя выдаёт. Несмотря на множество недостатков, у паролей есть и несомненные достоинства: при должном контроле они могут быть как достаточно безопасными, так и вполне запоминаемыми. В экосистеме Apple используется четыре (или пять, если считать паролем одноразовый код) разных, но тесно связанных между собой паролей. Что это за пароли и как они взаимосвязаны? Попробуем разобраться.

Какие бывают пароли?

Что важнее, безопасность или запоминаемость? Вопрос не такой однозначный, каким кажется. Ещё в 2017 году было проведено исследование, согласно которому у самого обычного пользователя было порядка 20 учётных записей. У среднего офисного работника использовалась 191 учётная запись – и это только те пароли, которые вводятся в окно браузера. К началу 2020 года среднее число паролей пользователя достигло 207, при этом в среднем каждый пароль используется без изменений в 3.9 учётных записях. Статистика не указывает, какое количество паролей пользователи используют в разных учётных записях с минимальными изменениями (например, password, Password, password1, Password2010 и т.п.) По нашим данным, количество уникальных паролей, которые невозможно угадать, подсмотрев остальные пароли пользователя, в среднем не превышает 5-7 штук на пользователя.

Какие пароли бывают? Если вы – пользователь iPhone или iPad, то, скорее всего, вам приходится иметь дела с четырьмя паролями, тесно связанными между собой. Вот они:

  1. Код блокировки экрана (это PIN-код или пароль, которым вы разблокируете iPhone)
  2. Пароль от iCloud (он же – пароль от учётной записи Apple ID)
  3. Пароль от резервной копии iTunes (с его помощью будет зашифрована резервная копия iPhone, если создать её на компьютере)
  4. Пароль Экранного времени (позволяет защитить перечисленные выше пароли от сброса, а также устанавливать ограничения на использование устройства)
  5. Одноразовый код двухфакторной аутентификации (будем считать его «половинкой» пароля; используется только в учётных записях, на которых включена двухфакторная аутентификация)

Все эти пароли связаны между собой достаточно запутанной системой взаимоотношений, в которой нелегко разобраться даже специалистам. Мы уже писали о некоторых взаимосвязях (например, о том, что пароль на резервную копию iTunes можно сбросить, если известен код блокировки экрана), но все эти пароли переплетены между собой гораздо теснее, чем мы описывали ранее.

В этой статье описаны все известные нам взаимосвязи и взаимозависимости между паролями, актуальные для всех версий iOS 12 и 13, а также способы, посредством которых можно сбросить один пароль, если известен другой.

Код блокировки экрана

Код блокировки – самый важный пароль (а точнее, кодовая фраза), который пользователи iPhone используют чаще всех остальных вместе взятых. Этот пароль используется в процессе настройки iPhone. По умолчанию система предлагает установить код блокировки, состоящий из 6 цифр. Также можно использовать и более простой PIN-код, состоящий из 4 цифр. Можно выбрать и более сложный код блокировки, состоящий из произвольного количества цифр (как в Android) или из буквенно-цифровой последовательности произвольной длины.

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

Скачать список таких «простых» паролей можно с GitHub.

При настройке кода блокировки будет установлено соединение с iCloud; это необходимо для того, чтобы добавить устройство в доверенный круг, участники которого могут безопасно синхронизировать такие данные, как пароли (облачная Связка ключей), Здоровье, сообщения и Экранное время. Соответственно, ни одна из этих категорий не будет синхронизирована, если пользователь не настроит код блокировки. Кроме того, без кода блокировки не будет работать платёжная система Apple Pay.

В нашем блоге есть две статьи на тему кода блокировки экрана: Protecting Your Data and Apple Account If They Know Your iPhone Passcode и Passcode vs. Biometrics: Forensic Implications of Touch ID and Face ID in iOS 12.

Если код блокировки утрачен

У обычного пользователя, который забудет код блокировки, не так много возможностей. Можно сбросить устройство через режим Recovery. Для настройки сброшенного устройства потребуется ввести пароль от iCloud.

Если телефон регулярно подключали к компьютеру, то на компьютере может сохраниться файл lockdown. С его помощью можно установить соединение и сделать резервную копию телефона перед тем, как его сбросить (работает только в том случае, если телефон разблокировали хотя бы раз после последнего включения или перезагрузки). Если резервная копия защищена паролем от резервной копии iTunes, то из неё можно извлечь пароль от iCloud, посредством которого можно будет активировать сброшенный телефон. А вот если такого файла нет или срок его действия истёк, то подключить телефон к компьютеру не получится: начиная с iOS 11 для подключения к новому компьютеру нужно ввести код блокировки экрана.

У работников правоохранительных органов в некоторых странах есть возможность запустить перебор кодов блокировки (именно поэтому усиленно не рекомендуется использовать 4-значный PIN). Впрочем, шанс на успех при использовании даже шестизначного цифрового кода блокировки невысокий.

Итак, если код блокировки утрачен:

  • Можно сбросить iPhone через Recovery. Это сбросит код блокировки экрана, но для настройки устройства потребуется ввести пароль от iCloud.
  • Если вы работаете в правоохранительных органах, вам может быть доступен вариант с перебором кодов блокировки.
  • Подключить iPhone к новому компьютеру не удастся (для установления доверенного соединения требуется ввести код блокировки экрана).
  • Если есть доступ к файлу lockdown, а телефон был разблокирован хотя бы раз с момента последней перезагрузки или включения, то существует возможность извлечения локальной резервной копии. Если резервная копия защищена паролем от резервной копии iTunes, то из неё можно будет извлечь пароль от iCloud, посредством которого можно активировать сброшенный телефон.

Если код блокировки известен

Если же код блокировки известен, с телефоном можно проделать множество разных вещей:

  • Разблокировать устройство даже после холодной загрузки
  • Подключить к новому компьютеру или аксессуарам USB (обход блокировки USB)
  • Создать свежую резервную копию в формате iTunes
  • Сбросить пароль от iCloud и изменить доверенный номер телефона для получения кодов двухфакторной аутентификации (только для учётных записей с двухфакторной аутентификацией; одноразовый код для этого не нужен)
  • Сбросить пароль от резервной копии iTunes (если не установлен или известен пароль Экранного времени), создать резервную копию с новым паролем и узнать из неё пароль от iCloud
  • iOS 13: установить или изменить пароль от резервной копии iTunes
  • Обновить версию iOS
  • Сбросить устройство к заводским настройкам, отключить iCloud lock
  • Просматривать пароли из Связки ключей
  • Получить доступ к некоторым типам данных в iCloud (потребуется указать пароль от iCloud и одноразовый код двухфакторной аутентификации – оба из которых можно сбросить и настроить заново при помощи кода блокировки экрана). В список входят такие данные, как облачная связка ключей (пароли от учётных записей пользователя, заполненные формы в Safari), данные Здоровья и Экранного времени, сообщения (SMS, iMessage).
  • Сменить или удалить код блокировки экрана (при его удалении станут недоступными некоторые данные как в самом iPhone, так и в облаке iCloud)

Подводные камни

  • Установленный неизвестный пароль Экранного времени не позволит сбросить пароль от резервной копии iTunes.
  • Если пользователь установил ограничения на изменения в учётную запись Apple ID и защитил ограничение паролем Экранного времени, то сбросить пароль от iCloud не удастся.
  • При смене кода блокировки экрана iOS потребует установить соединение с iCloud. Это нужно для добавления iPhone в круг доверенных устройств, которые будут синхронизировать защищённую часть данных (пароли из облачной связки ключей, Здоровье, сообщения, Экранное время).

Выглядит достаточно запутанно? Мы только начали!

Пароль от iCloud

Так же, как и код блокировки экрана, учётная запись в iCloud не является обязательной. Впрочем, так же, как и в случае с кодом блокировки, без учётной записи в iCloud вы не сможете полноценно пользоваться устройством. Пароль от iCloud совпадает с паролем от учётной записи Apple ID, а без учётной записи Apple вы не сможете не только синхронизировать данные в и создавать резервные копии в iCloud, но и загружать приложения, даже бесплатные, из магазина App Store, слушать музыку и совершать покупки в Apple Music и так далее. Мало кто покупает iPhone исключительно для звонков и просмотра веб-страниц через встроенный браузер, поэтому большинство пользователей заводит себе учётную запись Apple ID.

В Apple контролируют минимальную сложность пароля к iCloud; слишком простой пароль установить не получится, равно как и пароль, совпадающий с одним из тех, которые использовались ранее.

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

В то же время пароль от iCloud – далеко не всё, что нужно для доступа ко всем данным в iCloud. Так, некоторые данные будут сохраняться в облако только после включения двухфакторной аутентификации (соответственно, для их извлечения понадобится одноразовый код двухфакторной аутентификации), а некоторые данные (пароли из облачной связки ключей, Здоровье, сообщения, Экранное время) дополнительно защищены ещё и кодом блокировки экрана.

Частный случай пароля от Apple ID в случаях, когда используется двухфакторная аутентификация – пароль приложений. Пароль приложения можно создать в учётной записи Apple ID; он будет сгенерирован автоматически (а не установлен пользователем). Использовать пароль приложения можно в ряде сценариев, когда то или иное приложение не поддерживает двухфакторную аутентификацию. Примеры таких приложений – некоторые сторонние почтовые клиенты или утилита Cydia Impactor для установки сторонних (не из App Store) приложений на устройство с iOS. Кроме того, пароль приложения требуется создать и в том случае, если вы используете агент-экстрактор из состава Elcomsoft iOS Forensic Toolkit с для извлечения образа файловой системы.

Можно ли обойти пароль и всё равно получить доступ к данным из облака? Да, но набор доступных таким образом данных будет ограничен; подробности – в статье Accessing iCloud With and Without a Password in 2019.

Если пароль от iCloud утрачен

Пароль от iCloud используется значительно реже кода блокировки экрана; соответственно, забывают его пользователи гораздо чаще. Для его восстановления Apple опубликовали подробную инструкцию (https://support.apple.com/ru-ru/HT201487) в статье Если вы забыли пароль учётной записи Apple ID.

Пароль от iCloud можно сбросить с доверенного устройства (собственного iPhone пользователя); для этого достаточно указать код блокировки экрана, но требуется, чтобы в учётной записи была включена двухфакторная аутентификация (одноразовый код не потребуется). Пароль от iCloud можно сбросить и с другого устройства Apple или через веб-браузер (в этом случае потребуется ввести одноразовый код двухфакторной аутентификации).

Кроме того, пароль от iCloud можно узнать, проанализировав пароли, сохранённые в браузере на компьютере (Chrome, IE, Edge, Firefox) при помощи Internet Password Breaker (Windows), либо извлечь из связки ключей macOS при помощи Password Digger. Наконец, можно проанализировать зашифрованную резервную копию iOS при помощи Phone Breaker.

Итак, если утрачен пароль от iCloud, вы сможете:

  • Сбросить его с вашего iPhone или другого устройства из экосистемы Apple (потребуется код блокировки экрана, должна быть включена двухфакторная аутентификация, одноразовый код не потребуется)
  • Сбросить с чужого устройства из экосистемы Apple (код блокировки экрана, должна быть включена двухфакторная аутентификация, нужно ввести одноразовый код)
  • Сбросить через браузер (процесс различается для учётных записей с 2FA и без; потребуется доступ к ящику электронной почты, привязанному к данному Apple ID, одноразовый код двухфакторной аутентификации для учётных записей с 2FA; под может быть доставлен посредством SMS, отправленной на доверенный номер телефона – который, напомним, можно сменить при помощи кода блокировки экрана).

Если пароль от iCloud известен

Как ни странно, если известен пароль от iCloud и только он, сделать можно не так и много. Перечислим:

  • Заново настроить устройство, если был утрачен код блокировки экрана (сброс через Recovery, настройка с нуля, ввести пароль от iCloud для отвязки от iCloud).
  • Подтверждать покупки в App Store и iTunes Store (альтернатива – биометрическая аутентификация, для настройки которой, впрочем, всё равно потребуется ввести пароль от iCloud).
  • Подтверждать обновление приложений (пароль запрашивается не всегда; закономерности выявить не удалось).
  • Логин в App Store (если включена двухфакторная аутентификация, потребуется одноразовый код)
  • Извлекать ограниченное количество данных из iCloud (если двухфакторная аутентификация не включена).
  • Извлекать чуть больше данных из iCloud (только если двухфакторная аутентификация включена и доступен одноразовый код).
  • Извлекать ещё чуть больше данных из iCloud (пароли облачной связки ключей, пароль Экранного времени, сообщения, Здоровье; только если двухфакторная аутентификация включена, доступен одноразовый код и код блокировки экрана).
  • Отвязать iPhone от iCloud, отключить Find My iPhone, осуществить сброс к заводским настройкам.
  • Войти в учётную запись Apple из браузера (если включена двухфакторная аутентификация, потребуется одноразовый код).
  • Дистанционно стереть или заблокировать iPhone при помощи сервиса iCloud Find (одноразовый код не нужен даже для учётных записей с двухфакторной аутентификацией).
  • Сменить пароль от Apple ID/iCloud.
  • Добавление учётной записи на устройствах Apple; устройство становится доверенным (если включена двухфакторная аутентификация, потребуется одноразовый код).

Подводные камни

  • Пароль от iCloud не получится сбросить или изменить, если на устройстве настроено ограничение Экранного времени на действия с учётной записью (а пароль Экранного времени неизвестен)
  • Уже по списку «если пароль известен» видно, что сам по себе пароль от iCloud практически бесполезен, если в учётной записи включена двухфакторная аутентификация. Имея доступ ко второму фактору, можно легко сбросить пароль от iCloud. А вот добавить или изменить дополнительный фактор аутентификации, имея только пароль от iCloud, невозможно. Существующая официальная процедура восстановления учётной записи не даёт гарантированного результата (в нашей лаборатории мы смогли восстановить лишь каждую вторую учётную запись). Похоже, дополнительный фактор аутентификации в настоящий момент имеет больший вес, чем пароль от iCloud.

Пароль от резервной копии iTunes

Этот пароль такой же опциональный, как и предыдущие два. Более того, если не установить пароль на резервную копию, то для неискушённого пользователя не изменится, по большому счёту, ничего: все возможности как устройства, так и облачных сервисов будут доступны точно так же, как и с паролем. В статье The Most Unusual Things about iPhone Backups мы описали некоторые особенности паролей от резервной копии.

Для чего вообще нужен этот пароль? Очевидно, для шифрования резервной копии, которую можно создать в iTunes. Нужно ли задавать этот пароль, если вы никогда не создавали резервные копии в iTunes и не собираетесь этого делать? Да, нужно, потому что резервную копию злоумышленник может создать за вас, после чего получит доступ практически к полному содержимому телефона, включая все ваши пароли к учётным записям, которые вы использовали в браузере Safari. Помешает ли этот пароль злоумышленнику, если он получит ваш iPhone и узнает его код блокировки? Нет, не помешает, но вы сможете дополнительно (и достаточно надёжно) защитить его паролем Экранного времени.

Насколько вообще безопасен пароль от резервной копии iTunes? Если в руки злоумышленника попадут только файлы резервной копии, зашифрованные неизвестным паролем, то вам повезло: скорость перебора будет исключительно низкой. Даже на профессиональном оборудовании с использованием аппаратного ускорения и распределённых вычислительных сетей скорость перебора на одном компьютере не превышает 100 паролей в секунду. Это – очень низкая скорость; пароль из случайного набора букв и цифр длиной хотя бы в 6 символов не будет вскрыт и за сотню лет.

Ситуация меняется на свою полную противоположность, если в руки злоумышленника попадёт ваш iPhone, а код блокировки экрана подсмотрят или узнают иным способом. Используя код блокировки экрана, пароль от резервной копии iTunes можно сбросить буквально за пару шагов (вместе с ним удаляется и код блокировки телефона). Если же цель – узнать оригинальный пароль, то на телефон можно установить джейлбрейк (для ряда устройств это возможно независимо от версии iOS), после чего пароль извлекается из скрытой записи Связки ключей.

Наконец, если на iPhone запущена iOS 13, то для установки или смены пароля от резервной копии также потребуется ввести код блокировки экрана. Подытожим:

Если пароль от резервной копии iTunes утрачен

  • Если оригинальный iPhone – в вашем распоряжении, вы сможете сбросить пароль от резервной копии iTunes; для этого нужен код блокировки экрана. Если установлен пароль Экранного времени, то потребуется ввести и его.
  • Если же в вашем распоряжении – только файлы резервной копии, то единственный возможный вариант – атака по словарю или методом полного перебора.
  • Если ваша цель – анализ данных из локальной резервной копии, то заменить её может восстановление на новое устройство либо скачивание и анализ комбинации из облачной резервной копии устройства и облачной связки ключей из iCloud. Для доступа к ним нужны будут пароль от iCloud, одноразовый код двухфакторной аутентификации и (для анализа облачной связки ключей) код блокировки экрана телефона.

Если пароль от резервной копии iTunes известен

Известный пароль от резервной копии (при наличии самой резервной копии) позволит:

  • Восстановить из резервной копии как оригинальное, так и новое устройство с iOS, включая восстановление Связки ключей с паролями.
  • Проанализировать содержимое резервной копии (включая пароли из Связки ключей).
  • Узнать пароль Экранного времени (только для iOS 12) или пароль ограничений (для iOS 11). Приложений для этого существует достаточно много; отобразить пароль Экранного времени в состоянии, к примеру, Elcomsoft Phone Viewer.
  • Узнать пароль от iCloud/Apple ID (об этом подробнее – чуть ниже).

Подводные камни

  • Пароль от iCloud не всегда можно найти в резервной копии. Точную зависимость установить не удалось.
  • Пароль Экранного времени можно узнать только для старых версий iOS. В резервных копиях, созданных iOS 13 и более свежими сборками, пароль Экранного времени получил более высокий класс защиты и не может быть расшифрован из резервной копии.
  • Если вам пришлось сбросить пароль от резервной копии iTunes через настройки телефона, то код блокировки экрана также будет сброшен. Это приведёт к удалению с устройства данных обо всех транзакциях Apple Pay, писем и данных Exchange. Вы потеряете возможность сбросить пароль от iCloud; будет утрачен доступ к облачной связке ключей и другим защищённым данным в облаке. Впрочем, доступ к «облачным» данным можно восстановить, задав код блокировки заново и позволив системе добавить устройство в список доверенных.

А теперь – обещанные подробности об извлечении пароля от iCloud из резервной копии с паролем (это важно: из резервной копии, которая паролем не защищена, извлечь Связку ключей не представляется возможным). Пароль от iCloud может храниться в одной или нескольких записей из следующего списка:

com.apple.account.AppleIDAuthentication.password

apple.account.iTunesStore.password и apple.account.AppleAccount.password (устаревшие записи, в которых всё ещё может оказаться пароль)

Пароль от iCloud можно обнаружить и в следующих записях, принадлежащих браузеру Safari:

  • appleid.apple.com
  • www.icloud.com
  • idmsa.apple.com
  • id.apple.com
  • store.apple.com
  • apple.com

Пароль Экранного времени

Экранное время – представленная в iOS 12 система, позволяющая отслеживать и ограничивать время использования устройства. Установленные ограничения пользователь может защитить код-паролем, состоящим из 4 цифр.

Если пользователь установил пароль Экранного времени, то система будет запрашивать его при попытке изменить настройки как собственно ограничений, установленных в разделе Экранного времени, так и некоторых других системных настроек. В частности, система потребует ввести пароль Экранного времени (в дополнение к коду блокировки экрана) при попытке сбросить настройки (Reset All Settings) с целью сбросить пароль от резервной копии iTunes.

Пользователи могут установить и собственные ограничения. Например, может быть установлено ограничение на действия с учётной записью, после чего iOS не позволит сбросить пароль от iCloud посредством ввода кода блокировки. Ещё одно ограничение может запретить установку на устройство приложений, что не даст установить на устройство джейлбрейк и извлечь из него образ файловой системы. А вот защитить пароли в Связке ключей таким образом не получится: их всегда можно просмотреть, даже если установлен пароль Экранного времени.

Если пароль Экранного времени утрачен

  • Невозможно отключить или обойти установленные ограничения Экранного времени, убрать или сменить пароль
  • Невозможно включить функцию Экранного времени “Share across devices” («Учёт на всех устройствах»), благодаря которой пароль Экранного времени попадает в облако iCloud и может быть оттуда извлечён
  • Невозможно сбросить настройки для удаления пароля к резервной копии iTunes
  • В зависимости от установленных пользователем настроек, могут быть и другие ограничения: на сброс пароля от iCloud, установку приложений и другие.
  • iOS 12: пароль Экранного времени можно извлечь из локальной резервной копии с паролем (если пароль от резервной копии iTunes известен).
  • iOS 12 и 13: пароль Экранного времени можно извлечь из iCloud, если известны пароль от iCloud, есть одноразовый код двухфакторной аутентификации и известен код блокировки устройства (не обязательно данного конкретного устройства, но хотя бы одного устройства из доверенного круга); функция Экранного времени “Share across devices” («Учёт на всех устройствах») должна быть уже включена.

Если пароль Экранного времени известен

Если пароль Экранного времени известен, вы сможете:

  • Настраивать и отключать ограничения Экранного времени.
  • Сменить или удалить пароль Экранного времени.
  • Если известен код блокировки устройства, сменить пароль от резервной копии iTunes.

Подводные камни

  • iOS 12: для того, чтобы извлечь пароль Экранного времени из локальной резервной копии, необходимо, чтобы локальная копия была зашифрована паролем, а сам пароль от резервной копии iTunes – известен.
  • iOS 13: пароль Экранного времени хранится с повышенным классом защиты и не может быть извлечён из резервной копии. Вместо этого можно использовать извлечение из iCloud.
  • Из облака iCloud пароль Экранного времени можно извлечь лишь при условии, что пользователь включил функцию Экранного времени “Share across devices” («Учёт на всех устройствах»). Если эта функция включена, то в качестве кода блокировки можно использовать код блокировки экрана или системный пароль любого устройства Apple, входящего в «доверенный круг» (т.е. они зарегистрированы в том же Apple ID и на них также включена функция Экранного времени «Учёт на всех устройствах»).
  • Функция «Учёт на всех устройствах» работает исключительно в учётных записях с двухфакторной аутентификацией. Соответственно, потребуется ввести одноразовый код двухфакторной аутентификации.

Ссылки по теме:

  • How To Access Screen Time Password and Recover iOS Restrictions Password (link)
  • How to Extract Screen Time Passcodes and Voice Memos from iCloud (link)

Одноразовый код двухфакторной аутентификации

Итак, мы рассмотрели четыре пароля, которые защищают различные аспекты экосистемы Apple. Однако если в случае с iPhone даже слабого пароля может быть достаточно просто в силу того, что к телефону нужно ещё получить физический доступ, то защита онлайновой учётной записи одним лишь паролем давно показала свою несостоятельность. Яркий пример – Celebgate, событие, которое заставила Apple поторопиться и выпустить сырую версию двухфакторной аутентификации под названием Two-Step Verification.

Сегодня Apple использует гораздо более технически продвинутую и безопасную схему, которая называется просто и бесхитростно – Two-Factor Authentication, или двухфакторная аутентификация. В этой системе есть возможность настроить любое устройство Apple (и только Apple) в качестве доверенного «второго фактора». Кроме того, пользователю обязательно придётся добавить хотя бы один доверенный телефонный номер на тот случай, если единственное устройство Apple будет утеряно или украдено.

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

Нравится вам это или нет, но двухфакторную аутентификацию вам придётся включить, если вы хотите получить доступ к любому из перечисленных ниже сервисов:

Купив новое устройство с iOS 13 и зарегистрировав свежий идентификатор Apple ID, вы просто не сможете настроить его без двухфакторной аутентификации. Раз включив, отключить её уже не получится: прецеденты единичны, и каждый случай требовал персонального обращения в поддержку Apple и длительного периода ожидания.

О том значении, которое придаёт Apple двухфакторной аутентификации, говорит тот факт, что посредством второго «дополнительного» фактора легко можно сбросить пароль от Apple ID/iCloud. А вот если потерять доступ ко всем носителям «дополнительного» фактора (включая устройства Apple и доверенный телефонный номер – что на самом деле легко, если вы в заграничной поездке), то получить доступа к собственной учётной записи не получится. Точнее, это можно будет проделать, заполнив заявку, и после длительного (несколько недель) периода ожидания с пятидесятипроцентной вероятностью доступ к учётной записи может быть (а может и не быть) предоставлен.

Если доступ ко второму фактору аутентификации утрачен

Если доступа ко второму фактору аутентификации нет, наступят следующие последствия:

  • Доступ к учётной записи Apple ID и к iCloud невозможен, даже если пароль от iCloud известен. Исключения – функция Find My и отвязка сброшенного телефона от iCloud; в обоих этих случаях достаточно одного лишь пароля от iCloud.
  • Возможно, вам удастся восстановить доступ к учётной записи Apple через официальную процедуру. Процесс длительный (несколько недель), а результат не гарантирован.
  • Второй фактор аутентификации лучше не терять.

Если доступ ко второму фактору аутентификации имеется

Если же у вас есть доступ ко второму фактору аутентификации, можно проделать следующие вещи:

  • Сбросить пароль от iCloud/Apple ID с доверенного устройства (оно выступает в роли второго фактора)
  • Восстановить доступ к учётной записи Apple ID и сбросить пароль от iCloud при помощи одноразового кода двухфакторной аутентификации (с чужого устройства Apple)
  • После сброса пароля от iCloud войти в учётную запись и извлечь из неё данные (часть данных будет дополнительно защищена кодом блокировки экрана)
  • Восстановить из облачной резервной копии новое или актуальное устройство Apple
  • При восстановлении из облачной резервной копии существующего устройства (именно того, с которого была ранее создана резервная копия) будут восстановлены и пароли из Связки ключей (даже если вам неизвестен код блокировки экрана, который необходим для скачивания синхронизированной «облачной связки ключей»).

Подводные камни

  • Даже в случае утраты доступа ко второму фактору аутентификации будут доступны функция Find My и отвязка сброшенного телефона от iCloud. Для их работы достаточно одного лишь пароля от iCloud.
  • Связка ключей из облачной резервной копии может быть восстановлена исключительно на то же самое физическое устройство, с которого была создана резервная копия. Для доступа к Облачной связке ключей необходимо ввести код блокировки экрана от одного из предыдущих устройств.

Пароли и политики безопасности

Политики безопасности, ограничивающие использование слишком простых паролей, различаются для всех четырёх (с половиной) паролей.

  • Код блокировки экрана: официальной политики нет. По умолчанию система предлагает использовать код, состоящий из 6 цифр, но по желанию пользователь может выбрать и 4-значный PIN, а также цифровой пароль произвольной длины либо буквенно-цифровой пароль произвольного размера. У Apple есть база данных самых часто используемых паролей; если пользователь попытается установить именно такой пароль (например, 0000, 1111 или 1234), то система предупредит о небезопасности такого кода блокировки – но всё же позволит его установить. Просмотреть список небезопасных паролей можно по ссылке GitHub.
  • Пароль от iCloud: минимальная длина – 8 знаков. Требуется использовать по крайней мере одну строчную и одну заглавную букву, а также по крайней мере одну цифру. При смене пароля не позволяется установка ранее использованных паролей.
  • Пароль от резервной копии iTunes: ограничения отсутствуют. В iOS 13 установка или смена пароля от резервной копии требует ввода кода блокировки экрана.
  • Пароль Экранного времени: всегда ровно 4 цифры.
  • Двухфакторная аутентификация: доверенными устройствами могут стать только устройства из экосистемы Apple (iPhone, iPad, компьютер Mac). Требуется наличие хотя бы одного доверенного телефонного номера, при этом допускается наличие в одной учётной записи нескольких доверенных телефонных номеров из разных стран, что может быть удобно в поездках.Одноразовый код двухфакторной аутентификации всегда состоит из 6 цифр, а время действия ограничено 30 секундами. Получить его можно в виде push-сообщения на доверенное устройство (требуется доступ в Интернет, устройство необходимо разблокировать), а также в виде SMS или телефонного звонка на доверенный телефонный номер. Кроме того, при наличии разблокированного устройства одноразовый код можно получить и без доступа к Интернет из настроек устройства.

Реакция на попытку перебора

Большинство пользователей, забывших тот или иной пароль, попытаются вспомнить его, подобрав один из ранее использованных паролей. Реакция системы на подбор пароля будет отличаться в зависимости от того, какой именно пароль вы пытаетесь подобрать.

  • Код блокировки экрана: iOS будет увеличивать задержку между попытками ввода. Через определённое количество неудачных попыток устройство будет перманентно заблокировано: на экране появится сообщение “Connect to iTunes”, но подключить устройство к компьютеру не удастся из-за активированного режима защиты USB. У пользователя есть некоторая степень контроля: так, в настройках можно включить функцию “Erase after 10 attempts” setting, которая сбросит устройство к заводским настройкам после 10 неудачных попыток.
  • Пароль от iCloud: попытка подобрать пароль приведёт к временной блокировке учётной записи. Точное количество доступных попыток не разглашается. Важный момент: если вы попытаетесь подобрать код блокировки экрана устройства, посредством которого защищается доступ к Облачной связке ключей (а также паролю Экранного времени, данным Здоровья и сообщениям), то система удалит защищённые данные (ту самую Облачную связку ключей и далее по списку) после 10 неудачных попыток.
  • Пароль от резервной копии iTunes: никаких ограничений. Ломайте на здоровье!
  • Пароль Экранного времени: увеличивающаяся задержка между попытками ввода; после 10 попыток, задержка между попытками составляет ровно час.
  • Одноразовые коды двухфакторной аутентификации: у пользователя есть ограниченное число попыток для ввода кода двухфакторной аутентификации. Если код подобрать не удалось, то будут применяться правила для защиты от попытки подбора пароля к iCloud.

Заключение

В статье мы попытались разобраться в запутанных взаимоотношениях между четырьмя (с половиной) паролями Apple. Если вам кажется, что после этой статьи вы понимаете меньше, чем до неё – это совершенно нормально: о том, каким образом одни пароли влияют на другие, могут уверенно рассуждать разве что работники Apple, которое эту систему проектировали. С нашей точки зрения как экспертов по безопасности созданная Apple система кажется не до конца продуманной и местами нелогичной. Самыми нелогичными решениями Apple нам представляются возможности сброса пароля от резервной копии iTunes и пароля от iCloud посредством одного лишь кода блокировки экрана. Система безопасности, созданная Google, представляется нам гораздо более стройной и логичной (о ней мы обязательно напишем в будущем).

Создаётся ощущение, что ряд правил и возможностей вводились компанией либо под давлением пользователей («Как мне сбросить пароль от резервной копии? Что, совсем никак? Ну, вы…»), либо при попытке быстро закрыть обнаруженную дыру в безопасности. Такой подход не позволяет нам искренне похвалить созданную в Apple систему безопасности пользовательской экосистемы. В то же время, понятны и причины, по которым компании пришлось пойти на компромиссы.

К сожалению, компания не смогла удержать планку баланса между удобством и безопасностью на одном уровне, придавая чрезмерное значение одним факторам безопасности (код блокировки экрана и второй фактор аутентификации) и принизив значение других (пароль от iCloud, который можно узнать или сбросить, если есть доступ к хотя бы одному другому паролю или второму фактору аутентификации). Такой перекошенный баланс делает бесполезным и бессмысленным использование сложных паролей к резервной копии (зачем, если его можно сбросить в пару кликов?) и паролей от iCloud (зачем, если есть второй фактор аутентификации, а сам пароль можно легко сбросить с устройства?)

В статье Извлечение данных из iPhone без джейлбрейка мы рассказали о том, как использовать программу-агента для доступа к файловой системе iOS. В этой статье упоминалось о том, что для работы агента необходима учётная запись Apple ID, зарегистрированная в программе Apple для разработчиков. В чём смысл этой регистрации, для чего эксперту-криминалисту нужно становиться «зарегистрированным разработчиком» и можно ли без этого обойтись? Попробуем разобраться.

Как работает установка сторонних приложений в iOS

Итак, в инструментарии Elcomsoft iOS Forensic Toolkit появилась дополнительная группа команд, позволяющая выполнить извлечение данных посредством специальной программы, так называемого агента-экстрактора. Новый функционал не требует установки джейлбрейка – это несомненный плюс. С другой стороны, для установки на устройство программы-агента нужна цифровая подпись, для которой можно использовать только такие учётные записи Apple ID, которые зарегистрированы в программе Apple для разработчиков.

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

Агент-экстрактор поставляется в виде стандартного для iOS пакета – файла с расширением .ipa; в точно таком же виде распространяются и утилиты джейлбрейк. Пакет IPA – обычный архив в формате ZIP, в котором содержится двоичный исполняемый файл для операционной системы iOS. Пока – ничего необычного.

Для того, чтобы пакет IPA можно было установить на устройстве, система iOS потребует наличия актуальной цифровой подписи. В принципе, и здесь ничего нового нет: на смартфоны с Android тоже можно устанавливать исключительно подписанные APK. Разница же между iOS и другими операционными системами заключается в том, что цифровая подпись удостоверяет не только разработчика приложения, но и идентифицирует устройство или устройства, на которые может быть установлено приложение. Для того, чтобы подписать пакет IPA, требуется учётная запись Apple ID, которые могут быть одного из трёх типов.

Apple ID обычного пользователя

Подавляющее большинство учётных записей Apple ID принадлежит обычным пользователям. При использовании обычной учётной записи Apple ID для цифровой подписи пакета IPA подписанный пакет может быть установлен только и исключительно на то устройство, для которого была создана цифровая подпись. Более того, при установке такого приложения на устройство iOS потребует верифицировать цифровую подпись, для чего устройство придётся пустить в Интернет. Выход устройства в Интернет несёт потенциальные риски: возможность удалённой блокировки или уничтожения всех данных через функцию Find My (не говоря уже о синхронизации как самой системы, так и ряда сторонних программ). Соответственно, использование обычных Apple ID в рамках расследования – неоднозначное и рискованное мероприятие.

Корпоративные учётные записи

Штатный способ установки приложений на устройства под управлением iOS – скачивание приложений через магазин приложений App Store. В то же время кураторы App Store пропускают далеко не все приложения. Для корпоративных клиентов Apple обеспечивает альтернативный способ установки и распространения приложений – через корпоративные профили. Использование корпоративного профиля позволяет подписывать и распространять приложения среди сотрудников компании, минуя App Store. При этом каждое конечное устройство, на которое устанавливается такое приложение, также потребует верификации сертификата через Интернет. Более того; если Apple посчитает, что та или иная компания злоупотребила своим положением (или сертификат будет украден и использован на сайтах, подобных «альтернативному магазину приложений» ignition.fun), сертификат будет немедленно отозван.

Учётные записи разработчиков

Наконец, мы подошли к третьему типу учётных записей – учётной записи разработчика. Такие учётные записи занимают уникальное положение. Приложения, подписанные цифровыми сертификатами таких учётных записей, можно установить на устройство с iOS, при этом устройство не потребует дополнительной верификации сертификата. Соответственно, установка возможна в режиме офлайн, без связи с Интернет. Это – важнейшее преимущество учётных записей для разработчиков с точки зрения криминалистики. А что по поводу того, что цифровой сертификат в iOS выдаётся для каждого конкретного устройства? Всё правильно: с технической точки зрения идентификаторы всех устройств, на которые разрешена установка подписанных сертификатом приложений, сохраняются в самом сертификате. iOS проверяет наличие в разрешённом списке идентификатора текущего устройства, и если он найден – позволяет установить приложение.

Что изменилось

Итак, мы рассмотрели три типа учётных записей Apple ID, которые потенциально могли бы использоваться для цифровой подписи агента-экстрактора. Почему же нельзя использовать учётную запись обычного пользователя?

Дело в том, что в ноябре 2019 Apple убрали возможность использовать обычные учётные записи для цифровой подписи приложений. Причины такого решения точно неизвестны. Возможно, таким образом в компании борются с возможностью установки джейлбрейков – однако наличие сторонних «магазинов приложений», готовых подписать любой пакет IPA одним из многочисленных украденных корпоративных сертификатов опровергает эту теорию. Дискуссию на эту тему можно увидеть в Twitter разработчика приложения Cydia Impactor:

https://twitter.com/saurik/status/1196888477830221824

В Elcomsoft iOS Forensic Toolkit используется похожий механизм установки, который также прекратил работать, если используется обычная учётная запись Apple ID. Таким образом, для установки агента-экстрактора потребуется использовать учётную запись разработчика.

Мы работаем над решением, которое позволит вернуть возможность цифровой подписи посредством обычных учётных записей. Решение для Mac в стадии тестирования; пользователям Windows придётся подождать.

Ограничения учётных записей разработчиков

Apple не была бы Apple, если бы не было подводных камней.

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

Второе ограничение касается количества устройств, которые вы можете добавить в учётную запись разработчика. Ежегодное ограничение – сто устройств каждого типа: вы можете добавить сто iPhone и сто iPad в год. Вы можете удалить устройства из вашего профиля разработчика, но лимит на число устройств будет сброшен лишь в конце года.

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

И последнее. Зарегистрироваться в программе для разработчиков Apple как организации – достаточно сложная и длительная процедура. Гораздо проще зарегистрировать учётную запись, оформленную на частное лицо. Стоимость такой регистрации эквивалентна $99 в год.

Обходные пути

Можно ли обойтись без регистрации и не платить за участие в программе Apple для разработчиков? Многочисленные сторонние магазины приложений (AltServer, AppStore.io, AppEven, ignition.fun, Tutuapp, Pandahelper, App Valley, Desde tu iPhone, Tweakbox и прочие) предлагают бесплатно воспользоваться одним из оплаченных или украденных корпоративных сертификатов или сертификатов разработчиков. Помимо того, что такие сертификаты оперативно отслеживаются и блокируются Apple, использование стороннего магазина приложений часто приводит к серьёзным модификациям файловой системы и установке неожиданных «бонусов» в виде зловредного ПО.

Использование checkra1n и checkm8

Использование джейлбрейка checkra1n и эксплойта checkm8 не имеет прямого отношения к учётным записям для разработчиков, т.к. работает через Bootrom. В то же время, вполне логичен вопрос: можно ли обойтись без учётной записи для разработчиков в свете существования альтернативного способа извлечения?

Отметим, что у метода извлечения посредством джейлбрейка checkra1n либо напрямую с использованием эксплойта checkm8 есть ряд особенностей и ограничений.

Основное ограничение метода — совместимость. Из многих десятков iPhone и iPad, имеющихся в нашей лаборатории совместимыми оказались далеко не все: метод работает лишь для устройств iPhone 5s — 8/8 Plus/iPhone X. Более новые устройства, вышедшие в последние два года (а это — iPhone Xr/Xs/Xs Max и линейка iPhone 11) не поддерживаются. Более того, поддерживаются не все комбинации моделей устройств и версий iOS.

Вторая проблема метода — скорость и стабильность работы. Из 50 устройств, теоретически совместимых с checkm8, каждое третье устройство оказалось проблемным. Наш опыт подтверждают и пользователи, отмечающие длительное время работы метода. На англоязычных форумах обсуждаются устройства, процесс извлечения файловой системы которых продолжается в течение двух недель.

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

Абсолютно все методы извлечения данных из устройств под управлением iOS оставляют следы. Даже один и тот же продукт, запущенный дважды подряд, выдаст два различных результата с несовпадающими контрольными суммами. В то же время метод, использующий агент-экстрактор, является максимально приближённым к «лабораторно чистому» извлечению. Единственные следы, остающиеся на устройстве после отработки агента — это несколько записей в системных журналах.

Является ли агент-экстрактор универсальным решением для iOS? Нет; у метода есть свои ограничения (впрочем, следующая версия Elcomsoft iOS Forensic Toolkit будет поддерживать устройства с iOS 13.0-13.3 на любых устройствах). Тем не менее, как надёжность, так и скорость работы агента при прочих равных условиях всегда существенно выше, чем у методов, основанных на checkm8/checkra1n. Кроме того, для его работы нужна учётная запись для разработчиков.

Заключение

Учётная запись Apple для разработчиков – одна из необходимых инвестиций для лабораторий мобильной криминалистики. Только учётные записи этого типа обеспечивают возможность безопасной установки агента-экстрактора или джейлблейка на устройства под управлением iOS.

В последнем обновлении iOS Forensic Toolkit появилась поддержка нового способа извлечения данных из iPhone без джейлбрейка, использующий программу-агента собственной разработки. В этой статье мы расскажем об отличиях между извлечением с использованием агента и классическим способа, который использует джейлбрейк для доступа к данным; опишем как преимущества, так и недостатки у нового метода.

Для чего нужен джейлбрейк

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

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

В то же время, цель разработки утилит джейлбрейка лежит далеко за пределами криминалистического анализа. Джейлбрейки часто используются для установки на устройства нелицензионного ПО, модификации элементов интерфейса и доступа к репозитариям приложений, которые по той или иной причине не были приняты в официальный магазин приложений Apple. Для того, чтобы обеспечить эти возможности, в состав джейлбрейка входят компоненты, которые не только нужны для извлечения файловой системы, но и вредят процессу криминалистического анализа, модифицируя системный раздел и изменяя некоторые файлы. Некоторые утилиты джейлбрейка (к примеру, последняя версия unc0ver) позволяют отключить ненужные опции и отказаться от перемонтирования файловой системы, однако требуют предельного внимания и осторожности в процессе установки.

Все эти особенности заставили нас задуматься о разработке собственного агента, который включал бы лишь самое необходимое для доступа к файловой системы, будучи максимально простым и безопасным в использовании.

Доступ к файловой системе и Связке ключей через программу-агента

Список поддерживаемых агентом устройств довольно широк, включая все модели iPhone начиная с iPhone 5s и заканчивая линейкой iPhone Xr, Xs и Xs Max. Поддерживается большинство планшетов iPads, основанных на процессорах соответствующих поколений. Список поддерживаемых версий iOS несколько уже: поддерживаются iOS 11 и 12 всех версий, за исключением iOS 12.3, 12.3.1 и 12.4.1. Оценить совместимость разных способов извлечения данных можно на следующей схеме:

В чём отличия между разными способами извлечения данных?

  1. Логическое извлечение: доступ к данным из резервной копии, расшифровка многих записей Связки ключей, извлечение медиа-файлов, некоторых журналов и данных приложений. Работает на всех устройствах и любых версиях iOS, но количество извлекаемых данных ограничено.
  2. Работа через джейлбрейк: извлечение файловой системы и расшифровка Связки ключей. Совместимость ограничена моделями устройств и версиями iOS, для которых существует джейлбрейк.
  3. Работа с checkra1n/checkm8: извлечение файловой системы и расшифровка Связки ключей. Совместимость ограничена моделями устройств (вплоть до A11, т.е. до iPhone 8/8 Plus/iPhone X включительно) и (на данный момент) версиями iOS3-13.3.1. В то же время этот метод использует аппаратную уязвимость, которую Apple не сможет исправить. Кроме того, доступно частичное извлечение в режиме BFU (до первой разблокировки, если пароль устройства неизвестен).
  4. Программа-агент: извлечение файловой системы и расшифровка Связки ключей. Совместимость ограничена моделями устройств (A7-A11) и версиями iOS (11-12, кроме 12.3, 12.3.1, 12.4).

Извлечение файловой системы из iPhone с программой-агентом

Перед тем, как начать работу, потребуется подготовка. Для установки программы-агента на iPhone вам потребуется учётная запись Apple ID, зарегистрированная в программе Apple для разработчиков. Обычный Apple ID использовать для установки программы-агента нельзя.

Для регистрации в программе Apple для разработчиков будет необходимо активировать двухфакторную аутентификацию (если вы не сделали этого ранее). Для установки программы-агента вам потребуется создать пароль приложения; это можно сделать через браузер на странице Apple ID.

Обратите внимание: в программе Apple для разработчиков может быть зарегистрировано до 100 устройств каждого типа (например, 100 телефонов iPhones и 100 планшетов iPads). Вы сможете удалить устройство из вашей учётной записи после того, как закончите с ним работать.

Для извлечения файловой системы и расшифровки Связки ключей проделайте следующие действия.

  1. Подключите iPhone к компьютеру. Подтвердите запрос на установление связи (на телефоне может потребоваться ввести код блокировки).
  2. Запустите Elcomsoft iOS Forensic Toolkit 5.30 или более новую версию.
  3. В качестве первого шага рекомендуем выполнить логическое извлечение (создание резервной копии, извлечение медиа-файлов и т.д.)
  4. Для работы с программой-агентом используйте цифровые команды 1…4.
  5. Установка агента на iPhone: команда ‘1’ (Install agent). Вам потребуется ввести логин от Apple ID (напомним, зарегистрированного в программе для разработчиков) и пароль приложения, который вы сгенерировали ранее. Далее введите ‘Team ID’ из учётной записи для разработчиков. После установки агента, запустите приложение-агент на телефоне и оставьте его работать в активном режиме.
  6. Дальнейшие шаги похожи на извлечение с использованием джейлбрейка за исключением того, что командой ‘D’ (Disable lock) пользоваться не нужно.
  7. Извлечение Связки ключей: команда ‘2’.
  8. Создание образа файловой системы: команда ‘3’. Копия файловой системы iPhone будет сохранена на компьютере в архиве в формате TAR.
  9. Для удаление программы-агента с iPhone используйте команду ‘4’.

Просмотреть содержимое файловой системы можно посредством Elcomsoft Phone Viewer или альтернативного приложения, поддерживающего формат TAR. Для анализа Связки ключей используйте Elcomsoft Phone Breaker. Для анализа в ручном режиме смонтируйте или распакуйте образ файловой системы (для этого желательно использовать систему на основе UNIX или macOS).

Заключение

В сравнении с традиционным способом извлечения файловой системы через джейлбрейк использование агента собственной разработки «Элкомсофт» позволяет сделать процесс анализа значительно более удобным и совершенно безопасным. Агент не модифицирует системный раздел устройства и пользовательские данные, не перемонтирует файловую систему и не оставляет явных следов работы; худшее, что может произойти с устройством – перезагрузка в штатном режиме. При извлечении данных автоматически подсчитываются и сохраняются хэш-суммы. Кроме того, использование агента позволило нашим разработчикам добиться максимально возможной для каждой модели скорости передачи данных. По завершении работы агент удаляется с устройства одной командой.

В недавнем обновлении Elcomsoft iOS Forensic Toolkit получил возможность извлечения образа файловой системы из ряда устройств под управлением iOS, включая модели от iPhone 5s до iPhone X включительно. Новая возможность работает независимо от установленной в телефоне версии iOS; подробности – в статье iOS Device Acquisition with checkra1n Jailbreak. Сегодня же мы хотим рассказать об очередном нововведении в продукте: возможности частичного извлечения Связки ключей и особенностей работы с заблокированным устройством, даже если разблокировать его невозможно.

Заблокированные устройства и устройства после холодного старта

Что такое заблокированное устройство? В зависимости от контекста термин имеет множество значений. Мы будем понимать под «заблокированным» такое устройство, экран которого заблокирован неизвестным кодом блокировки либо на экране устройства присутствует надпись «iPohne отключен. Подключитесь к iTunes». (далее…)

Основным новшеством недавно анонсированного обновления инструментария iOS Forensic Toolkit стала поддержка новой утилиты джейлбрейка checkra1n. Новый джейлбрейк стал безусловным прорывом в области мобильной криминалистики. В чём принципиальное отличие checkra1n от всех предыдущих утилит для взлома iPhone, как установить его на устройство, как использовать и что именно можно извлечь с его помощью? Попробуем разобраться.

В предыдущей статье мы протестировали работу checkra1n с ТВ-приставкой Apple TV 4, убедившись в его работоспособности даже на столь отличной от телефонов платформе. Сегодня же мы расскажем о том, как использовать новый джейлбрейк для анализа широкой линейки iPhone начиная с iPhone 5s и заканчивая моделями iPhone 8, 8 Plus и iPhone X вне зависимости от установленной на них версии iOS.

(далее…)

НАШИ НОВОСТИ