Статьи по ключевому слову ‘EIFT’

Сегодня мы поговорим о малоизвестных особенностях iOS, связанных с защитой резервных копий, обходом этой защиты и защитой от неё. Система резервного копирования iOS – воистину вне конкуренции. Ничего подобного в плане подробности, универсальности и безопасности локальных резервных копий у конкурентов в стане Android нет. В Android резервные копии создаются исключительно в облаке; локальные же резервные копии в этой системе оставляют желать много лучшего. В рамках этой статьи мы поговорим о локальных резервных копиях и их защите.

Для пользователя резервная копия – удобный и простой способ перенести данные на новое устройство или восстановить уже имеющееся после сброса к заводским настройкам. Для экспертов-криминалистов резервные копии iOS — не менее удобный, универсальный и простой способ извлечь из хорошо защищённого хранилища устройства копию данных. В резервные копии попадает множество важной информации: и данные большинства приложений, и логины с паролями, которые пользователь сохранил в браузере Safari и сторонних приложениях, и пароли к Wi-Fi, и резервные копии часов Apple Watch, и данные об активности пользователя (шаги, сердцебиение в заданный момент времени). Попадают в резервные копии и многие другие вещи, жизненно необходимые для расследования преступлений. В руках злоумышленника резервная копия превращается в опасное оружие. Логины и пароли из Связки ключей позволяют получить доступ к учётным записям, переписке и финансам пользователя. Чтобы этого не произошло, Apple позволяет пользователю установить пароль на резервные копии.

Пароли к резервным копиям iOS

Если пароль установлен, вся резервная копия целиком будет зашифрована стойким ключом, который генерируется на основе пароля. Шифрование происходит внутри устройства; если пароль установлен, то незашифрованные данные просто не покидают телефон. Соответственно, какую бы программу для снятия резервной копии вы ни использовали, результат будет один: зашифрованная резервная копия.

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

До выхода iOS 11 длинный и сложный пароль на резервную копию был абсолютной защитой; никакой возможности удалить или поменять пароль, не введя предварительно старый, в старых версиях системы не существовало. В iOS 11 ситуация изменилась.

Первая рекурсия: сброс пароля на резервную копию

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

В iOS 11 или более поздней версии можно создать зашифрованную резервную копию устройства, сбросив пароль. Чтобы сделать это, нужно выполнить следующие действия.

  1. На устройстве iOS выберите «Настройки» > «Основные» > «Сброс».
  2. Нажмите «Сбросить все настройки» и введите пароль ОС iOS.
  3. Следуйте инструкциям по сбросу настроек. Это не затронет данные или пароли пользователей, но приведёт к сбросу таких настроек, как уровень яркости дисплея, позиции программ на экране «Домой» и обои. Пароль для шифрования резервных копий также будет удалён. (В скобках: на этом этапе устройство потребует ввести код блокировки экрана).
  4. Снова подключите устройство к iTunes и создайте новую зашифрованную резервную копию.

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

На устройстве с iOS 10 или более ранней версии сброс пароля невозможен. 

Вторая рекурсия: защита от попыток сброса пароля на резервную копию

Лёгкость, с которой злоумышленник может обойти самый сложный и длинный пароль на резервную копию, всего лишь введя код блокировки экрана, неприятно поражает. Однако от этой угрозы можно уберечься. Механизмом защиты здесь станут Ограничения родительского контроля (iOS 11) или пароль Экранного времени (iOS 12 и более поздние).

Допустим, ваш iPhone попал в руки злоумышленника. Предположим, злоумышленнику удалось подсмотреть ваш код блокировки; теперь он пытается отвязать телефон от облака, а заодно извлечь  копию данных, получив доступ к паролям из Связки ключей. Защититься от такого развития событий можно при помощи пароля Экранного времени. Подробно о возможностях контроля Экранного времени можно почитать в статье Apple Использование родительского контроля на устройствах iPhone, iPad и iPod touch ребенка. Нас же сейчас интересует другая возможность этой системы: защитить телефон от сброса пароля на резервную копию.

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

Что произойдёт, если теперь попытаться сбросить пароль на резервную копию? На первом шаге – никаких отличий: система запросит пароль блокировки устройства. А вот сразу после этого будет запрошен дополнительный 4-значный пароль Экранного времени. Эта мера безопасности вполне способна не только отвадить любопытных, но и защитить iPhone от целенаправленных попыток взлома.

Рекурсия третья: как узнать пароль Экранного времени

Пароль Экранного времени сохраняется на самом устройстве. Подобрать его за разумное время невозможно: невеликое пространство из 10,000 комбинаций защищается системой прогрессирующими задержками между попытками ввода. После нескольких неудачных попыток система ограничит скорость перебора паролей Экранного времени, вводя прогрессивные задержки в 1, 5, 15 и 60 минут. После 10 неудачных попыток каждая следующая попытка может быть предпринята не ранее, чем через час после предыдущей; перезагрузка устройства не поможет ускорить процесс. Таким образом, все 10,000 комбинаций можно перебрать за 416 дней.

Однако есть и более интересные способы. Сразу оговорюсь: первый из них работает только тогда, когда пароль на резервную копию не установлен или известен, а второй – если на iPhone можно установить джейлбрейк (включая аппаратный — checkra1n).

Способ 1: извлечь из резервной копии

В iOS 7-11 этот пароль (там он носит название Restrictions) хранится в виде хэша. Алгоритм относительно стойкий (pbkdf2-hmac-sha1, но количество итераций относительно невелико). С учётом того, что пароль этот состоит всегда и только из 4 цифр, полный перебор хэша на компьютере занимает несколько секунд. Сам хэш хранится в файле com.apple.restrictionspassword.plist, который попадает в бэкап. Соответственно, пароль Restrictions можно вскрыть, если у нас есть (одно из):

  • резервная копия iOS без пароля
  • резервная копия iOS с паролем, плюс пароль от него

В iOS 12 (здесь это пароль Экранного времени, или Screen Time) хранится в открытом виде. Нет, безопасность от этого хуже не стала: пароль переместили в Связку ключей. Тем не менее, класс защиты паролю Экранного времени назначили минимальный: он не привязан к устройству. Минимальный класс защиты назначен умышленно. Сделано это для того, чтобы при восстановлении нового iPhone из бэкапа пароль Экранного времени устанавливался автоматически (таким образом Apple закрыли потенциальную возможность снять пароль Экранного времени путём создания резервной копии, сброса устройства и последующего восстановления из резервной копии). Записи Связки ключей с более высокими классами защиты не попадают в резервные копии или попадают, но защищаются аппаратным ключом устройства (то есть, могут быть восстановлены только на то же самое устройство).

Чтобы достать пароль Экранного времени, нужно:

  • резервная копия iOS с паролем плюс пароль от него

Способ 2: через джейлбрейк

Очевидно, что первый способ сработает лишь тогда, когда пароль на резервную копию не установлен или известен. Если же пароль на резервную копию установлен, но неизвестен, то единственный оставшийся способ узнать пароль Экранного времени – получить доступ к Связке ключей (keychain). Для старых версий iOS нужна копия файловой системы.

Для iOS 7-11 нужно:

  • образ файловой системы

Для iOS 12:

  • Связка ключей

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

One more thing

Что интересно, пароль Экранного времени хранится также и в облаке iCloud, но только в том случае, если вы включили двухфакторную аутентификацию и активировали опцию Screen Time “Share across devices”. Сам ключ при этом не попадает в Облачную связку ключей, а хранится отдельно (примерно в том же виде, что и ключ восстановления доступа к зашифрованным томам FileVault 2). Извлечь его из iCloud (и просмотреть) можно посредством Elcomsoft Phone Breaker. Для этого вам понадобится всё перечисленное ниже:

  • логин и пароль от Apple ID (iCloud) пользователя
  • код блокировки экрана устройства
  • доступ ко второму фактору аутентификации (им является само устройство, если известен код блокировки; впрочем, достаточно и SIM-карты с доверенным телефонным номером)

А вот сценарий со сбросом устройства и последующим восстановлением его из «облачной» резервной копии мы не проверяли, поэтому я не могу точно сказать, активируется ли пароль Экранного времени, если создать резервную копию в iCloud, сбросить iPhone и восстановиться из облака.

Рекурсия четвёртая, последняя: как защитить доступ к паролю Экранного времени

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

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

Опасаться можно сценария, когда украденное устройство (с известным злоумышленнику кодом блокировки) будет положено на полку в ожидании появления джейлбрейка, либо если для вашего телефона (iPhone 8, 8 Plus, iPhone X или более старое поколение) есть аппаратный джейлбрейк checkra1n. Здесь, однако, может помочь стандартная «Стереть [устройство]», выполненное в портале Find my iPhone. Дело в том, что для установки джейлбрейка требуется сначала подписать IPA-файл, а потом и подтвердить цифровую подпись непосредственно на самом iPhone. Подтверждение цифровой подписи происходит на сервере Apple; то есть, злоумышленнику придётся разрешить украденному у вас iPhone выйти в интернет. В этот момент с большой вероятностью сработает команда на стирание устройства.

Злоумышленники могут решить эту проблему, используя специальные конфигурации роутера, в которых будет запрещён доступ к узлам, ответственным за функционал Find My iPhone. Кроме того, вместо обычного сертификата для подписи джейлбрейка могут использовать сертификат разработчика, который не требует выхода iPhone в сеть для подтверждения цифровой подписи.

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

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

Сегодня смартфон — полноценная замена множеству вещей: фотоаппарату, навигатору, шагомеру и даже кошельку. Смартфоны содержат огромное количество конфиденциальной информации, которая может оказаться полезной в расследовании или стать основой доказательной базы. Получить доступ к этим данным может оказаться непросто, что продемонстрировал спор между ФБР и Apple по поводу разблокировки телефона iPhone 5c, который был использован стрелком из Сан-Бернардино в декабре 2015 года. Несколько лет назад вопрос о разблокировке этого устройства стал причиной судебного спора двух гигантов. Сегодня благодаря последним достижениям разблокировка iPhone 5c не представляет особой проблемы.

Тот самый iPhone 5c

Apple выпустила iPhone 5 в сентябре 2012 года. Телефон поставлялся с iOS 6.0; последняя версия iOS, доступная для этого устройства — 10.3.4.

В сентябре 2013 года Apple выпустила не один, а сразу два iPhone, причём основанных на совершенно разных наборах микросхем. Флагманом компании стал инновационный (и довольно дорогой) iPhone 5s, в котором впервые появились такие вещи, как датчик отпечатка пальцев и аппаратный сопроцессор Secure Enclave. А вот iPhone 5c стал «доступной» моделью, основанной на упрощённой начинке прошлогоднего iPhone 5.

Выпустив iPhone 5c, Apple предприняла попытку выйти на рынок бюджетных телефонов, которая не нашла понимания у журналистов и обозревателей того времени. Несмотря на плохие обзоры, эта модель года стала одним из самых популярных бюджетных телефонов, продаваемых через собственным каналы продаж сотовыми операторами США.

iPhone 5c стал последним смартфоном от Apple, основанном на 32-битном процессоре. Изначально iPhone 5c вышел с iOS 7.0; последняя версия iOS, доступная для этого телефона — 10.3.3.

iPhone 5c стал знаменит после террористической атаки в Сан-Бернардино в декабре 2015 года и последующей судебной тяжбой между ФБР и Apple. В этом споре Федеральное бюро расследований потребовало, чтобы Apple создала программное обеспечение, которое позволило бы ФБР разблокировать iPhone 5C террориста. Объект спора — iPhone 5c — был найден в рабочем состоянии, но был заблокирован четырёхзначным паролем. На устройстве была настройка на стирание данных после десяти неудачных попыток. Apple отказалась создавать такое программное обеспечение (хотя технически, они могли это сделать); судебное слушание было назначено на 22 марта. Однако за день до слушания правительство потребовало отсрочки, заявив о существовании третьей стороны, способной помочь в разблокировке. 28 марта было объявлено, что ФБР удалось разблокировать аппарат. Иск был отозван.

Как именно ФБР удалось получить пароль, кто был подрядчиком и сколько именно было заплачено за услугу, официально неизвестно. Некоторые новостные агентства со ссылкой на анонимные источники назвали третьей стороной израильскую компанию Cellebrite (которая не опровергла, но и подтвердила этот факт). Однако The Washington Post сообщила, что, по словам очередных анонимных «людей, знакомых с вопросом», ФБР заплатило «профессиональным хакерам», которые использовали неопубликованную уязвимость в программном обеспечении iPhone. По словам директора ФБР Джеймса Коми, взлом данного iPhone 5c обошёлся ФБР в сумму более 1,3 миллиона долларов. До сих пор точно не известно, была ли это компания Cellebrite (которая отказывается от комментариев, но явно не подтверждает своё участие) или кто-либо ещё. С учётом того, что от комментариев воздерживается и потенциальная «третья сторона», точно установить исполнителей контракта не представляется возможным.

Сегодня же разблокировать iPhone 5c сможет любой пользователь нашего программного инструментария iOS Forensic Toolkit, цена которого почти на три порядка меньше выложенной ФБР суммы. При помощи Elcomsoft iOS Forensic Toolkit можно подобрать пароль экрана блокировки iPhone 5/5c и разблокировать устройство.

Говоря о восстановлении пароля, нельзя не упомянуть работу Сергея Скоробогатова. В своём исследовательском проекте «Анализ безопасности Apple iPhone 5c» он продемонстрировал атаку, позволяющую подобрать код блокировки экрана на iPhone 5c. У метода, предложенного Сергеем, есть два недостатка: телефон потребуется разобрать, а пауза между попытками ввода пароля достигает 5 секунд. В своей работе Сергей утверждает, что взломать 4-значный код доступа можно примерно за сутки, а восстановление 6-значного PIN-кода займёт неоправданно много времени.

Ещё одним способом разблокировки iPhone 5c в своё время стало решение IP-BOX и его многочисленные клоны. Их основной недостаток — ограничение версий iOS до iOS 8.1 включительно. Более новые версии iOS принципиально не поддерживаются, а скорость перебора аналогична решению Сергея (около 6 секунд на попытку ввода пароля или порядка 17 часов на взлом 4-значного PIN-кода).

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

Как работает восстановление пароля и почему так важно восстановить именно оригинальный код блокировки экрана, а не, например, обойти его посредством эксплойта? Об этом — ниже.

Код блокировки как вершина безопасности

Код блокировки экрана — важнейшая часть модели безопасности iPhone. Начиная с iOS 8, пользовательские данные, включая пароли, хранящиеся в Связке ключей, шифруются с помощью ключа, полученного криптографическим преобразованием пароля пользователя. Без оригинального пароля невозможно получить доступ к информации на устройствах до первой разблокировки (т.е. только что включённых или сразу после перезагрузки). Обход пароля блокировки экрана для таких устройств — операция достаточно бессмысленная, поскольку основной массив данных будет надёжно зашифрованным.

Система безопасности iOS отлично документирована. Следующий отрывок из документации Apple Platform Security объясняет роль пароля в экосистеме iOS.

Установив на устройстве код-пароль, пользователь автоматически включает защиту данных. iOS и iPadOS поддерживают код-пароли из четырех или шести цифр и буквенно-цифровые код-пароли произвольной длины. Помимо разблокирования устройства, код-пароль является источником энтропии для некоторых ключей шифрования. Это означает, что злоумышленник, завладевший устройством, не сможет получить доступ к данным определенных классов защиты, не зная код-пароля.

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

Чем надежнее код-пароль пользователя, тем надежнее ключ шифрования. А благодаря Touch ID и Face ID пользователь может установить гораздо более надежный код-пароль, чем это было бы возможно при отсутствии данной технологии. Это повышает эффективное количество энтропии, используемое для защиты ключей шифрования системы защиты данных, без ущерба для удобства пользователей, которым приходится по несколько раз в день разблокировать устройство iOS или iPadOS.

Чтобы дополнительно усложнить атаки методом перебора, после ввода неправильного код-пароля на экране блокировки временные задержки увеличиваются. Если параметр «Настройки» > «Touch ID и код‑пароль» > «Стирать данные» включен, все данные на устройстве будут автоматически стерты после 10 неудачных попыток ввода код-пароля подряд. При подсчете не учитываются последовательные попытки ввода одного и того же неправильного код-пароля. Эта функция также доступна при настройке политики администрирования через систему управления мобильными устройствами (MDM), которая поддерживает эту функцию, и Exchange ActiveSync. Кроме того, можно установить более низкий порог ее срабатывания.

На устройствах с Secure Enclave за применение задержек отвечает сопроцессор Secure Enclave. Если в течение заданного времени задержки устройство перезапускается, задержка применяется еще раз, а таймер запускается заново.

Источник: Apple Platform Security

В старых моделях iPhone, в частности iPhone 5 и iPhone 5c, измеренная задержка между попытками ввода пароля составила 73,5 мс, что даёт скорость перебора в 13,6 паролей в секунду. Это очень близко 80 мс, о которых пишет Apple. Поскольку в этих моделях iPhone нет сопроцессора безопасности, увеличивающиеся временные задержки устанавливаются программно операционной системой, а не сопроцессором Secure Enclave. Это, в свою очередь, означает, что задержку можно отключить программным же способом при наличии доступа к определённым системным файлам.

Наконец, iPhone 5 и iPhone 5c не оснащены датчиком отпечатков пальцев. Код блокировки — единственное средство защиты устройства. В документации Apple есть фраза: «благодаря Touch ID и Face ID пользователь может установить гораздо более надежный код-пароль, чем это было бы возможно при отсутствии данной технологии». Поскольку указанных технологий в этих моделей iPhone нет, то и пользователи, скорее всего, будут выбирать простые и короткие PIN-коды вместо более длинных буквенно-цифровых паролей, чтобы избежать (снова цитата) «ущерба для удобства пользователей, которым приходится по несколько раз в день разблокировать устройство».

Какие пароли встречаются чаще всего?

Типы паролей, которые чаще всего устанавливают пользователи, зависят от нескольких факторов. Сюда входят как настройки iOS по умолчанию, так и фактора удобства, который учитывает наличие или отсутствие Touch ID/Face ID, а также скорость и удобство ввода того или иного пароля с экранной клавиатуры.

Выбор по умолчанию

В iOS 6 был единственный вариант — простой пароль из 4 цифр, который и был включён по умолчанию. Если пользователь отключал настройку, он мог использовать буквенно-цифровой код доступа любой длины. Однако, если пользователь вводил любое количество цифр, кроме четырёх, на экране блокировки будет отображаться клавиатура только с цифрами (и текстовое поле переменного размера). Таким образом, классификация типов паролей, доступных в iOS 6, включает следующие варианты:

  • 4-значный цифровой PIN-код
  • Цифровой PIN-код произвольной длины (кроме 4-значных цифровых кодов)
  • Буквенно-цифровой код

В iOS 9 (а также iOS 10) были доступны следующие четыре варианта:

  • 4-значный цифровой PIN-код
    6-значный цифровой PIN-код
    Цифровой код произвольной длины
    Буквенно-цифровой код произвольной длины

В разных источниках приводится информация о том, что с момента выхода iOS 9 Apple перешла на шестизначные коды доступа, сделав их вариантом по умолчанию. Для двух рассматриваемых моделей iPhone (5 и 5c) это утверждение неверно. После сброса настроек на iPhone 5 и 5с мы наблюдали предложение установить 4-значный цифровой PIN-код. Ещё более интересным является то, что при попытке изменить уже установленный 6-значный PIN-код на новый, iOS все равно предложит установить 4-значный PIN-код. Скорее всего, это часть «фактора удобства», поскольку 6-значный код доступа приведёт к проблемам (ok, небольшим затруднениям), связанным с отсутствием в данных моделях датчика отпечатка пальцев.

Фактор удобства

Какие пароли чаще всего устанавливают пользователи на устройствах до Touch ID? В мае 2020 года Филипп Маркер, Даниэль В. Бейли, Максимилиан Голла, Маркус Дюрмут и Адам Дж. Авив провели исследование выбранных пользователем 4- и 6-значных PIN-кодов, собранных на смартфонах для разблокировки устройства. В своём исследовании они объединили несколько наборов данных, полученных из различных источников, и провели собственное тестирование 1220 участников. Исследование помогло определить наиболее часто используемые 4- и 6-значные PIN-коды.

Исследователи сделали следующие выводы, которые на первый взгляд могут показаться спорными. Из исследования сделан вывод, согласно которому реальная эффективность использования более длинных 6-значных PIN-кодов по сравнению с 4-значными довольно низкая. Участники исследования, вынужденные использовать 6-значный PIN, чаще всего выбирали варианты, которые легко угадать или удобно набирать на экранной клавиатуре. Существуют чёрные списки таких паролей, однако в исследовании был сделан вывод об их неэффективности и даже контрпродуктивности: оказалось, что участники эксперимента считают, что занесение выбранного ими пароля в чёрный список только усилит безопасность, не влияя на удобство использования. (источник)

Часто используемые пароли

Со своей стороны, мы можем порекомендовать ознакомиться с оригинальным исследованием. С нашей точки зрения значение имеет список наиболее часто используемых (а значит, и наименее безопасных) 6-значных PIN-кодов. В этом списке всего 2910 записей, и для их проверки требуется порядка 4 минут. В этом списке и хит всех времён — пароль 123456, и повторяющиеся цифры (000000, 999999), а также цифровые пароли, представляющие определённые комбинации, фактически из двух или трёх цифр (например, 131313 или 287287). После этого списка идут 6-значные PIN-коды, основанные на дате рождения пользователя; существует около 74 тысяч возможных комбинаций, на проверку которых уходит около 1,5 часов. Только после того, как эти возможности исчерпаны, мы начинаем полный перебор оставшихся вариантов, который длится около 21 часа.

Заключение

iPhone 5 и 5c вышли почти 7 лет назад, но на руках у пользователей и в лабораториях экспертов осталось ещё довольно много таких устройств. Для разработки первого эксплойта потребовались годы и сумма, превышающая миллион долларов. Сегодня быстрый способ разблокировки iPhone 5 и 5c доступен всем желающим с использованием чисто программного метода.

Мы разработали способ, позволяющий разблокировать смартфоны моделей iPhone 5 и iPhone 5c, защищённые неизвестным кодом блокировки экрана. Наш метод взлома кода блокировки основан на атаке через режим DFU, для проведения которой вам потребуется компьютер под управлением macOS. Реализация метода — полностью программная; разборка устройства или дополнительное аппаратное обеспечение не требуются. Для разблокировки телефона вам потребуется инструментарий iOS Forensic Toolkit версии 6.40 или более новой, компьютер Mac и обычный кабель USB-A — Lightning. В этом руководстве описаны шаги по разблокировке смартфонов iPhone 5 и 5c.

Виды кодов блокировки

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

Перебор кодов блокировки возможен исключительно на самом смартфоне; при этом разработчики Apple предприняли все возможные шаги для затруднения и замедления перебора. В современных устройствах для защиты от перебора используется аппаратный сопроцессор Secure Enclave, который вводит прогрессирующие задержки между неудачными попытками. Прогрессирующие задержки есть и в старых устройствах, основанных на 32-разрядных процессорах; сюда входят и модели iPhone 5 и 5c. Защита на этих устройствах, однако, реализована на программном уровне – что позволило нам её обойти программным же способом. Точно таким же образом мы отключили и опцию стирания данных после 10 неудачных попыток.

В результате скорость перебора паролей достигла максимально возможной цифры в 13.6 паролей в секунду (аппаратный предел платформы).

В версиях iOS, которые поддерживаются на моделях iPhone 5 и 5c, доступны следующие варианты кодов блокировки экрана:

  • PIN-код, состоящий из 4 цифр
  • PIN-код, состоящий из 6 цифр
  • PIN-код, состоящий из произвольного количества цифр (кроме четырёх и шести)
  • Буквенно-цифровой пароль

Взлом PIN-кодов, состоящих из 4 или 6 цифр

Скорость атаки в 13.6 паролей в секунду позволяет полностью перебрать все комбинации 4 цифр за 12 минут.

Пароли, состоящие из 6 цифр, перебираются в течение 21 часа, однако реальное время разблокировки может быть значительно меньше, если пользователь установил один из распространённых паролей. В процессе атаки инструментарий в первую очередь опробует самые часто используемые пароли (к примеру, 123456, 000000, 343434 и т.п.), во вторую – пароли, в которых может быть закодирована дата (день рождения пользователя или одного из членов семьи – весьма распространённый цифровой пароль). Лишь в том случае, если не сработает ни одна из этих атак, время отработки которых составляет примерно полтора часа, программа включит режим полного перебора.

Буквенно-цифровые пароли

Скорости в 13.6 паролей в секунду достаточно для взлома паролей, состоящих только из цифр (до 6 включительно). Сложность буквенно-цифровых паролей такова, что взломать их за разумное время не представляется возможным. Соответственно, в настоящий момент перебор буквенно-цифровых паролей нашим инструментарием не поддерживается. Мы рассматриваем возможность добавления атаки по словарю в следующих версиях продукта.

Требования

Для проведения атаки на код блокировки вам потребуется следующее.

  1. macOS (под Windows эта функция недоступна).
  2. Прямое соединение телефона с компьютером без использования USB хаба
  3. Если на Маке есть только порты USB-C, используйте адаптер-переходник с USB-C на USB-A и кабель USB-A – Lightning. Не используйте кабели USB-C – Lightning.
  4. Устройство должно быть заряжено как минимум до 20%.
  5. iOS Forensic Toolkit версии 6.40 или более новой.

Шаги по разблокировке iPhone 5c

В первую очередь — установите инструментарий iOS Forensic Toolkit и прочтите важную информацию по установке джейлбрейка checkra1n:

  1. Скачайте Elcomsoft iOS Forensic Toolkit. Вставьте аппаратный ключ в свободный порт USB (ключ корректно определяется и при использовании USB-хабов).
  2. Ознакомьтесь с инструкцией по установке инструментария на macOS: How to Install and Run iOS Forensic Toolkit on a Mac. Обратите внимание на особенности установки на macOS Catalina.
  3. Установите инструментарий в соответствии с инструкциями.
  4. Ознакомьтесь с особенностями установки checkra1n:
    1. Только прямое подключение телефона к компьютеру (без хабов)
    2. Используйте только кабели USB-A — Lightning (кабели USB-C — Lightning официально не поддерживаются, хотя и могут работать; при необходимости используйте переходник с USB-C на USB-A)
    3. Телефон должен быть заряжен хотя бы до уровня 20%.

Выберите пункт ‘P’ для доступа к функционалу взлома кода блокировки.

Вам будут доступны следующие варианты действий:

[1] Put device in DFU mode (перевести телефон в режим DFU)
[2] Exploit device (произвести эксплойт)
[3] Break 4-digit passwords (взломать пароль из 4 цифр)
[4] Break 6-digit passwords (взломать пароль из 6 цифр)
[5] Reboot device (перезагрузить устройство)

На первом шаге необходимо ввести устройство в режим DFU. Сделать это можно только вручную. Первая опция [1] поможет вам произвести нужные шаги. Существует несколько вариантов, но мы рекомендуем такую последовательность:

  • Начальное состояние: телефон должен быть выключен и не подключён к компьютеру.
  • Нажмите кнопку Home (единственную/центральную на лицевой панели), и удерживая её, подключите кабель Lightning. Отпустите Home, когда на экране устройства появится картинка «Подключитесь к iTunes».
  • Одновременно нажмите Home и Sleep/Power (кнопка блокировки на верхнем торце устройства) и удерживайте их 8 секунд (на некоторое время на экране появится логотип Apple).
  • Отпустите кнопку Sleep/Power, но продолжайте удерживать Home ещё 8 секунд

Если всё сделано правильно, экран аппарата останется чёрным, а в iTunes или Finder (в зависимости от используемой версии macOS) телефон появится как iPhone in recovery mode (режим восстановления). Всё готово к следующим шагам, которые уже автоматизированы.

Когда устройство находится в DFU-режиме, выберите вторую команду для эксплойта устройства путём загрузки в оперативную память специальной версии прошивки, использующей уязвимости. Процесс абсолютно безопасен, не затрагивает пользовательские данные и не оставляет следов на устройстве. Но в зависимости от ряда факторов (включая такие, как качество кабеля), эта операция не всегда бывает успешной. Просто повторите попытку. Вам понадобится сначала перезагрузить устройство в обычном режиме путём нажатия и удерживания обоих кнопок в течение примерно 8 секунд, после чего пройдите все шаги заново, начиная с выключения устройства. Пример сообщения об ошибке:

Ещё одна распространённая ошибка — сообщение Failed to upload iBSS. Если вы столкнулись с этим сообщением, просто повторите попытку. Иногда может потребоваться до пяти попыток. При каждой попытке вам придётся заново вводить устройство в режим DFU. Данная проблема не связана с нашим инструментарием; её возникновение говорит скорее о качестве драйверов или особенностях аппаратного обеспечения. Исправить эту проблему при помощи нашего ПО невозможно.

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

Атака займёт максимум 12 минут (4-значные PIN) или 21 час (6-значные PIN), обычно существенно быстрее. Перебор алфавитно-цифровых паролей произвольной длины в настоящий момент не поддерживается.

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

Заключение

iPhone 5 и 5c появились более 7 лет назад, но в лабораториях (а в некоторых странах — и на руках у пользователей) до сих пор хранится множество необработанных устройств. Первый способ разблокировать эти модели стоил больше миллиона долларов. Сегодня же мы предлагаем быстрое, удобное, а главное — чисто программное решение.

Какие существуют способы для извлечения максимально подробных данных из устройств iPhone, iPad, Apple TV и Apple Watch, и каким из множества способов стоит воспользоваться? Ответ на этот вопрос — многомерная матрица со множеством сносок и отступлений. О них мы и поговорим в этой статье.

Вопрос совместимости

Первые два измерения матрицы — совместимость различных способов извлечения с версией программного обеспечения и аппаратной платформой устройства. На создание таблицы совместимости ушло много времени и усилий; при этом время, в течение которых эти данные будут оставаться актуальными, ограничено циклом выхода новых версий соответствующих операционных систем. В таблице отсутствуют модели планшетов iPad; это упущение связано с тем, что совместимость соответствующих моделей iPad практически полностью совпадает с совместимостью моделей iPhone, работающих под управлением аналогичных версий операционной системы (версии iOS и iPadOS  синхронизированы).

Расшифровка сокращений:

  • Backups — локальные резервные копии в формате iTunes или в iCloud
  • iCloud Sync — данные, синхронизированные в облаке iCloud
  • Media/Shared/Logs — мультимедиа-файлы (изображения и видео), файлы некоторых приложений и журналы диагностики
  • FFS — Full File System, полный образ файловой системы устройства
  • Keychain — Связка ключей (извлечение и расшифровка)
  • FFS & keychain — полный образ файловой системы и расшифровка Связки ключей

Рассмотрим возможные подводные камни.

По типу устройства

iPhone и iPads (iOS/iPadOS)

Для iOS (и iPadOS) доступно максимальное разнообразие методов извлечения данных. Всё, что вам потребуется — это кабель Lightning или USB Type-C (для моделей iPad Pro и Apple TV 4). Впрочем, для извлечения через checkra1n мы рекомендуем использовать кабель USB-A — Lightning (пример), но не USB-C — Lightning, т.к. при использовании последнего часто возникают проблемы (в частности, с переводом устройства в режим DFU).

Apple TV (tvOS)

В случае с Apple TV 4 всё достаточно просто: устройство оборудовано разъёмом USB Type-C. В новой модели 4K порт убрали; вам потребуется переходник, позволяющий подключиться к скрытому порту Lightning. Мы написали об этом в статье Jailbreaking Apple TV 4K.

Если вы предпочитаете использовать checkra1n вместо unc0ver (например, если версия tvOS не поддерживается unc0ver), обратите внимание: вам потребуется дополнительный кабель-прерыватель для перевода устройства в режим DFU.

Без джейлбрейка можно извлечь мультимедиа-файлы и метаданные плюс некоторые журналы диагностики.

Apple Watch (watchOS)

В данном случае адаптер нужен всегда, см. Apple TV and Apple Watch Forensics 01: Acquisition. Нужные адаптер носит название «IBUS». В настоящее время подобные адаптеры существуют для поколений часов S1/S2/S3, но не для S4 или S5. В то же время, часть данных (в основном Здоровье), которые собираются часами, синхронизируются с подключённым телефоном iPhone и через него — с облаком iCloud. Отдельных резервных копий часов в облаке нет, но часть данных Apple Watch хранится в резервных копиях iPhone.

По методу извлечения

Логическое извлечение данных — самый быстрый, простой, безопасный и совместимый метод сбора данных. Да, этот метод предоставляет ограниченный объем данных; тем не менее, мы рекомендуем воспользоваться в первую очередь именно им. Обратите внимание:

  • Существуют различия в данных между локальными и облачными резервными копиями.
  • Также существуют различия между локальными резервными копиями с и без пароля (см. The Most Unusual Things about iPhone Backups); больше данных содержат именно резервные копии с паролем.
  • Извлечь резервную копию из облака может оказаться сложнее, чем кажется (и это не только вопрос двухфакторной аутентификации).

Имейте в виду, что резервные копии — лишь часть информации, доступной в рамках логического извлечения. Можно извлечь мультимедиа-файлы с метаданными, даже если резервная копия защищена паролем, а пароль неизвестен. Кроме того, можно извлечь некоторые файлы приложений (обычно документы, но иногда и другие пользовательские данные от фотографий до баз данных, включая например менеджеры паролей) и журналы диагностики, которые могут помочь в восстановлении истории использования устройства. Этот метод — единственный, который работает на устройствах Apple TV без джейлбрейка и на устройствах Apple Watch от S1 до S3.

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

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

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

Наконец, извлечение из облака iCloud (честно говоря, наша любимая тема). У этого метода так много преимуществ, что о них стоит написать отдельную статью. Устройство — не нужно! А вот код блокировки от него (не говоря о пароле к учётной записи) понадобится для расшифровки некоторых данных, защищённых в облаке сквозным шифрованием (не совсем корректный термин, извините). Через облако можно получить доступ к текущим и удалённым данным, а также к данным с других устройств пользователя, подключённых к той же учётной записи.

По версии ОС

Для логического анализа, включая извлечение файлов мультимедиа и журналов диагностики, версия операционной системы не имеет значения. Логический анализ доступен для всех версий ОС: от древней iOS 4 до предварительной бета-версии iOS 13.6 (последняя версия, доступная на момент написания этой статьи); результат будет примерно одинаков. Первая бета-версия iOS 14 выходит на следующей неделе, и мы практически уверены, что логический анализ заработает сразу и без проблем.

К сожалению, в случае с джейлбрейками и нашим собственным агентом-экстрактором дела обстоят иначе. Как джейлбрейки, так и наш агент-экстрактор базируются на обнаруженных исследователями уязвимостях. Такие эксплойты существуют для большинства версий iOS вплоть до iOS 13.5 включительно, но некоторые конкретные версии системы охвачены не полностью. Например, для iOS 12.3–12.4.7 из iPhone 5s и iPhone 6 мы можем извлечь только образ файловой системы, но не связку ключей. Аналогичным образом обстоят дела с устройствами под управлением iOS 13.3.1–13.4.1. Наконец, хотя для iOS 13.5 и доступен джейлбрейк, позволяющий извлечь как файловую систему, так и связку ключей, вам придётся самостоятельно устанавливать джейлбрейк; наш агент-экстрактор для этой версии не сработает. Для iOS 13.5.1–13.6 beta 2 можно использовать checkra1n (только для совместимых моделей).

С tvOS ситуация значительно хуже. Эксплойты существуют и для Apple TV (точнее, для tvOS), но джейлбрейки доступны только для очень ограниченного числа версий в диапазоне tvOS 9-12. Только tvOS 13 полностью поддерживается джейлбрейком checkra1n, включая (в теории) и последнюю бета-версию 13.4.8, которую мы однако ещё не проверяли. Мы в состоянии добавить поддержку агента для более старых версий tvOS, но конкретных планов пока нет. Обратите внимание, что Apple по умолчанию обновляет tvOS автоматически, поэтому на приставке Apple TV, как правило, будет установлена ​​последняя версия tvOS.

Что касается watchOS, то об извлечении файловой системы можно забыть независимо от версии watchOS. Несмотря на то, что watchOS уязвима для эксплойта checkm8, общедоступных джейлбрейков для watchOS 5.2 и более поздних версий просто не существует; текущей же версией является watchOS 6.2.8 beta 2. С другой стороны, бОльшая часть информации, собранной Apple Watch, доступна либо с iPhone, с которым он связан, либо из облака. Если у вас есть адаптер IBUS, вы сможете извлечь медиа-файлы и метаданные (для часов серии S1-S3).

Заключение

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

Apple Watch – одна из самых популярных марок «умных» часов в мире. Последняя версия часов оснащена полным набором датчиков и процессором, мощность которого превосходит бюджетные (и даже не очень бюджетные) модели смартфонов. При помощи часов собираются огромные массивы данных. Что происходит с этими данными, где они хранятся и как их извлечь? Попробуем разобраться.

Статья написана в соавторстве с Маттиа Эпифани. Маттиа – основатель итальянской компании REALITY NET, консультант в сфере цифровой криминалистики и мобильной безопасности. Маттиа Эпифани является инструктором курсов SANS и соавтором книги “Learning iOS Forensics”.

За последние несколько лет популярность разнообразных трекеров и «умных» часов значительно возросла. В 2018 году был продан 141 миллион «умных» часов, что почти вдвое превышает результат предыдущего года. Среди всего разнообразия моделей выделяется линейка Apple Watch, продажи которых в 2018 году составили 22.5 миллиона единиц. На протяжении нескольких лет суммарная доля всех моделей Apple Watch лишь немного не дотягивает до половины глобальной рыночной доли.

Первая версия часов Apple Watch была выпущена в 2015 году. В следующем году на замену первого поколения часов пришло поколение Series 1, которое вышло одновременно с версией Series 2. На сегодняшний день актуальной моделью является четвёртая (по факту – пятая) версия Apple Watch 4. Все версии часов от Apple работают под управлением специализированной операционной системы WatchOS, код которой в свою очередь основан на мобильной системе iOS.

В отличие от подробно исследованных смартфонов iPhone и других устройств, работающих под управлением операционной системы iOS, часы Apple Watch заинтересовали лишь небольшое число экспертов. Первыми работами, описывающими структуру данных Apple Watch, стала публикация Heather Mahalik и Sarah Edwards, опубликованная в 2015 году (PDF). С тех пор сравнимых по масштабу исследований часов от Apple не проводилось.

Последние версии часов Apple Watch оснащены большим числом разнообразных датчиков. Здесь и датчик атмосферного давления, и шагомер, и датчик пульса, и чувствительные инерционные датчики, и датчик магнитного поля, и полноценный чипсет для определения координат по спутникам GPS, Glonass и Galileo, и даже датчик для снятия электрокардиограмм. Многие из этих датчиков работают постоянно, но некоторые включаются лишь периодически. Пример – датчик для определения местоположения, который активируется лишь в те моменты, когда WatchOS посчитает, что ты вышел на пробежку.

С учётом того, что часы оборудованы 8 ГБ встроенной памяти, логично было бы ожидать, что по крайней мере часть собранных данных сохраняется в часах. Часы ведут полноценные логи, формат которых совпадает с форматом аналогичных логов iPhone. Кроме того, на часах могут быть многочисленные циферблаты, на них можно устанавливать приложения (в том числе сторонние, из магазина), синхронизировать фотографии. Часы получают уведомления с телефона, причём в них может содержаться часть сообщения. С часов можно слушать музыку, можно зарегистрироваться на рейс и пройти посадочный контроль при помощи посадочного талона в виде QR-кода. Часами можно оплачивать покупки. На часах работает голосовой помощник Siri. Если же речь идёт о версии часов с LTE, то с часов можно и позвонить. Иными словами, часы Apple Watch могут делать многое из того, что может делать и обычный смартфон. Есть ли возможность добраться до всех этих данных?

Информацию из часов можно извлечь тремя разными способами. Во-первых, резервную копию Apple Watch можно извлечь из локальной или облачной резервной копии подключённого к часам iPhone. Во-вторых, часы можно подключить напрямую к компьютеру, используя переходник, после чего извлечь данные методом логического анализа. Наконец, некоторые данные можно извлечь из облака iCloud (в первую очередь речь идёт о данных «Здоровья» пользователя, которые собирают часы).

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

Способ первый. Анализ резервной копии iPhone

Часы Apple Watch независимо от поколения аппаратной платформы и версии WatchOS обладают возможностью создавать резервную копию данных. Тем не менее, WatchOS не позволяет использовать сервис для создания резервных копий ни сторонним приложениям, ни даже программе iTunes. Резервные копии часов создаются только и исключительно в подключённом к часам смартфоне iPhone.

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

Вот что входит в резервную копию данных Apple Watch:

  • Данные (для встроенных программ) и настройки (для встроенных и сторонних программ).
  • Расположение программ на экране «Домой» и настройки циферблата.
  • Настройки панели Dock и основные системные настройки.
  • Медицинские данные и данные о физической активности.
  • Настройки уведомлений.
  • Плейлисты, альбомы и миксы, синхронизируемые на Apple Watch, и настройки музыки.
  • Настройка параметра Siri «Аудиоотзыв» для Apple Watch Series 3или более поздних моделей. 
  • Синхронизированный фотоальбом.
  • Часовой пояс.

Вот что не входит в резервную копию данных Apple Watch:

  • Записи сопряжения Bluetooth.
  • Данные кредитных или дебетовых карт для платежей Apple Pay, сохраненные на Apple Watch.
  • Код-пароль к часам Apple Watch.

(Источник: Резервное копирование данных Apple Watch)

Таким образом, резервную копию часов Apple Watch можно извлечь из iPhone. Самый простой способ это сделать – создать локальную или облачную резервную копию iPhone, после чего проанализировать её содержимое. Мы не будем подробно останавливаться на процедуре создания резервных копий (они многократно описывались на страницах нашего сайта); отметим только, что для создания свежей резервной копии можно использовать iTunes или одну из сторонних программ, но мы воспользовались утилитой Elcomsoft iOS Forensic Toolkit (она будет использована впоследствии и для извлечения данных из часов, подключённых к компьютеру через переходник).

Итак, резервная копия iPhone создана, осталось найти в ней резервную копию часов Apple Watch. Для этого мы воспользуемся двумя утилитами: iBackupBot (доступна для Windows и MacOS) и SQLite Expert для Windows.

Начнём с анализа спецификаций устройства. Для этого откроем резервную копию iPhone в приложении iBackupBot.

В папке \HomeDomain\Library\DeviceRegistry.state находятся следующие файлы:

  • plist
  • stateMachine-<GUID>.PLIST
  • plist
  • plist

В файле historySecureProperties.plist хранится серийный номер часов, уникальный идентификатор UDID (UniqueDeviceIdentifier), MAC-адреса адаптеров Wi-Fi и Bluetooth подключённых к телефону часов Apple Watch.

Файл stateMachine-<GUID>.PLIST хранит информацию о сопряжении с iPhone (обычно значение PairSuccess), версия операционной системы WatchOS и время сопряжения с телефоном (записанное в формате Apple Cocoa Core Data — https://www.epochconverter.com/coredata).

Файл activestatemachine.plist содержит информацию, подобную той, что содержится в файле stateMachine-<GUID>.PLIST, дополненной данными о версии WatchOS, установленной на часах в момент создания резервной копии.

В папке \HomeDomain\Library\DeviceRegistry содержится директория, имя которой содержит GUID из файла stateMachine-<GUID>.plist file: именно в этой директории содержатся данные из резервной копии AppleWatch.

Что же интересного есть в резервной копии часов Apple Watch? В первую очередь интерес представляют следующие данные.

В папке NanoAppRegistry содержится информация об установленных на часах приложениях. На скриншоте ниже можно увидеть информацию о приложении Facebook, включая данные Bundle Version, Display Name, Bundle Identifier и Bundle Name. К сожалению, данных приложения в резервной копии часов нет, только информация о приложении.

В базе данных NanoMail\Registry.sqlite содержится информация о почтовых учётных записях, которые синхронизируются с часами.

В частности, в таблице SYNCED_ACCOUNT можно найти записи Display Name и Email Address для каждого почтового аккаунта, который синхронизируется с устройством. Ни пароля, ни маркера аутентификации от почтовых аккаунтов в резервной копии нет.

В таблице MAILBOX можно просмотреть, как организована почта, пролистать папки и подпапки для каждой учётной записи (Входящие, Исходящие, Черновики, Архив и так далее).

Продолжая описание доступных баз данных, в базе NanoPasses\nanopasses.sqlite3 содержится список записей из приложения Wallet. Программа Wallet — универсальное хранилище кредитных, дебетовых и предоплаченных карт, а также карт магазинов, посадочных талонов, билетов в кино, купонов, бонусных карт, студенческих удостоверений и т. д. Записи Wallet синхронизируются с часами. В частности, часы можно использовать для отображения QR-кода посадочных талонов для их удобного сканирования при посадке на рейс. Для каждой записи доступны данные Type_ID, название организации Organization Name, дата Ingest Date (в формате Apple Cocoa Core Data) и описание Description.

В некоторых записях доступно поле “Encoded Pass”, в котором содержится двоичный файл plist с дополнительной информацией (например, описанный выше QR-код посадочного талона). Такие файлы можно извлечь из базы данных и открыть при помощи программы для работы с plist (например, plist Editor).

На следующем скриншоте можно увидеть запись брони гостиницы через Booking.com. Поле Encoded Pass можно открыть в SQLiteExpert и сохранить в виде файла.

Далее файл открываем в plist Editor и извлекаем информацию о брони, включая имя гостя, название и адрес гостиницы, даты заезда и выезда, стоимость и номер брони.

В папке NanoPreferencesSync хранятся различные файлы, отвечающие за настройки Apple Watch. Наибольший интерес здесь представляет папка \Backup\Files\, в которой содержится информация о циферблатах и их настройках, включая изображения.

Все эти файлы представляют собой обычные архивы в формате ZIP.

В каждом архиве содержатся:

  • Face.json с детальными настройками циферблата, включая дату его создания (как обычно, в формате Apple Cocoa Core Data)
  • В папке Resources содержится изображение циферблата в формате JPEG, а также файл Images.plist, в котором содержатся метаданные.

Анализ резервной копии: итоги

Проанализировав резервную копию часов из iPhone, мы получили достаточно скромный результат. Настройки системы и приложений, талоны из Wallet, настройки почтовых учётных записей, циферблаты… Никаких логов, никаких цифр с показаниями датчиков, уведомлений или истории местоположения пользователя; никаких данных из «песочниц» сторонних приложений. Строго говоря, мы вообще не узнали ничего интересного сверх того, что могли бы узнать, проанализировав резервную копию сопряжённого с часами iPhone, из которой мы, собственно, и извлекли резервную копию часов.

Извлечение данных из Apple Watch через адаптер

Более сложным способом извлечь информацию из Apple Watch является их подключение к компьютеру посредством специализированного переходника, правильное подсоединение которого к часам – поистине ювелирная работа. В любом случае, нужно будет выполнить все требования из списка:

  1. Нужно каким-то образом подключить часы к компьютеру. И если для Apple Watch S1, S2 и S3 есть готовые адаптеры IBUS, то для часов последней серии нужного адаптера мы не нашли.
  2. Когда часы подсоединятся к компьютеру, потребуется создать доверенное соединение – точно так же, как и с iPhone. И точно так же, как и в случае с iPhone, для этого нужно будет разблокировать часы кодом блокировки. Если этого не сделать, то связать часы с компьютером не получится.
  3. На часах нет доступного для сторонних приложений сервиса резервного копирования. Соответственно, на резервную копию рассчитывать нельзя.
  4. Джейлбрейка тоже не существует, так что и файловую систему извлечь не удастся.

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

  1. Информация об устройстве и список установленных приложений
  2. Файлы через протокол AFC (Apple File Conduit)
  3. Лог-файлы

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

Нам удалось найти переходники для первых трёх поколений часов; для Apple Watch 4 такого адаптера нет. Диагностический порт в часах Apple Watch находится под креплением для ремешка; потребуется тонкая игла или скрепка для того, чтобы открыть крышку. Используемый нами адаптер носит название IBUS.

Правильно подсоединить адаптер к часам может быть сложно. Тем не менее, это возможно:

Так же, как и для iPhone, приложение iTunes запросит разрешение на создание доверенного соединения с компьютером:

iTunes отобразит информацию о часах (только версия ОС и уникальный идентификатор часов):

Теперь запускаем Elcomsoft iOS Forensic Toolkit:

Список приложений, установленных на часах, извлекается командой I (Device Info) и сохраняется в файл:

 

На диске (обычно в том же каталоге, куда установлен iOS Forensic Toolkit) создаётся три файла:

  • plist
  • txt
  • plist

В файле ideviceinfo.plist содержится вся доступная информация по Apple Watch, включая точный идентификатор модели Hardware Model, версия операционной системы WatchOS, серийный номер часов (Serial Number), UDID, название устройства (Device Name), MAC-адреса адаптеров Wi-Fi и Bluetooth, Time Zone и время на момент извлечения данных.

Также в файле содержится информация о свободном и общем объёме накопителя и размере системного раздела (атрибуты Total Disk Capacity, Total System Capacity, Total Data Capacity, Total Data Available). Наконец, атрибуты Language и Locale содержат информацию о выбранном языке и региональных настройках.

Список установленных на часах приложений сохраняется в файл Applications.txt. Сюда попадают такие данные, как Bundle Identifier (уникальный идентификатор приложения), Bundle Version и Bundle Display Name (название приложения в том виде, как оно отображается на часах).

Детальная информация о каждом установленном приложении доступна в файле Applications.plist (ты помнишь, какой утилитой его просмотреть). Здесь содержится информация о точном пути в файловой системе, по которому установлено приложение и пути к его «песочнице» (Application Path и Container соответственно). Обрати внимание: доступа к файловой системе часов у нас нет, так что доступа к данным из «песочницы» мы не получим. Так выглядит информация о приложении Uber:

Скопировать файлы системных журналов можно командой L (Logs):

Анализ лог-файлов часов

Итак, мы извлекли лог-файлы из часов. Более подробно почитать о лог-файлах iOS можно в статье “Using AppleBug Reportingfor forensic purposes” Mattia Epifani, Heather Mahalik и Adrian Leong (Cheeky4n6monkey). В статье рассказывается о том, как использовать профили sysdiagnose для извлечения данных из различных устройств Apple. Попробуем использовать тот же подход с часами.

Скрипты для анализа данных sysdiagnose можно скачать с GitHub https://github.com/cheeky4n6monkey/iOS_sysdiagnose_forensic_scripts.

Наибольший интерес представляют следующие системные журналы.

MobileActivation содержит информацию о версиях ОС и времени их установки, модели устройства и типа продукта. Здесь также хранится детальная информация об обновлениях WatchOS. На скриншоте ниже показана работа скрипта с журналом Mobile Activation.

 

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

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

Но самым интересным, пожалуй, является журнал PowerLog. Здесь хранится информация о взаимодействии пользователя с часами. Часы лежали на зарядке? Их взяли в руки? Надели на запястье? Пользователь активировал экран? Именно этот журнал в первую очередь стараются проанализировать эксперты при расследовании автомобильных аварий. Если водитель отвлёкся на часы (или включил экран телефона, в нём тоже есть аналогичный лог) в момент аварии, это будет свидетельствовать против него (в США есть понятие Distracted Driving. Для информации: в результате distracted driving на американских дорогах в 2017 году погибло более 3,000 человек). В силу особой важности структура этой базы данных отлично изучена. Можно почитать, например, статью Sarah Edwards (PDF) или воспользоваться готовым инструментарием APOLLO. APOLLO работает примерно так:

Наконец, логи WiFi содержат список сетей, к которым подключались часы. Проще всего просмотреть содержимое файла com.apple.wifi.plist, в котором интерес представляют записи о SSID, BSSID и дате последнего подключения к данной сети. Особый интерес представляет параметр BSSID, который можно использовать для определения точного местоположения (радиус 15-25 метров) в момент подключения к сети. Для определения координат точки доступа Wi-Fi по её BSSID можно воспользоваться одним из сервисов reverse lookup, например, Wigle.

Доступ к медиа-файлам по протоколу AFC (Apple File Conduit)

О доступе к медиа-файлам стоит рассказать подробнее.

Извлечь медиа-файлы можно командой M (Media) (интерес представляют не столько сами фотографии, сколько база данных Photos.sqlite):

Практически единственный способ получить доступ к медиа-файлам из часов Apple Watch требует использования утилиты, работающей по протоколу AFC. При этом часы должны быть подключены к компьютеру, а между компьютером и часами должны быть установлены доверенные отношения (pairing).

Как было показано в предыдущей главе, медиа-файлы легко извлечь посредством команды M (Media Files) программы iOS Forensic Toolkit. Казалось бы, всё просто: медиа-файлы – это фотографии и, возможно, видеоролики; что интересного может оказаться в файлах с часов? Оказывается, интересного довольно много – и основной интерес представляют вовсе не сами фотографии.

Ниже показана структура папок, создаваемой после извлечения медиа-файлов по протоколу AFC:

Собственно изображения (в сильно уменьшенном по сравнению с оригиналами виде) попадают в папку DCIM; здесь без сюрпризов.

Несмотря на то, что изображения сильно уменьшены (странно было бы передавать на часы полноразмерные фотографии), система сохраняет в них метатеги EXIF, что позволяет определить такие параметры, как время точное съёмки и устройство, использовавшееся для фотографии.

В папке iTunes_Control\iTunes содержится весьма интересная база данных MediaLibrary.sqlitedb. Сюда же входят и соответствующие файлы SHM (Shared Memory) и WAL (Write Ahead Log). Сама база данных, как очевидно из названия, хранится в формате SQLite (как, впрочем, и все остальные базы данных на часах). В этой базе содержатся такие данные, как iCloud ID пользователя, а также список покупок в магазине iTunes (покупки музыки, фильмов и электронных книг). Что интересно, в этом файле хранится информация о покупках, совершённых со всех устройств пользователя, зарегистрированных в данной учётной записи.

В базе данных содержится 36 таблиц. Идентификатор пользователя iCloud ID хранится в таблице _MLDatabaseProperties.

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

select
ext.title AS "Title",
ext.media_kind AS "Media Type",
itep.format AS "File format",
ext.location AS "File",
ext.total_time_ms AS "Total time (ms)",
ext.file_size AS "File size",
ext.year AS "Year",
alb.album AS "Album Name",
alba.album_artist AS "Artist",
com.composer AS "Composer",
gen.genre AS "Genre",
art.artwork_token AS "Artwork",
itev.extended_content_rating AS "Content rating",
itev.movie_info AS "Movie information",
ext.description_long AS "Description",
ite.track_number AS "Track number",
sto.account_id AS "Account ID",
strftime('%d/%m/%Y %H:%M:%S', datetime(sto.date_purchased + 978397200,'unixepoch'))date_purchased,
sto.store_item_id AS "Item ID",
sto.purchase_history_id AS "Purchase History ID",
ext.copyright AS "Copyright"
from
item_extra ext
join item_store sto using (item_pid)
join item ite using (item_pid)
join item_stats ites using (item_pid)
join item_playback itep using (item_pid)
join item_video itev using (item_pid)
left join album alb on sto.item_pid=alb.representative_item_pid
left join album_artist alba on sto.item_pid=alba.representative_item_pid
left join composer com on sto.item_pid=com.representative_item_pid
left join genre gen on sto.item_pid=gen.representative_item_pid
left join item_artist itea on sto.item_pid=itea.representative_item_pid
left join artwork_token art on sto.item_pid=art.entity_pid

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

Купленные файлы (на примере ниже это музыка) можно обнаружить в папке Purchases:

Интерес представляет и папка PhotoData, в которой хранятся метаданные синхронизированных фотографий. Наибольший интерес представляют база данных Photos.sqlite и папка Thumbnails.

В базе Photos.sqlite содержится информация о фотографиях, которые хранятся на часах. Детальное описание структуры базы доступно по ссылке https://www.forensicmike1.com/2019/05/02/ios-photos-sqlite-forensics/. Готовые запросы SQL можно скачать с https://github.com/kacos2000/queries/blob/master/Photos_sqlite.sql.

Наконец, в папке Thumbnails хранятся уменьшенные превью изображений на Apple Watch. Формат ITHMB можно преобразовать в привычный JPEG при помощи утилиты iThmb Converter.

Извлечение данных через переходник: итоги

Через переходник нам оказалось доступно даже меньше информации, чем при анализе резервной копии часов. Тем не менее, ценность этих данных несравнимо выше, чем данных из резервной копии: для получения доступа ко всей этой информации нам не нужен связанный с часами iPhone – вполне достаточно самих часов. Многие данные уникальны; особую ценность мы находим в логах часов вообще и в логах PowerLog в частности, а также талонах из приложения Wallet.

Можно ли извлечь больше? Да, можно, если для часов будет доступен джейлбрейк. Для актуальных версий WatchOS джейлбрейка сейчас не существует. Единственной попыткой было приложение jelbrekTime (именно в такой транскрипции) для WatchOS 4.0-4.1.

Ситуация может измениться в ближайшее время. Для WatchOS 4.0-5.1.2 анонсирован джейлбрейк Brenbreak, который обещают выпустить для всех актуальных версий часов до конца 2019 года. Мы с нетерпением ожидаем выхода джейлбрейка, чтобы снять, наконец, образ файловой системы часов и посмотреть, что там найдётся.

Доступ через облако

Что ещё можно извлечь из часов? С технической точки зрения из самих часов — ничего, но из облака iCloud можно извлечь часть информации, которую iPhone получает именно от часов Apple Watch. Речь о данных «Здоровье», в состав которых входит счётчик шагов, данные со встроенного в часы навигатора GPS, данные сердцебиения пользователя и снятые электрокардиограммы, а также другие типы данных, для получения которых могли использоваться сторонние приложения. Для доступа к информации необходим Elcomsoft Phone Breaker; инструкция: Download Health data from iCloud (извлекаются даже те данные, которые не отдаёт Apple по запросу от правоохранительных органов). Для просмотра данных можно воспользоваться Elcomsoft Phone Viewer:

Мы уже неоднократно писали о процедуре извлечения данных «Здоровья», и здесь повторяться не будем.

Заключение

Извлечение и анализ данных часов Apple Watch – достаточно новая и малоизученная тема. В то же время ряд вещей (например, журнал PowerLog) представляют исключительный интерес для экспертов-криминалистов. Стали появляться факты успешного раскрытия преступлений, в процессе совершения которых преступник оставлял смартфон дома, но забывал снять часы или трекер, которые продолжали записывать информацию. К сожалению, в процессе исследования доступными для часов методами нам не удалось добраться до журнала с историей местоположения (часы Apple Watch оборудуются автономным датчиком GPS, который автоматически включается, если WatchOS считает, что пользователь начал тренировку). Не удалось получить доступ и к данным установленных на часах приложений. Отсутствие полноценной службы резервного копирования не позволяет создать свежую резервную копию часов иначе, чем отвязав их от смартфона iPhone (причём в момент, когда часы подключены к телефону через Bluetooth или Wi-Fi). Отсутствие в продаже адаптеров для подключения к компьютеру актуальной версии Apple Watch 4 делает невозможным извлечение жизненно важных журналов. Иными словами, исследование Apple Watch только начинается.

 

Одной из основных задач расследований, связанных с мобильными устройствами, является извлечение максимально полного набора данных. В случае, если мобильное устройство — 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 в контексте их криминалистического анализа.

Способы извлечения данных

В контексте операционной системы iOS, под управлением которой работают смартфоны iPhone и планшеты iPad, есть несколько способов извлечения истории переписки из приложений для обмена мгновенными сообщениями. На платформе iOS практически исключены атаки класса MITM (перехват и расшифровка сообщений в процессе доставки); если исключения и встречаются, то нам о них не известно. Даже на устройствах Android для атаки MITM потребуется установить сторонний SSL-сертификат, и даже это может не сработать для некоторых мессенджеров.

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

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

Историю переписки всегда можно извлечь из самого устройства iPhone, но уровень сложности различается для разных приложений. Для некоторых приложений достаточно логического извлечения (анализ резервных копий iTunes), в то время как некоторые другие мессенджеры запрещают хранение своих данных в локальных резервных копиях. Для полного доступа к истории переписки может потребоваться образ файловой системы (иногда — и Связка ключей).

Итак, рассмотрим различные варианты извлечения истории переписки для пяти распространённых приложений для обмена мгновенными сообщениями в iOS.

iMessage

iMessage — предустановленный сервис для обмена сообщениями, доступный на каждом устройстве iPhone и iPad «из коробки». Поскольку приложение предустановлено на каждом iPhone, предполагается, что большая часть пользователей iPhone так или иначе пользуется этим приложением. В какой-то мере это соответствует действительности: по умолчанию отправка сообщения через встроенное приложение «Сообщения» пошлёт SMS пользователю Android или кнопочного телефона, но отправит iMessage, если на другом конце — такой же пользователь iPhone. Компания Apple оценивает количество пользователей iMessage в 1.6 миллиарда; оценка основана на количестве активных iPhone. В 2016 году сервис пересылал порядка 200,000 сообщений iMessages в секунду.

  • Запрос от правоохранительных органов: Неоднозначно, но — нет. С одной стороны, Apple хранит сообщения на собственных серверах. С другой, по утверждениям компании, все сообщения зашифрованы сквозным шифрованием; код шифрования зависит от кода блокировки зарегистрированного устройства пользователя. Этот факт позволяет Apple утверждать, что компания не в состоянии расшифровать данные. Впрочем, Apple категорически отказывается расшифровать сообщения даже в том случае, если код блокировки известен — что фактически не представляет проблемы даже для сторонних сервисов. Так или иначе, Apple не возвращает сообщения iMessage по запросу от правоохранительных органов.
  • Собственный облачный сервис: Копии сообщений хранятся в iCloud, если пользователь включил функцию «Облачные сообщения». Данные зашифрованы, для их расшифровки необходим код блокировки экрана одного из зарегистрированных устройств пользователя. Для извлечения и расшифровки потребуется Apple ID, пароль, второй фактор аутентификации и код блокировки экрана.
  • Локальные резервные копии: История переписки iMessages всегда попадает в резервные копии, её можно извлечь и расшифровать посредством логического анализа.
  • Резервные копии в iCloud: Apple хранит сообщения iMessage в резервных копиях iCloud в том и только в том случае, если пользователь не включил функцию «Облачные сообщения». В противном случае см. предыдущие пункты.
  • iCloud Drive: нет.
  • Образ файловой системы: Сообщения iMessage хранятся в файловой системе устройства без дополнительной степени защиты. Соответственно, для их извлечения достаточно лишь образа файловой системы; расшифровка Связки ключей для этого не обязательна.

iMessage: выводы

Извлечь сообщения можно, но нужно хорошо понимать, что именно нужно делать. Сообщения доступны из нескольких источников; соответственно, получить к ним доступ можно несколькими разными способами. В целом мы оцениваем сложность извлечения iMessage как среднюю.

Необходимые программы: Elcomsoft iOS Forensic Toolkit (извлечение из образа файловой системы) или Elcomsoft Phone Breaker (извлечение из iCloud, резервных копий в iCloud, локальных резервных копий iTunes); Elcomsoft Phone Viewer (для просмотра и анализа).

Инструкции: Messages in iCloud: How to Extract Full Content Including Media Files, Locations and Documents, iMessage Security, Encryption and Attachments.

WhatsApp

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

  • Запрос от правоохранительных органов: WhatsApp не сохраняет историю сообщений на собственных серверах. Исключение — недоставленные сообщения; только их и можно получить по запросу от правоохранительных органах.
  • Собственный облачный сервис: См. выше: доступны только недоставленные сообщения.
  • Локальные резервные копии: Как правило, резервные копии WhatsApp сохраняются как в локальных, так и в облачных резервных копиях iOS.
  • Резервные копии в iCloud: См. выше; как правило, данные WhatsApp можно извлечь из облачной резервной копии в iCloud.
  • iCloud Drive: WhatsApp предлагает пользователям возможность сохранения автономной резервной копии в облаке iCloud. Эти данные можно с лёгкостью извлечь из облака; проблема же в том, что они зашифрованы. Для расшифровки таких резервных копий необходимо зарегистрироваться в качестве нового клиента WhatsApp (например, при помощи Elcomsoft Explorer for WhatsApp).
  • Образ файловой системы: База данных WhatsApp доступна и в образе файловой системы. Никакой дополнительной защиты нет.

WhatsApp: выводы

Сложность извлечения истории переписки WhatsApp мы оцениваем как невысокую. Данные WhatsApp можно извлечь практически из любого источника (за исключением собственных серверов компании), в том числе из локальных и облачных резервных копий.

Необходимые программы: Elcomsoft iOS Forensic Toolkit и Elcomsoft Phone Viewer; либо специализированный продукт Elcomsoft Explorer for WhatsApp.

Инструкции: Extract and Decrypt WhatsApp Backups from iCloud.

Telegram

Telegram — одна из самых продвинутых программ для мгновенного обмена сообщениями. Благодаря приложениям, доступным для практически всех платформ, Telegram набрал порядка 200 миллионов пользователей (данные 2018 года). В день пересылается порядка 300 миллионов сообщений.

Telegram использует собственный облачный сервис как для доставки, так и для хранения сообщений (это и позволяет использовать несколько клиентов Telegram одновременно на разных устройствах). Доступен специальный режим «секретных чатов», в котором сообщения на сервере не хранятся.

  • Запрос от правоохранительных органов: Telegram хранит полную историю переписки пользователей на собственных серверах — за исключением секретных чатов. В зависимости от юрисдикции, историю переписки в Telegram можно получить по запросу от правоохранительных органов.
  • Собственный облачный сервис: Историю переписки в Telegram можно извлечь непосредственно из облака компании, зарегистрировавшись в качестве приложения-клиента.
  • Локальные резервные копии: Нет. Данные Telegram не попадают в локальные резервные копии.
  • Резервные копии в iCloud: Нет. Данные Telegram не сохраняются в облачных резервных копиях.
  • iCloud Drive: Нет.
  • Образ файловой системы: Telegram не использует никакой дополнительной защиты. Для доступа к данным достаточно образа файловой системы.

Telegram: выводы

Сложность извлечения данных Telegram средняя. Данные Telegram (в том числе секретные чаты) можно извлечь из образа файловой системы. Обычные чаты можно получить по запросу от правоохранительных органов (в зависимости от юрисдикции).

Необходимые программы: Elcomsoft iOS Forensic Toolkit (для извлечения из файловой системы); Elcomsoft Phone Viewer (для анализа данных).

Инструкции: Извлечение секретных чатов из Telegram для iPhone

Signal

Если судить исключительно по количеству пользователей (их порядка полумиллиона), Signal не входит в пятёрку (и даже в десятку) самых распространённых мессенджеров. В то же время, благодаря беспрецедентному вниманию к безопасности, Signal стал фактически стандартным инструментом для обмена сообщениями среди тех, кому есть что скрывать. Именно по этой причине Signal вызывает неослабеваемый интерес правоохранительных органов.

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

  • Запрос от правоохранительных органов: Нет. Signal не хранит сообщения на сервере; соответственно, нечего и запрашивать.
  • Собственный облачный сервис: Нет. Signal не хранит историю переписки на своих серверах.
  • Локальные резервные копии: Нет. Данные Signal не попадают в резервные копии.
  • Резервные копии в iCloud: Нет. Данные Signal не сохраняются в облачных резервных копиях.
  • iCloud Drive: Нет. Signal не создаёт резервных копий, даже автономных.
  • Образ файловой системы: Да, но сложно. Signal шифрует рабочую базу данных, а ключ шифрования хранится в Связки ключей с максимальным классом защиты. Для расшифровки базы данных вам придётся извлечь как образ файловой системы, так и Связку ключей (Elcomsoft iOS Forensic Toolkit).

Signal: выводы

Signal — самый сложный мессенджер с точки зрения извлечения истории переписки. Для расшифровки его базы данных вам потребуется как образ файловой системы iPhone, так и расшифрованная Связка ключей.

Необходимые программы: Elcomsoft iOS Forensic Toolkit (извлечение образа файловой системы и расшифровка Связки ключей); Elcomsoft Phone Viewer (расшифровка базы данных Signal).

Инструкции: How to Extract and Decrypt Signal Conversation History from the iPhone

Skype

Skype — один из старейших мессенджеров. В настоящее время сервис принадлежит компании Microsoft. В марте 2020 года Skype использовался ста миллионами пользователей ежемесячно. Порядка 40 миллионов человек использует Skype ежедневно. Microsoft сохраняет историю общения пользователей Skype; данные доступны по запросу от правоохранительных органов.

  • Запрос от правоохранительных органов: Да; проще, чем в остальных случаях. Skype хранит полную историю переписки в облаке Microsoft; секретные чаты отсутствуют как возможность. Microsoft охотно сотрудничает с правоохранительными органами, выдавая полный набор данных по запросу от правоохранительных органов.
  • Собственный облачный сервис: Да. Microsoft хранит данные в собственном облаке, и их можно извлечь, авторизовавшись в учётной записи пользователя.
  • Локальные резервные копии: С некоторых пор Skype перестал сохранять историю переписки в локальных резервных копиях. Этот путь доступа к данным в настоящее время закрыт.
  • Резервные копии в iCloud: См. выше. В настоящее время извлечение из облачных резервных копий невозможно.
  • iCloud Drive: Нет.
  • Образ файловой системы: Skype не использует дополнительных мер по защите рабочей базы данных. Для доступа достаточно только образа файловой системы.

Skype: выводы

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

Необходимые программы: Elcomsoft Phone Breaker (для скачивания переписки из Microsoft Account); Elcomsoft Phone Viewer (для просмотра данных).

Инструкции: Extracting Skype Histories and Deleted Files Metadata from Microsoft Account

Заключение

Данная статья не претендует на полноту. Line, Viber, QQ, WeChat, Facebook Messenger и множество других приложений, в том числе от Yandex и Mail.ru, используется огромным количеством пользователей. Мы продолжаем исследования, постепенно добавляя поддержку самых распространённых мессенджеров.

НАШИ НОВОСТИ