Пять способов восстановить удалённые данные с iPhone

4 ноября, 2021, Oleg Afonin
Рубрика: «Разное»
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

В постоянном стремлении улучшить безопасность своих устройств разработчики Apple постепенно закрывают лазейки, которые несколько лет назад можно было использовать для восстановления удалённых данных. В современных версиях iOS таких лазеек почти не осталось, но всё-таки они есть. В этой статье мы рассмотрим актуальные на сегодняшний день способы восстановления удалённых данных из iPhone.

Записи, удалённые из баз данных в формате SQLite

В базах данных SQLite на iPhone хранятся многие типы данных от текстовых сообщений до списка закладок Safari. Что происходит, когда пользователь удалит сообщение из приложения Messages? Соответствующая ему запись удаляется из базы данных SQLite, но сами данные не будут немедленно уничтожены. Вместо этого запись помечается как «удалённая», а указатель на занимаемое записью место записывается в так называемый “freelist”. Анализ этих данных ранее позволял извлекать удалённые данные спустя значительное время.

С выходом iOS 12 три года назад ситуация изменилась: разработчики Apple изменили алгоритмы работы SQLite, зачищая удалённые данные в течение нескольких секунд после того, как запись была удалена из базы данных. Соответственно, в актуальных версиях iOS восстановить удалённые записи можно лишь при полном совпадении следующих условий:

  1. Базу данных удалось извлечь из файловой системы (нужен низкоуровневый доступ через джейлбрейк или Elcomsoft iOS Forensic Toolkit).
  2. База данных не была дефрагментирована или консолидирована (то есть, извлечь её нужно до того, как будет сделана резервная копия данных, но после того, как данные были удалены).
  3. Базу данных нужно извлечь в течение нескольких секунд после удаления записи (начиная с iOS 12).

Подводя итог: данный метод не сработает в свежих версиях iOS (начиная с iOS 12).

Данные из файлов WAL

Ранее мы выяснили, что восстановить удалённые записи из баз данных SQLite в современных версиях iOS, скорее всего, не удастся. Однако у баз данных SQLite есть ещё одно свойство, которым можно попытаться воспользоваться в целях восстановления данных. Новые данные не сразу попадают в основной файл базы данных; первоначально они записываются в так называемый Write Ahead Log (WAL). Если такую запись удалить из базы до того, как она попадёт в основной файл в процессе консолидации, то её можно будет впоследствии восстановить (опять же, до момента, когда ОС проведёт консолидацию базы данных).

Этот подход требует совпадения следующих условий (за одним исключением, о котором ниже):

  1. Базу данных необходимо извлечь из файловой системы (нужен низкоуровневый доступ через джейлбрейк или Elcomsoft iOS Forensic Toolkit).
  2. Система не успела консолидировать данные из файлов WAL.
  3. После того, как данные были удалены, не создавалось резервных копий (т.к. в процессе их создания данные консолидируются).

А теперь – о полезном исключении из правил. Метаданные медиа-файлов (фотографий и видео) можно извлечь с помощью Elcomsoft iOS Forensic Toolkit и без низкоуровневого доступа или джейлбрейка; при этом база данных извлекается вместе с файлами WAL. Таким образом можно восстановить метаданные удалённых фотографий (но, увы, не сами фотографии). Метод работает не только на iPhone или iPad, но и на таких устройствах, как Apple Watch и Apple TV.

Данные из резервных копий

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

Официальный (и единственный поддерживаемый Apple) способ восстановления данных из резервной копии – это восстановление всей копии целиком на устройство Apple. Если у вас под рукой нет свободного iPhone, который можно использовать для этой цели, рекомендуем воспользоваться сторонней программой – например, Elcomsoft Phone Viewer. С её помощью можно извлекать и просматривать многие типы данных от фотографий до баз данных.

Обратите внимание: анализ резервных копий iTunes, которые защищены паролем, позволит получить доступ к большему количеству данных, чем анализ незашифрованных резервных копий. Если необходимость восстановить данные уже возникла, то пароль устанавливать уже поздно, однако на будущее рекомендуем это сделать как в целях безопасности, так и для того, чтобы обеспечить возможность наиболее полного восстановления данных.

Резервные копии в iCloud

Этот способ очень похож на предыдущий, с той разницей, что резервная копия хранится не на диске компьютера, а в облаке iCloud. Есть между локальными и облачными резервными копиями и другие различия. Например, Apple хранит в облаке две последних резервных копии (какое-то время назад их было три), а зашифровать данные в облаке паролем невозможно.

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

  • Связка ключей *
  • Данные приложения Здоровье
  • Home
  • Фотографии в iCloud **
  • Сообщения **
  • Начиная с iOS 13: журнал звонков
  • Начиная с iOS 13: история браузера Safari

* Фактически, связка ключей хранится и в резервной копии, но записи при этом зашифрованы аппаратным ключом. Расшифровать данные можно только при восстановлении на то же физическое устройство.

** Сообщения попадают в резервную копию только в том случае, если не включена их синхронизация. Для фотографий доступен переключатель.

Синхронизированные данные

iOS позволяет синхронизировать многие типы данных между устройствами. Хранятся такие синхронизированные данные в облаке iCloud. Синхронизация должна работать в режиме реального времени, однако фактически время от времени возникают задержки. При удалении важных данных можно воспользоваться этим фактом, моментально отключив устройство от сети (включив «полётный» режим и отключив вручную функции Wi-Fi и Bluetooth, которые могут оставаться активными). Далее можно воспользоваться Elcomsoft Phone Breaker для доступа к синхронизированным данным.

Есть и приятные исключения. Для некоторых категорий (например, фотографий и заметок) удалённые данные хранятся в облаке в течение какого-то времени (обычно 2-3 недели) после того, как они были удалены из папки или альбома «удалённых». В течение этого времени их можно восстановить. Несколько лет назад такие данные и вовсе хранились в течение неограниченного времени; с тех пор ситуация изменилась.

Почему нельзя восстановить удалённые файлы

Если у вас есть доступ к файловой системе iPhone, может возникнуть соблазн просканировать незанятые блоки с целью поиска удалённых файлов. Увы, этот подход не сработает. Начиная с iOS 4, Apple шифрует подавляющее большинство данных, а начиная с iOS 8 ключ шифрования завязан на код блокировки. Как только файл удаляется, уничтожается и его уникальный ключ шифрования, что делает восстановление невозможным.

На iPhone 4 дела обстояли следующим образом:

Начиная с iPhone 5s, оборудованного аппаратной подсистемой безопасности Secure Enclave, схема шифрования усложнилась. В упрощённом виде её можно изобразить следующим образом:

Не вдаваясь в детали, ситуация выглядит следующим образом.

  1. Практически все файлы пользователя хранятся в зашифрованном виде.
  2. У каждого файла свой уникальный ключ шифрования, который хранится в метаданных (в файловой системе).
  3. Все ключи шифруются другим (общим) ключом.
  4. Общий ключ завязан на код блокировки экрана.

При удалении файла метаданные из файловой системе удаляются; удаляется и ключ шифрования. После этого расшифровать его содержимое становится невозможным.

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

Ещё раз отметим, что это описание сильно упрощённое. Есть некоторые нюансы. Например, какая-то (очень небольшая) часть данных не шифруется вовсе, или шифруется ключами, которые не зависят от кода блокировки. Также есть разница между режимами BFU/AFU, а также тот факт, что некоторые файлы доступны только при разблокированном текущем статусе (поэтому при низкоуровневом извлечении необходимо следить, чтобы экран устройства оставался разблокированным в течение всего процесса). В целом на возможность восстановления именно удалённых данных эти нюансы практически не влияют.

Заключение

Итак, мы рассмотрели основные способы восстановления удалённых данных из iPhone. Неудивительно, что наиболее полный результат получается при восстановлении из ранее созданной резервной копии – локальной или облачной. В некоторых случаях могут оказаться успешными попытки восстановить удалённые данные из синхронизированных категорий. Можно попробовать исследовать WAL-файлы, полученные при извлечении медиа-файлов: в них могут содержаться метаданные удалённых фотографий (но, увы, не сами фотографии). Технологии восстановления с использованием низкоуровневого доступа с практической точки зрения малополезны.


  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

REFERENCES:

Elcomsoft iOS Forensic Toolkit

Elcomsoft iOS Forensic Toolkit – специализированный инструмент для проведения криминалистического анализа устройств, работающих под управлением Apple iOS. Для анализа доступна вся пользовательская и системная информация, а также зашифрованные данные из системного хранилища (связка ключей).

Официальная страница Elcomsoft iOS Forensic Toolkit »


Elcomsoft Phone Breaker

Инструмент для криминалистов, извлекающий и расшифровывающий данные из резервных копий устройств iOS, Windows Phone и BlackBerry и соответствующих облачных сервисов. Доступ в iCloud по паролю либо маркеру аутентификации, извлечённому из компьютера пользователя. Поддержка двухфакторной аутентификации. Расшифровка Keychain и ускорение перебора паролей на видеокартах AMD и NVIDIA. Словарные атаки для ускоренного восстановления паролей.

Официальная страница Elcomsoft Phone Breaker »


Elcomsoft Phone Viewer

Elcomsoft Phone Viewer – простой и компактный инструмент для просмотра информации, извлечённой из резервных копий устройств под управлением Apple iOS, облачных сервисов iCloud и Microsoft. При работе с данными iOS поддерживается восстановление и просмотр удалённых сообщений SMS и iMessage. Продукт позволяет просматривать контакты, сообщения, список звонков, данные заметок и календаря.

Официальная страница Elcomsoft Phone Viewer »

НАШИ НОВОСТИ