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

 

Что еще за мобильная криминалистика?

Еще совсем недавно мы бы могли говорить лишь о компьютерной криминалистике и компьютерных преступлениях, но технологический прогресс прекрасно знает свое дело: с выходом и широким распространением смартфонов и планшетных устройств появилось и новое направление — мобильная криминалистика, которая в совокупности с компьютерной и сетевой стала называться цифровой криминалистикой. Разумеется, впоследствии и она отрастила свои ветви. Так, разделяют криминалистическое исследование Android, iOS, BlackBerry и некоторых других мобильных операционных систем. О криминалистическом исследовании i-девайсов мы с тобой сегодня и поговорим.

Все i-девайсы (iPhone, iPad и iPod Touch) работают под управлением операционной системы iOS. До третьей версии она называлась iPhone OS и была разработана специально для этого устройства. В ее основе лежит архитектура ее старшего брата — Mac OS X, что, разумеется, сказалось и на используемой ею файловой системе.

 

Файловая система i-девайса

Во всех i-девайсах используется файловая система HFSX — полная копия HFS+ с той лишь разницей, что первая позволяет работать в режиме с учетом регистра имен. Очень часто в цифровой криминалистике используется так называемый файловый карвинг — метод восстановления данных, основанный на анализе не метаданных, а содержимого файлов. Так, карверы, например всем известный (и довольно популярный в кругах криминалистов) Scalpel, восстанавливают файлы, опираясь на заголовки и расширения. Так называемый семантический карвинг берет за основу внутреннюю структуру файлов, что позволяет восстанавливать даже фрагментированные файлы. Именно этим способом криминалисты и восстанавливают данные из HFS и HFS+. Это касается OS X. А что же с iOS? Сейчас расскажу.

Все. Очень. Плохо. Apple использует технологию, именуемую Data Protection, чтобы защитить данные, хранимые в памяти устройства. При создании нового файла генерируется уникальный 256-битный ключ (File Key), он шифруется так называемым Class Key и хранится в метаданных файла, а те, в свою очередь, шифруются ключом файловой системы (EMF Key), который генерируется на основе UID устройства. Что это значит? Все просто: применение классического файлового карвинга не даст никаких результатов, так как все данные в свободной области файловой системы будут зашифрованы. Правда, некоторые исследователи утверждают, что сравнительным анализом файла каталога и журнального файла можно получить информацию об удаленных файлах, включая расположение их метаданных, временные метки и прочее. Таким образом можно восстановить удаленные файлы, найти их ключи и расшифровать их. Но это все теория. А ты наверняка знаешь, что в теории нет разницы между теорией и практикой, а на практике — она есть.

 

Идентификация i-девайса

Так как на данный момент i-девайсов выпущено великое множество, одной из первоочередных задач оказывается начальная идентификация того или иного устройства. Для этого есть прекрасный инструмент — libimobiledevice. Libimobiledevice — это кросс-платформенная библиотека и набор инструментов, предназначенный для коммуникации с различными i-девайсами, включая iPhone, iPod Touch, iPad и Apple TV, по понятным им протоколам. С помощью libimobiledevice исследователь может получить доступ к файловой системе i-девайса, собрать информацию об устройстве, сделать резервную копию или восстановить из нее, управлять иконками на SpringBoard, инсталлированными приложениями и так далее. Данная библиотека находится в разработке с 2007 года, и главная ее цель — предложить инструмент для работы с i-девайсами в среде Linux.

Итак, libimobiledevice можно использовать для сбора информации. Для этого воспользуемся утилитой ideviceinfo. Если к компьютеру подключено только одно устройство, достаточно просто запустить утилиту из терминала:

# ideviceinfo -s

BluetoothAddress: 70:11:24:33:fa:4a
DeviceClass: iPad
DeviceName: Olegs iPad
EthernetAddress: 70:11:24:33:fa:4b
ProductName: iPhone OS
ProductType: iPad2,5
ProductVersion: 9.3.3
SerialNumber: F4KK3N4YF195
TimeZone: Europe/Moscow
UniqueDeviceID: d2c4466bbda5fc2cc87384dd9b64c054815c9cbb
WiFiAddress: 70:11:24:33:fa:49

Я намеренно не представил весь вывод — только данные, наиболее значимые с точки зрения мобильной криминалистики. «Зачем мне вообще вся эта информация нужна? Ведь я могу и по внешнему виду устройство идентифицировать!» — скажешь ты. И будешь не прав. Если ты еще не забыл, здесь мы говорим о цифровой криминалистике в целом и о мобильной криминалистике в частности, а значит, любое такое исследование может угодить прямиком в суд, а это, в свою очередь, означает, что идентификационные особенности того или иного i-девайса ты должен скрупулезно собрать и задокументировать.

 

Извлечение данных из i-девайса

Теперь мы знаем, что за устройство мы исследуем: iPad 2,5, или iPad mini первого поколения. Пришло время извлечь данные из него. В мобильной криминалистике для извлечения данных из iOS-устройств используется три основных метода:

  • Извлечение данных на физическом уровне. Это самый оптимальный способ, который позволяет криминалисту получить наибольшее количество данных, в том числе удаленных. Чаще всего такой способ подразумевает джейлбрейк i-девайса.
  • Извлечение данных на уровне файловой системы. Это второй по значимости способ: при его использовании криминалист извлекает все данные, видимые на уровне файловой системы. При этом восстановить удаленные файлы невозможно. Исключение составляют удаленные записи из баз данных SQLite, а также миниатюры удаленных пользователем изображений.
  • Извлечение данных на логическом уровне. Этот метод позволяет извлечь часть файловой системы, что достигается резервным копированием. К сожалению, с его помощью нельзя получить такую важную с точки зрения криминалистики информацию, как электронная почта, базы с геолокационными данными (при этом подобные данные можно извлечь из изображений благодаря EXIF) или кеш приложений.

Извлечение данных на логическом уровне наиболее популярно, так как далеко не всегда находится возможность сделать джейлбрейк i-девайсов, чтобы извлечь данные на физическом уровне. И хотя недавно был представлен способ джейлбрейка устройств вплоть до версии 9.3.3, но выход iOS 9.3.4 закрыл эту возможность для криминалистического программного обеспечения, а с ним и для криминалистов. Хорошо, что под рукой у меня оказался мой старенький iPhone 4, который позволит продемонстрировать извлечение данных на физическом уровне.

 

Извлечение на логическом уровне

Так как извлечение данных на логическом уровне — наиболее простой и в то же время наиболее распространенный способ (к тому же единственно возможный для нашего первого подопытного), начну я именно с него. А воспользуемся мы все той же libimobiledevice. Для создания резервных копий (а именно это позволяет криминалистам извлекать данные на логическом уровне) в нашем распоряжении имеются две утилиты: idevicebackup и idevicebackup2. Если исследуемое устройство работает под управлением iOS младше четвертой версии, следует использовать idevicebackup, если старше — idevicebackup2. Вернись к информации об устройстве, и ты увидишь, что на нашем девайсе iOS 9.3.3. Это явно больше четырех, поэтому idevicebackup2 — наш вариант.

Синтаксис очень прост: достаточно напечатать в терминале название утилиты (idevicebackup2), backup в качестве аргумента, а после указать директорию, в которую данные и будут извлечены. Как только ты нажмешь заветный Enter, процесс запустится:

# idevicebackup2 backup ~/Desktop/ForensicsBackup
Рис. 1. Извлечение данных на логическом уровне с помощью idevicebackup
Рис. 1. Извлечение данных на логическом уровне с помощью idevicebackup

В результате мы получили типичную для резервных копий i-девайсов директорию, название которой — UDID устройства, в нашем случае d2c4466bbda5fc2cc87384dd9b64c054815c9cbb.

Если ты откроешь эту директорию, то увидишь четыре стандартных файла и массу файлов с именами длиной в 40 символов (см. рис. 2).

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

Вариант 1. Оформи подписку на «Хакер», чтобы читать все статьи на сайте

Подписка позволит тебе в течение указанного срока читать ВСЕ платные материалы сайта, включая эту статью. Мы принимаем оплату банковскими картами, электронными деньгами и переводами со счетов мобильных операторов. Подробнее о подписке

Вариант 2. Купи одну статью

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


7 комментариев

Подпишитесь на ][, чтобы участвовать в обсуждении

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

Check Also

Windows 10 против шифровальщиков. Как устроена защита в обновленной Windows 10

Этой осенью Windows 10 обновилась до версии 1709 с кодовым названием Fall Creators Update …