0Pricing
Cyber Security Academy · Урок

Получение и анализ данных iOS

Извлечение и анализ данных iOS

«Получение и анализ данных iOS» — бесплатный урок Cyber Security Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Cyber Security Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Cyber Security Academy содержит 4 уроков всего.

Модель безопасности iOS

Криминалистический анализ iOS определяется тесно интегрированной аппаратной моделью безопасности.

  • защищённый анклав (SEP) — изолированный сопроцессор, хранящий ключевой материал; количество попыток ввода код-пароля ограничивается аппаратно.
  • защита данных — ключи шифрования для каждого файла, связанные с код-паролем и UID устройства.
  • изоляция приложений — каждое приложение ограничено собственным контейнером.

Это означает, что перебор код-пароля ограничивается SEP, а необработанный дамп флеш-памяти представляет собой шифртекст. Законный доступ обычно возможен, если устройство разблокировано при содействии пользователя или находится в состоянии AFU.

Классы защиты данных

Каждому файлу назначается класс защиты, который определяет, когда доступен его ключ.

  • Полная — ключ удаляется вскоре после блокировки устройства (наиболее защищённый вариант).
  • Полная до первой аутентификации пользователя — ключ доступен после первой разблокировки (обычный вариант по умолчанию для AFU).
  • Без защиты — ключ доступен всегда (редкий вариант).

Именно поэтому AFU так важен в iOS: файлы класса «до первой аутентификации» становятся доступными для чтения, что открывает основную часть пользовательских данных.

Получение резервной копии iTunes/Finder

Наиболее доступный логический метод — получение резервной копии через связь сопряжения с хостом (тот же механизм, что используется в iTunes/Finder).

  • Требуется действительная запись о сопряжении (сертификат блокировки), а для её создания устройство должно быть разблокировано.
  • Зашифрованная резервная копия (с заданным паролем резервной копии) фактически содержит больше данных: связку ключей, сведения о здоровье и сохранённые пароли.

Создайте резервную копию с помощью libimobiledevice, используя надлежащую авторизацию:

idevice_id -l                       # list connected UDIDs
ideviceinfo -k ProductVersion       # confirm iOS version
idevicebackup2 backup --full ./ios_backup/

Структура резервной копии и манифест

Резервная копия iOS не хранит файлы под их именами. Она хеширует пути и хранит файлы в едином каталоге, индексируя их с помощью SQLite-файла Manifest.db.

  • Manifest.db сопоставляет домен и относительный путь с хешированным именем файла на диске.
  • Info.plist / Status.plist содержат метаданные устройства и резервной копии.
  • Для зашифрованных резервных копий также требуется раскрытие ключа связки ключей с помощью пароля резервной копии.

Найдите известный артефакт с помощью манифеста:

sqlite3 -readonly Manifest.db \
  "SELECT fileID, domain, relativePath FROM Files
   WHERE relativePath LIKE '%sms.db%';"

Полное извлечение файловой системы

Полное извлечение файловой системы (FFS) выходит за пределы данных, разрешённых для резервного копирования, и охватывает весь пользовательский раздел, включая кэши приложений, артефакты знаний и системные БД.

  • Требуются агент или эксплойт (например, основанный на checkm8 для уязвимых старых чипов) и устройство в состоянии AFU.
  • Извлечение захватывает артефакты, которые не входят в резервные копии: knowledgeC.db, interactionC.db, кэши местоположений.

FFS — эталонный метод современного анализа iOS, если его можно получить законным образом, поскольку он открывает системные БД поведения, невидимые в стандартной резервной копии.

Основные БД iOS

iOS хранит сведения об активности пользователя в хорошо известных БД SQLite внутри доменов приложений.

  • sms.db — iMessage и SMS (таблицы: сообщение, дескриптор).
  • CallHistory.storedata — журналы вызовов.
  • AddressBook.sqlitedb — контакты.
  • Photos.sqlite — метаданные медиафайлов и связи с объектами.

Запросите содержимое iMessage (только для чтения) из извлечения:

sqlite3 -readonly sms.db
sqlite> SELECT datetime(date/1000000000 + 978307200,'unixepoch') ts,
   ...>        h.id, m.text
   ...> FROM message m JOIN handle h ON m.handle_id=h.ROWID
   ...> ORDER BY m.date DESC LIMIT 20;

Временные метки Apple (Mac/Cocoa)

iOS часто использует время эпохи Apple/Cocoa: секунды с 2001-01-01 UTC, а не с 1970 года. Некоторые БД хранят это значение в наносекундах.

  • Смещение относительно эпохи Unix составляет 978307200 секунд.
  • Поле date в iMessage содержит наносекунды с 2001 года; разделите значение на 1e9, а затем прибавьте смещение.

Неверное понимание эпохи даёт даты с ошибкой в 31 год. Схема преобразования:

-- Cocoa seconds -> UTC
SELECT datetime(ZDATE + 978307200, 'unixepoch') FROM ZRECORD;

-- iMessage nanoseconds -> UTC
SELECT datetime(date/1000000000 + 978307200, 'unixepoch') FROM message;

БД поведения

iOS сохраняет подробные данные телеметрии поведения системных функций, которые бесценны для построения временных шкал.

  • knowledgeC.db — использование приложений, режим фокусировки, блокировка и разблокировка устройства, события Siri.
  • interactionC.db — коммуникация с контактами в разных приложениях.
  • служба определения маршрутов / cache_encryptedB.db — значимые местоположения.

Эти данные существуют только в извлечениях FFS (но не в стандартных резервных копиях) и могут установить, чем пользователь занимался в конкретный момент, — однако интерпретируйте их осторожно, поскольку некоторые события создаются системой, а не инициируются пользователем.

Восстановление связки ключей

Связка ключей хранит пароли Wi-Fi, токены, учётные данные приложений и сертификаты. Она зашифрована ключами классов, производными от код-пароля.

  • Её можно восстановить из зашифрованной резервной копии iTunes (с паролем резервной копии) или извлечения FFS.
  • Элементы имеют собственный класс защиты; некоторые доступны только в состоянии AFU.

Содержимое связки ключей может раскрыть доступ к учётным записям и косвенный контекст связанных действий — обращайтесь с ним с такой же юридической осторожностью, как с любыми материалами, содержащими учётные данные.

Автоматизированный разбор с помощью iLEAPP

iLEAPP разбирает резервные копии iOS и извлечения FFS в структурированные отчёты, охватывая сотни типов артефактов.

  • Декодирует данные knowledgeC, sms, историю Safari, состояния приложений и многое другое.
  • Используйте его для первичного анализа, а важные результаты проверяйте по исходной БД SQLite.

Запустите iLEAPP для резервной копии или извлечения:

python3 ileapp.py -t fs -i ./ios_filesystem/ -o ./ileapp_report/
# Or -t itunes for a Finder/iTunes backup folder

iCloud и перекрёстная проверка

Данные, удалённые с устройства, могут сохраняться в iCloud (резервные копии, Photos, сообщения в iCloud, данные приложений).

  • Доступ к iCloud требует отдельного законного разрешения и надлежащих учётных данных или токенов.
  • Сопоставляйте результаты на устройстве с облачными копиями и с результатами второго инструмента.

Как всегда, подтвердите хеш извлечения до и после анализа и зафиксируйте версии инструментов и команды, чтобы другой специалист мог воспроизвести результаты.

Быстрая проверка

Вы декодируете временную метку iMessage как эпоху Unix, и дата оказывается на 31 год раньше. Что пошло не так?

Итоги: получение и анализ данных iOS

Теперь Вы умеете работать со всем стеком криминалистического анализа iOS.

  • Классы защищённого анклава и защиты данных делают состояние AFU ключевым.
  • Зашифрованные резервные копии содержат связку ключей и данные о здоровье; извлечения FFS дополнительно включают БД поведения.
  • Резервные копии индексируются с помощью Manifest.db и хешированных имён файлов.
  • Основные доказательства: sms.db, CallHistory, AddressBook, knowledgeC.db.
  • Декодируйте временные метки Apple/Cocoa (эпоха 2001 года, +978307200).
  • Проводите первичный анализ с помощью iLEAPP, проверяйте результаты вручную и учитывайте iCloud при наличии надлежащего разрешения.

Далее: разбор артефактов приложений и подготовка отчёта.

Часто задаваемые вопросы

Урок «Получение и анализ данных iOS» бесплатный?

Да — полный текст урока «Получение и анализ данных iOS» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Cyber Security Academy, подпишись на CoddyKit PRO. Курс Cyber Security Academy содержит 4 уроков всего.

Чему я научусь в уроке «Получение и анализ данных iOS»?

Извлечение и анализ данных iOS Ты практикуешь Cyber Security Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Cyber Security Academy?

Предыдущий опыт не требуется. Cyber Security Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.

Сколько времени занимает урок «Получение и анализ данных iOS»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Cyber Security Academy?

Да. Каждый урок Cyber Security Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Основы мобильной криминалистики
  2. Получение и анализ данных Android
  3. Получение и анализ данных iOS
  4. Приложения, артефакты и отчётность
← Назад к Cyber Security Academy