Архив за Июнь, 2020

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

 

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

Synology

Компания Synology выпускает самые популярные сетевые хранилища, которые можно купить в виде отдельного устройства. Последнее – важное дополнение, так как абсолютным лидером по числу проданных «домашних» NAS является компания Western Digital со своими однодисковыми и двухдисковыми моделями WD My Cloud, My Cloud Mirror, My Cloud Home и My Cloud Home Duo. Такой популярности Western Digital удалось добиться за счёт чрезвычайно низкой цены: NAS с диском WD зачастую стоит дешевле, чем диск отдельно.

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

Бесполезная агрегация

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

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

Единственное исключение из этого правила – агрегация на программном уровне по алгоритму Round Robin. При использовании этого алгоритма достигается именно тот эффект, которого ожидает обычный домашний пользователь: скорость передачи данных между NAS и любым другим устройством (разумеется, также использующим скоростной линк) будет складываться из суммарной пропускной способности всех агрегированных линков. Таким образом, включение второго порта Ethernet большинством производителей – это способ удвоить видимую пользователю скорость работы NAS, вплотную приблизив скорость обмена данными по сети к скорости самих дисков.

Почему я назвал агрегацию линков в Synology «бесполезной»? По какой-то причине разработчики компании удалили возможность использования алгоритма Round Robin. Все другие алгоритмы, которые поддерживаются в DSM, не позволяют удвоить скорость передачи данных между NAS и единственным клиентом. К сожалению, подавляющее большинство пользователей не знает (форум) об этой особенности – пока не попробует воспользоваться режимом агрегации.

Со списком поддерживаемых DSM алгоритмов агрегации можно ознакомиться на скриншоте.

Для сравнения, большинство даже недорогих моделей (начиная с середины линейки) Asustor и Qnap оснащаются двумя сетевыми интерфейсами, которые можно объединить методом Round Robin и получить удвоенную полосу пропускания.

Вот как выглядит настройка агрегации линков в NAS Asustor:

 

Результат налицо: скорость чтения-записи практически сравнялась со скоростью доступа к самим дискам.

Недорогие модели чрезмерно ограничены

Программисты Synology славятся способностью заставить мощный и красивый графический интерфейс работать быстро и исключительно отзывчиво даже на самом слабом железе. Тем не менее, использование двухъядерных процессоров архитектуры Cortex A7 (приблизительно уровень дешёвых смартфонов 2012 года) в моделях начального уровня оправдать получается с трудом.

В бюджетных двухдисковых моделях (линейка DS216j, DS218j и недавно выпущенная DS220j) применяется разборный пластиковый корпус без полноценного металлического каркаса. Данная конструкция не способна обеспечить звукоизоляцию дисков. Особенно плохо обстоят дела с дисками на 7200 оборотов в минуту, а это – все модели WD Red начиная с 8ТБ и выше. (В скобках: производитель указывает класс производительности этих моделей как “5400 RPM Class”, что не эквивалентно скорости в “5400 RPM”. Замеренная скорость вращения шпинделя в WD Red 8TB и выше – 7200 RPM, хоть в параметрах S.M.A.R.T. и указано другое). Так, попытка собрать бесшумное домашнее сетевое хранилище с двумя дисками WD Red 8TB окончилась провалом: корпус NAS резонировал, усиливая вибрацию дисков, создавая мерный неприятный гул. Диски пришлось переставить в стоявший рядом Asustor AS5202T, в котором те же самые диски вдруг оказались совершенно бесшумными.

Сравнивая модели NAS от Synology с конкурентами аналогичной ценовой категории, основанными на тех же процессорах, можно заметить, что в моделях Synology меньше количество и разнообразие портов (как правило, отсутствует выход HDMI, один сетевой интерфейс вместо двух, нет портов Type-C). При этом благодаря прекрасно оптимизированной прошивке DSM работают модели Synology ничуть не хуже конкурентов, часто обгоняя даже более мощные решения.

Отсутствие ключевых возможностей

Какие именно возможности являются ключевыми – каждый пользователь решает для себя сам. Для кого-то это поддержка Plex, кто-то собирается использовать NAS в качестве видеоплеера – ему нужен Kodi и поддержка инфракрасного пульта ДУ; для кого-то важнее тишина и низкое энергопотребление. Прошивка DSM, под управлением которой работают NAS от Synology, предлагает простое и беспроблемное решение – но в достаточно узких рамках.

QNAP

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

Ненадёжные модули с прошивкой

В устройствах Synology операционная система хранится непосредственно на жёстких дисках (нужно отметить – всех инициализированных жёстких дисках, что позволяет устройству корректно работать, даже если останется работоспособным единственный – любой – накопитель). В моделях QNAP операционная система QTS хранится в интегрированном твердотельном хранилище – модуле DOM. Такой способ хранения операционной системы имеет как свои преимущества, так и недостатки, основным из которых является отказ системы в случае повреждения DOM. Обозреватели не успевают столкнуться с этой проблемой, но стоит запустить поиск в Google – и всё становится на свои места: замена бракованных модулей и перепрошивка повреждённых занимают несколько страниц выдачи по запросу QNAP DOM. Ничего подобного у других производителей не наблюдается.

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

Лично мне не довелось столкнуться с отказом модуля DOM, но перепрошить его однажды пришлось: обновления QTS отказывались устанавливаться из-за несовпадения контрольных сумм, причём произошло это прямо при настройке устройства «из коробки».

Медленная загрузка

Операционная система в QNAP хранится в виде образа в распаянном твердотельном хранилище DOM. В процессе загрузки система считывает этот образ в оперативную память, распаковывает его и загружает операционную систему. К сожалению, процесс загрузки не оптимизирован настолько, что младшие модели могут загружаться 5-6 минут, а старшие – 3-4 минуты.

Для сравнения, аналогичные модели Synology и Asustor (который, кстати, тоже хранит прошивку в твердотельном хранилище) загружаются за полторы минуты, а собранный мной NAS под управлением Debian с Openmediavault на обычном четырёхъядерном процессоре с архитектурой ARMv8 загружается за 30 секунд, 14 из которых уходит на включение и раскрутку пластин жёсткого диска.

Режим сна S3 sleep mode: был и не стало

С медленной загрузкой можно было бы смириться, если бы в устройстве можно было активировать режим глубокого сна S3 sleep mode. К сожалению, в новых устройствах QNAP разработчики убрали эту возможность, а в тех, в которых она была, её отключают в новых версиях прошивки. Причина? «Проблемы с безопасностью». Какие именно? «Оно работает нестабильно». Почему нестабильно? Потому что программисты компании не обладают достаточной квалификацией, чтобы обеспечить стабильный режим глубокого сна в собственной ОС на собственном железе.

В чём выражается эта нестабильность? Я протестировал работу этой функции на двух устройствах: QNAP TS-131P и QNAP TS-453BE. В обоих случаях режим глубокого сна активируется командой:

echo mem > /sys/power/state

После её выполнения устройство достаточно быстро переходит в режим сна. Разбудить его можно нажатием кнопки питания либо отправкой «магического пакета» WOL. Нестабильность заключается в том, что приблизительно один раз из трёх-четырёх устройство не пробуждается, требуя для восстановления работоспособности жёсткой перезагрузки. Неудивительно, что такую нестабильную функцию разработчики предпочли убрать из пользовательского интерфейса (но не из ядра системы).

Для сравнения, аналогичная функция в устройствах Asustor поддерживается официально и работает весьма стабильно. А вот в NAS от Synology режим глубокого сна присутствует лишь в считанных (очень старых) моделях.

Нет расписания задач

Возможность выполнять задачи по расписанию – одна из ключевых особенностей сетевых хранилищ. В Synology по расписанию можно создавать резервные копии, выполнять сборку мусора (trim) твердотельных накопителей и дисков с SMR, да и вообще – создавать любые мыслимые задачи, которые будут запускаться хоть по расписанию, хоть сразу после запуска. Это выглядит так:

Synology: запуск пользовательского скрипта сразу после загрузки.

В QTS нет ничего подобного. Это не означает, что пользователь не может создавать резервные копии по расписанию – может, если этот режим поддерживает само приложение. Но, к примеру, разбудить сетевое устройство командой WOL, после чего создать на нём резервную копию и отключить его скриптом SSH – не получится без использования терминала и умения настроить cron. А в Synology – получится. Похоже, разработчикам было настолько лень делать диспетчер задач, что они создали подробную статью о том, как пользователю самому настроить crontab через командную строку.

Неотключаемые звуковые сигналы

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

Производители сетевых хранилищ родом из той же местности, что и производители китайских смартфонов, и не порадовать пользователя звуковым сигналом, свидетельствующих об успешной загрузке, просто выше их сил. Тем не менее, в NAS от Synology и Asustor эти звуковые сигналы можно отключить, позволив устройству тихо просыпаться ночью и создавать резервную копию по расписанию.

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

Навязчивый пользовательский интерфейс

Операционная система QTS предлагает развитый, многооконный пользовательский интерфейс – который, однако, не оставляет пользователя в покое. В магазине приложений присутствует анимированная реклама, но больше всего раздражают другие мелочи. Так, каждый раз при открытии списка уведомлений Event Notifications пользователю будут настойчиво предлагать включить… расширенные уведомления в Notification Center: отправкой SMS, письма или push-уведомления на мобильное устройство. Но даже если вы согласитесь с системой и активируете расширенные уведомления, просто чтобы избавиться от назойливого предложения, блок с предложением настроить Notification Center никуда не денется.

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

Сомнительные приложения

Из той же оперы – приложение SSD Profiler, которым также многие недовольны. Разработчики QNAP решили собрать статистику надёжности SSD и то, как на неё влияют показания мониторинга S.M.A.R.T. Проблема с этим приложением в том, что оно устанавливается в систему по умолчанию; удалить его нельзя (по крайней мере, такова была ситуация на тот момент, когда я тестировал NAS от QNAP). Приложение отправляет производителю телеметрию независимо от того, хочет того пользователь или нет. Лишь спустя год в момент, случайно совпавший с принятием в Европе закона о защите персональной информации GDPR, разработчики QNAP изменили политику: теперь пользователям предлагается поделиться телеметрией добровольно, взамен обещается несколько месяцев подписки на сервис предсказания надёжности накопителей, который появится когда-нибудь в будущем. Предложение хоть и сомнительное, но честное – почему бы не сделать так с самого начала?

Сомнительная безопасность прошивки

У всех производителей находят уязвимости. Уязвимости находили в сетевых хранилищах Western Digital, Synology, Asustor и QNAP. Однако лишь в случаях с Western Digital и QNAP проблема получила характер массовой эпидемии – в основном благодаря тому, что эти производители не торопились с выпуском патча безопасности.

Не останавливается вентилятор

Выбирая домашнее сетевое хранилище, пользователи редко обращают внимание на то, как именно оно будет функционировать 99% времени – находясь в простое. Не акцентируют на этом внимание и производители. Тем не менее, в ряде моделей Synology предусмотрен режим Low power mode, в котором вентилятор будет останавливаться, когда останавливаются диски. NAS без движущихся частей – очень тихий NAS, идеальный для домашнего использования. К сожалению, QNAP не выпускает ни одной модели хранилищ, вентилятор которых останавливался бы при комнатной температуре даже во время гибернации жёстких дисков.

Другие проблемы

Описанные выше проблемы касаются если не всех, то большинства домашних пользователей. Мне не известно о каких-либо других специфических проблемах QNAP, которые носили бы системный характер. Однако ненадёжных накопителей DOM, проблем с перепрошивкой и достаточно сырой операционной системой уже достаточно, чтобы повлиять на выбор устройства для дома.

Asustor

Устройства Asustor и Nimbustor, выпускаемые подразделением компании ASUS, как правило, снабжены лучшей по сравнению с устройствами Synology аналогичной стоимости аппаратной базой. К примеру, в большинстве двухдисковых моделей Synology присутствует лишь один сетевой порт RJ45; большинство же моделей Asustor аналогичного класса оснащаются двумя сетевыми портами, что позволяет удвоить скорость обмена данными с компьютером и другими устройствами. Тем не менее, у устройств Asustor и операционной системы ADM есть свои особенности, от некоторых из которых впору схватиться за голову.

Контроль температуры, скорость вращения вентилятора и уровень шума

Одна из самых известных и, можно сказать, любимых проблем ADM – странный подход к регулированию скорости вентилятора. Вот, например, как это сделано в Synology DSM (правильный подход):

 

А вот – в Asustor ADM:

В целом похоже? Да, но нет. В Synology пользователь выбирает не скорость вращения вентилятора, а алгоритм, регулирующий его скорость в зависимости от внутренней температуры устройства. За счёт того, что даже в двухдисковых устройствах инженеры Synology сумели встроить вентилятор размером 92мм, диски всегда остаются холодными, а уровень шума – низким.

 

В двухдисковых моделях Asustor (как и прочие производители) устанавливает небольшие высокооборотистые вентиляторы размером 70мм.

 

При выборе автоматической регулировки скорости вращения вентилятора обороты последнего фиксируются на 750 RPM и держатся на этом уровне, пока диски не разогреются до +53С. 53 градуса – это очень высокая температура, длительная работа при которой негативно сказывается на надёжности накопителей.

Казалось бы, можно выбрать другой алгоритм, и вентилятор будет вращаться чуть быстрее? Нет. Выбрать можно между автоматической регулировкой, режимом Low (обороты фиксируются на 750 RPM), Medium (обороты фиксируются на 2600 RPM) и High (полная скорость, 4300 RPM).

И если на низких оборотах вентилятор не слышно уже на расстоянии метра, но режим Medium – это очень, очень громко: шум прекрасно слышно из соседней комнаты через закрытую дверь. Про режим High говорить не буду, шум вентилятора в нём сравним со звуком взлетающего самолёта. Работа же автоматического режима не просто неудовлетворительна; она просто опасна для дисков:

Это – одна из тех вещей, исправить которые для разработчиков не составляет никакого труда. Тем не менее, проблема известна как минимум с 2014 года, и в течение многих лет всё, что делают представители компании – это объясняют, что «так задумано». Каким-либо логическим образом объяснить эту, выразимся прямо, узколобость мышления тайваньских программистов у меня не получается.

Справедливости ради, в четырёхдисковых моделях Asustor устанавливаются значительно менее шумные вентиляторы размером 120мм. Впрочем, алгоритмы управления ими не отличаются от таковых в двухдисковых моделях.

Ещё о шуме вентилятора

Большинство моделей Asustor может переходить в режим глубокого сна – S3 sleep mode. В этом режиме минимизируется энергопотребление устройства, останавливаются диски, выключается вентилятор, останавливаются все процессы и исчезает вероятность того, что случайный процесс неожиданно разбудит устройство и приведёт к раскрутке дисков. Режим практически идеальный для домашнего использования, но смущает мелочь: в некоторых моделях (например, AS6302T) при выходе из глубокого сна устройство раскручивает вентилятор на полную скорость (это шумно); лишь спустя несколько десятков секунд шум затихает. Если вы хотели настроить NAS на автоматическое пробуждение ночью (например, с целью создания резервных копий или репликации сетевых папок), то шум вентилятора может заставить вас передумать.

Нет расписания задач

С моей точки зрения, расписание задач (Task Scheduler) – важная часть сетевого хранилища, без которой его полноценное использование под вопросом. В ADM централизованного управления расписанием задач нет. Да, резервные копии можно создавать по расписанию, но выполнить свой скрипт до или после задачи не получится: единственная доступная настройка – это время и частота выполнения задачи.

Другие проблемы

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

Заключение

У каждого пользователя – свои требования и свои сценарии использования сетевых хранилищ. Кому-то нужно максимально тихое хранилище для файлов домашней видеотеки; кто-то редактирует гигабайты видео, для чего нужна максимальная скорость; кто-то собирается использовать NAS в качестве видеоплеера или каталогизатора коллекции фильмов; кому-то нужна виртуализация и всё с ней связанное. Для каждой задачи можно подобрать подходящее устройство у любого производителя – но важно делать это с открытыми глазами, понимая возможности и ограничения каждого устройства и производителя в целом.

 

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

НАШИ НОВОСТИ