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

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

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

INFO

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

 

Почему Apple Watch?

В отличие от подробно исследованных смартфонов 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 можно извлечь из iPhone. Самый простой способ это сделать — создать локальную или облачную резервную копию iPhone, после чего проанализировать ее содержимое. Мы не будем подробно останавливаться на процедуре создания резервных копий (они многократно описывались на нашем сайте); отметим только, что для создания свежей резервной копии можно использовать iTunes или одну из сторонних программ, но мы воспользовались утилитой Elcomsoft iOS Forensic Toolkit (она же пригодится позже и для извлечения данных из часов, подключенных к компьютеру через переходник).

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

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

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

  • historySecureProperties.plist;
  • stateMachine-.PLIST;
  • activestatemachine.plist;
  • history.plist.

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


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

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score! Подробнее

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.


Check Also

В королевстве PWN. Препарируем классику переполнения буфера в современных условиях

Сколько раз и в каких только контекстах не писали об уязвимости переполнения буфера! Однак…

1 комментарий

  1. Аватар

    niger

    16.08.2019 at 14:36

    Добрый день, Олег. как всегда спасибо за интересную статью.
    Можно ли как нибудь связаться с вами по электронной почте?
    Предполагаю что я нашел переполнение в системных компонентах для iOS и macOS.

Оставить мнение