Часы наизнанку. Извлекаем и анализируем данные Apple Watch |
||
МЕНЮ Искусственный интеллект Поиск Регистрация на сайте Помощь проекту ТЕМЫ Новости ИИ Искусственный интеллект Разработка ИИГолосовой помощник Городские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Техническое зрение Чат-боты Авторизация |
2019-07-24 12:00 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. Статья написана в соавторстве с Маттиа Эпифани. Маттиа — основатель итальянской компании 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:
Вот что не входит в резервную копию данных Apple Watch:
Таким образом, резервную копию часов Apple Watch можно извлечь из iPhone. Самый простой способ это сделать — создать локальную или облачную резервную копию iPhone, после чего проанализировать ее содержимое. Мы не будем подробно останавливаться на процедуре создания резервных копий (они многократно описывались на нашем сайте); отметим только, что для создания свежей резервной копии можно использовать iTunes или одну из сторонних программ, но мы воспользовались утилитой Elcomsoft iOS Forensic Toolkit(она же пригодится позже и для извлечения данных из часов, подключенных к компьютеру через переходник). Итак, резервная копия iPhone создана, осталось найти в ней резервную копию часов Apple Watch. Для этого мы воспользуемся двумя утилитами: iBackupBot (доступна для Windows и MacOS) и SQLite Expert для Windows. Начнем с анализа спецификаций устройства. Для этого откроем резервную копию iPhone в приложении iBackupBot. В папке
В файле Файл Файл В папке В папке В базе данных В частности, в таблице SYNCED_ACCOUNT можно найти записи Display Name и Email Address для каждого почтового аккаунта, который синхронизируется с устройством. Ни пароля, ни маркера аутентификации от почтовых аккаунтов в резервной копии нет. В таблице MAILBOX можно просмотреть, как организована почта, пролистать папки и подпапки для каждой учетной записи («Входящие», «Исходящие», «Черновики», «Архив» и так далее). В базе В некоторых записях доступно поле Encoded Pass, в котором содержится двоичный файл plist с дополнительной информацией (например, описанный выше QR-код посадочного талона). Такие файлы можно извлечь из базы данных и открыть при помощи программы для работы с plist (например, plist Editor). На следующем скриншоте можно увидеть запись брони гостиницы через Booking.com. Поле Encoded Pass можно открыть в SQLiteExpert и сохранить в виде файла. Далее файл открываем в plist Editor и извлекаем информацию о брони, включая имя гостя, название и адрес гостиницы, даты заезда и выезда, стоимость и номер брони. В папке Все эти файлы представляют собой обычные архивы в формате ZIP. В каждом архиве лежат:
Итоги Проанализировав резервную копию часов из iPhone, мы получили достаточно скромный результат. Настройки системы и приложений, талоны из Wallet, настройки почтовых учетных записей, циферблаты. Никаких логов, никаких цифр с показаниями датчиков, уведомлений или истории местоположения пользователя; никаких данных из песочниц сторонних приложений. Строго говоря, мы вообще не узнали ничего интересного сверх того, что могли бы узнать, проанализировав резервную копию сопряженного с часами iPhone, из которой мы, собственно, и извлекли резервную копию часов. Извлечение данных из Apple Watch через адаптер Более сложный способ извлечь информацию из Apple Watch — подключить их к компьютеру специализированным переходником, правильное подсоединение которого к часам поистине ювелирная работа. В любом случае обязательно выполнить два требования:
На часах нет доступного для сторонних приложений сервиса резервного копирования. Соответственно, на резервную копию рассчитывать нельзя. Джейлбрейка тоже не существует, так что и файловую систему извлечь не удастся. И даже после всего перечисленного тебе не удастся извлечь образ файловой системы! Все, что тебе будет доступно, — это несколько сервисов, через которые можно попробовать извлечь часть типов данных. С учетом всего этого неудивительно, что извлечением данных из часов Apple Watch мало кто занимается. Что же вообще можно выудить из часов при прямом подключении? Доступны всего три типа данных:
Подключение к компьютеру Нам удалось найти переходники для первых трех поколений часов; для Apple Watch 4 такого адаптера нет. Диагностический порт в часах Apple Watch находится под креплением для ремешка; потребуется тонкая игла или скрепка для того, чтобы открыть крышку. Используемый нами адаптер носит название IBUS: IBUS for Apple Watch S1 и IBUS for Apple Watch S2 and S3. Правильно подсоединить адаптер к часам может быть сложно. Тем не менее это возможно. Так же как и для iPhone, приложение iTunes запросит разрешение на создание доверенного соединения с компьютером. iTunes отобразит информацию о часах (только версия ОС и уникальный идентификатор часов). Теперь запускаем Elcomsoft iOS Forensic Toolkit. Список приложений, установленных на часах, извлекается командой На диске (обычно в том же каталоге, куда установлен iOS Forensic Toolkit) создается три файла:
В файле Также в файле есть информация о свободном и общем объеме накопителя и размере системного раздела (атрибуты Total Disk Capacity, Total System Capacity, Total Data Capacity, Total Data Available). Наконец, атрибуты Language и Locale содержат информацию о выбранном языке и региональных настройках. Список установленных на часах приложений сохраняется в файл Детальная информация о каждом установленном приложении доступна в файле Applications.plist (ты помнишь, какой утилитой его просмотреть). Здесь содержится информация о точном пути в файловой системе, по которому установлено приложение и пути к его песочнице (Application Path и Container соответственно). Обрати внимание: доступа к файловой системе часов у нас нет, так что доступа к данным из песочницы мы не получим. Как выглядит информация о приложении Uber, можно посмотреть на скриншоте ниже. Скопировать файлы системных журналов можно командой Анализ лог-файлов часов Итак, мы извлекли лог-файлы из часов. Более подробно почитать о лог-файлах iOS можно в статье Using Apple «Bug Reporting» for forensic purposes Маттиа Эпифани (Mattia Epifani), Хизер Махалик (Heather Mahalik) и Адриана Леонга (Adrian Leong, Cheeky4n6monkey). В статье рассказывается о том, как использовать профили sysdiagnose для извлечения данных из различных устройств Apple. Попробуем использовать тот же подход с часами. Скрипты для анализа данных sysdiagnose можно скачать с GitHub. Наибольший интерес представляют следующие системные журналы.
Но интереснее всего, пожалуй, журнал PowerLog. Здесь хранится информация о взаимодействии пользователя с часами. Часы лежали на зарядке? Их взяли в руки? Надели на запястье? Пользователь активировал экран? Именно этот журнал в первую очередь стараются проанализировать эксперты при расследовании автомобильных аварий. Если водитель отвлекся на часы (или включил экран телефона, в нем тоже есть аналогичный лог) в момент аварии, это будет свидетельствовать против него (в США есть понятие Distracted Driving. Для информации: в результате distracted driving на американских дорогах в 2017 году погибло более трех тысяч человек). Из-за особой важности структура этой базы данных отлично изучена. Можно почитать, например, статью Сары Эдвардс (PDF) или воспользоваться готовым инструментарием APOLLO. Наконец, логи Wi-Fi содержат список сетей, к которым подключались часы. Проще всего просмотреть содержимое файла Доступ к медиафайлам О доступе к медиафайлам стоит рассказать подробнее. Извлечь медиафайлы можно командой Практически единственный способ получить доступ к медиафайлам из часов Apple Watch требует использования утилиты, работающей по протоколу AFC (Apple File Conduit). При этом часы должны быть подключены к компьютеру, а между компьютером и часами установлены доверенные отношения (pairing). Как было показано в предыдущем разделе, медиафайлы легко извлечь командой Ниже показана структура папок, создаваемая после извлечения медиафайлов по протоколу AFC. Собственно изображения (в сильно уменьшенном по сравнению с оригиналами виде) попадают в папку DCIM; здесь без сюрпризов. Несмотря на то что изображения значительно уменьшены (странно было бы передавать на часы полноразмерные фотографии), система сохраняет в них метатеги EXIF, что позволяет определить такие параметры, как точное время съемки и устройство, использовавшееся для фотографии. В папке В базе данных 36 таблиц. Идентификатор пользователя iCloud ID хранится в таблице _MLDatabaseProperties. Чтобы извлечь из базы данных какую-то осмысленную информацию, сформируем запрос 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 только начинается. Источник: www.bnetweb.org Комментарии: |
|