Представьте ситуацию: из iPhone извлечены все доступные данные (логическим или низкоуровневым способом); устройство выключено и на время отложено. Спустя месяц извлечение повторяется, но заметной доли данных в резервной копии или образе файловой системы просто не оказалось. Какие категории данных могут исчезнуть со временем, почему так происходит и можно ли как-то предотвратить этот процесс? Попробуем разобраться.
Заголовок звучит загадочно, но на самом деле данные пропадают не тогда, когда устройство лежало обесточенным, а в момент, когда вы включили его для повторного извлечения. Когда вы это сделали, на устройстве стартует операционная система, которая запустит ряд служб и процессов. Но основная работа начнётся после того, как вы разблокируете устройство, введя код блокировки экрана; в этот момент система, наконец, получит доступ к файловой системе (в iOS она зашифрована, и до первой разблокировки расшифровать файлы не получится ни у кого, даже у самой операционной системы). Как только вы разблокировали телефон, чтобы начать извлечение, фоновые процессы начнут работу: из системных журналов — в строгом соответствии с политикой TTL для каждого типа событий — будут удаляться старые записи; из папок с удалёнными фотографиями будут безвозвратно стёрты старые фото и видео; из KnowledgeC и Biome пропадут старые записи, в том числе — записи о местоположении; будут очищены удалённые сообщения iMessage, пропадёт история посещений Safari, базы данных в формате SQLite будут слиты с WAL-файлами.
Разумеется, всё это происходит не мгновенно; иногда процесс занимает минуты, иногда — часы, а иногда старые данные остаются в соответствующих локациях и дольше.
Данные пропадают не сами по себе — их удаляют фоновые процессы, запущенные операционной системой. Соответственно, информация останется на своих местах, если не загружать устройство. Однако проблемы это не решает: извлечение из актуальных устройств Apple (для iOS Forensic Toolkit — начиная с поколения iPhone 8, 8 Plus и iPhone X, возможности других продуктов могут отличаться) работает только в «живом» режиме при загруженной операционной системе.
Повторяемость извлечений может обеспечить только такой процесс, который работает, минуя основную ОС — например, извлечение через эксплойт загрузчика, доступное для старых моделей Apple вплоть до линейки iPhone 7 и 7 Plus (и — с серьёзными оговорками — для iPhone 8, 8 Plus и iPhone X, с которыми такой способ извлечения работает лишь со старыми версиями iOS), или (для продуктов Cellebrite, GrayShift) извлечение через низкоуровневые эксплойты iBoot для трёх следующих поколений на процессорах A11-A13 (iPhone 8/X, Xr/Xs и 11). Если для извлечения используется наш инструментарий, то в самом начале работы iOS Forensic Toolkit автоматически сбросит флажок автозагрузки — так, чтобы устройство невозможно было случайно загрузить в штатную ОС. С этого момента и дальше данные в безопасности; вплоть до возвращения флага автозагрузки в его начальное значение информация на устройстве меняться не будет.
Итак, мы выяснили, в каких случаях данные на устройстве могут исчезнуть. Но о каких именно данных идёт речь и как долго они могут храниться? Список довольно короткий:
Всё перечисленное выше можно извлечь посредством обычного логического извлечения. Отдельно отметим артефакты, доступные только низкоуровневыми методами (с использованием агента-экстрактора из состава iOS Forensic Toolkit):
В принципе, для облачных данных в Apple iCloud действуют схожие ограничения: удалённые фотографии должны храниться 30 дней, как и удалённые сообщения iMessage. На практике же ситуация заметно сложнее. Во-первых, единожды созданные в облаке резервные копии могут храниться сколь угодно долго — и никакие данные в них уже не будут меняться. Во-вторых, мы неоднократно замечали, что в ряде случаев Apple хранит данные на сервере намного дольше, чем описано в документации. Наконец, правоохранительные органы могут подать официальный запрос, который «заморозит» содержимое учётной записи пользователя, заблокировав любые изменения данных.
Практический вывод прост: чем раньше вы сможете извлечь из устройства данные, тем больше потенциальных цифровых улик вы сможете получить. При включении (а точнее — загрузке и разблокировке) устройства месяц спустя информация на устройстве необратимо изменится, и вы не сможете получить доступ к целому ряду ценных артефактов. Отдельный момент — снапшоты системных журналов sysdiagnose, которые имеет смысл создавать лишь в первые 24 часа после изъятия устройства.
Elcomsoft iOS Forensic Toolkit – специализированный инструмент для проведения криминалистического анализа устройств, работающих под управлением Apple iOS. Для анализа доступна вся пользовательская и системная информация, а также зашифрованные данные из системного хранилища (связка ключей).