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

Какие существуют способы для извлечения максимально подробных данных из устройств 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, основного продукта Apple, отодвигает в тень другие продукты компании. Такие устройства, как планшеты iPad, музыкальные колонки HomePod, телевизионная приставка Apple TV и часы Apple Watch пользуются заслуженной популярностью. Все эти устройства работают на вариациях одной и той же операционной системы — iOS, и для них работают многие методы извлечения и анализа данных, которыми эксперты пользуются для доступа к информации из iPhone. Сегодня мы рассмотрим процедуру извлечения данных из приставок Apple TV и часов Apple Watch.

(далее…)

НАШИ НОВОСТИ