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