Пользователи программ для восстановления паролей хорошо представляют сложности, связанные со скоростью перебора. И дело не в том, что скорости всегда не хватает, а в том, что в одних форматах данных может использоваться достаточно посредственная защита, в то время как в других сложность атаки возрастает даже не в разы — на порядки. Как следствие, скорость перебора, как и вероятность успешного восстановления, существенно падают. К таким форматам относятся и резервные копии iPhone и iPad, создаваемые приложением iTunes или любой сторонней программой. Даже с учётом того, что в наших продуктах поддерживается более 300 форматов данных, мы продолжаем считать защиту резервных копий iOS уникальным решением.
В чём состоит уникальность защиты резервных копий iOS? Только ли в стойком шифровании и чрезвычайно медленной скорости перебора? Можно ли как-то обойти защиту? Попробуем разобраться.
Что из себя представляют резервные копии iTunes
Из всех мобильных платформ, включая ныне не существующие, в Apple сумели создать самую продвинутую и хорошо защищённую систему резервного копирования. О резервных копиях iOS не писал, пожалуй, только ленивый, поэтому за детальным описанием того, как это работает на iPhone и iPad, мы отправим читателя непосредственно на сайт компании-разработчика: Сведения о резервных копиях устройств. Несмотря на то, что в резервную копию входит большое количество данных, часть информации в них не попадает. Процитируем Apple:
В резервные копии iTunes не включаются следующие компоненты:
В базе знаний Apple доступны и другие статьи по резервному копированию iOS:
Итак, в резервную копию iPhone или iPad попадают практически все данные, необходимые, чтобы восстановить новое устройства и продолжить работу. А что насчёт исключений? Об этом — ниже.
Как создаются резервные копии iOS
Как создаётся резервная копия диска на компьютере? Приложение для создания резервных копий (а иногда — обычный файловый менеджер или архиватор) сканирует файловую систему и копирует файлы из заданных папок — иногда в виде одного файла-архива, а иногда целиком.
Такой подход не работает для iPhone. Компьютер, к которому подключается iPhone, не увидит файловой системы устройства: с компьютера будут доступны только медиа-файлы и файлы некоторых приложений (например, медиа-плееров). Такой вариант был выбран Apple для того, чтобы проконтролировать целостность и безопасность данных на устройствах.
Как же работают резервные копии на iPhone? Разработчики Apple перенесли процедуру создания резервной копии из приложения на компьютере в сервис, работающий на самом устройстве iPhone или iPad. Работающее на компьютере приложение (им может быть iTunes, Elcomsoft iOS Forensic Toolkit или один из множества альтернативных продуктов) получает уже сформированный поток данных, который ему остаётся лишь сохранить на жёсткий диск в виде файлов.
Необычность резервных копиё в формате iTunes в том, что несмотря на то, что они содержат частичную копию файловой системы iOS, в ней нет привычных имён файлов и папок. Вместо этого используются хэши имён (включая путь к файлу или папке) плюс некий индекс и дополнительные метаданные.
Компания Apple не даёт пользователям и разработчикам никаких инструментов для работы с резервными копиями iOS. Единственный поддерживаемый сценарий — восстановление резервной копии на новое или сброшенное устройство Apple. В то же время формат резервных копий хорошо изучен сторонними разработчиками; соответственно, на рынке присутствует ряд продуктов для просмотра и анализа резервных копий iOS, влкючая наш продукт Elcomsoft Phone Viewer.
Шифрование резервных копий iTunes и защита паролем
Вот мы и подошли к основной теме статьи: защите резервных копий. Как явствует из названия статьи, защита резервных копий iOS необычна как минимум в трёх аспектах.
Так же, как и в других форматах, резервные копии iTunes могут быть защищены паролем; подробнее об этом имеет смысл почитать в статье Зашифрованные резервные копии в программе iTunes. Включить шифрование можно следующим способом:
После подтверждения пароля iTunes начнет резервное копирование и будет параллельно перезаписывать и шифровать предыдущие резервные копии.
Однако на этом схожесть заканчивается и начинаются различия. Шифрование резервных копий iTunes имеет важные отличия от других форматов.
Во-первых, пароль на резервную копию — свойство не только самой резервной копии (набора файлов на диске), но и устройства (iPhone или iPad), с которого она была создана. Стоит вам установить пароль, как он будет сохранён на устройстве. После этого резервные копии будут создаваться зашифрованными заданным паролем независимо от того, с какого компьютера и каким приложением вы их будете создавать.
Что произойдёт, если вы забыли пароль? Если вы — пользователь компьютера Mac, то существует вероятность, что пароль от резервной копии был сохранён в Связке ключей mac OS (запись “iOS backup”) и может быть извлечён утилитой Keychain.
Кроме того, вы можете попробовать восстановить пароль методом словарной атаки или полным перебором (например, посредством Elcomsoft Phone Breaker). Начиная с iOS 10.2 для шифрования резервных копий используется чрезвычайно стойкий механизм, в результате чего скорость перебора не превышает 200 паролей в секунду даже при использовании мощных графических ускорителей. В результате длинные и сложные пароли взломать практически невозможно. Однако можно попытаться создать словарь, в котором содержатся другие пароли пользователя — например, путём извлечение паролей из браузера при помощи Elcomsoft Internet Password Breaker.
Наконец, можно попробовать сбросить пароль на самом устройстве — об этом в одной из следующих глав.
Резервные копии и Связка ключей (keychain)
Второй необычный аспект защиты резервных копий iOS — шифрование Связки ключей Keychain. Дело в том, что Связка ключей шифруется по-разному в зависимости от того, установлен ли пароль на резервную копию. Вот что пишет сама компания Apple:
Функция шифрования резервной копии в iTunes блокирует и шифрует данные. Зашифрованные резервные копии, созданные с помощью iTunes, могут включать в себя элементы, которые отсутствуют в незашифрованных резервных копиях iTunes:
Просмотреть Связку ключей из защищённой паролем резервной копии iTunes можно при помощи Elcomsoft Phone Breaker.
Сброс пароля к резервным копиям
Итак, мы выяснили, что раз установленный пароль надёжно защищает уже созданные резервные копии. Мы также выяснили, что установленный пароль сохраняется на устройстве. А раз так, можно ли его сбросить?
Да, сбросить пароль на резервную копию можно — но только если ваш iPhone работает под управлением iOS 11 или более поздней версии. Разумеется, для сброса пароля телефон должен быть полностью работоспособен, а вы должны знать код блокировки экрана. Вот что по этому поводу пишет Apple:
Данные из зашифрованной резервной копии нельзя восстановить без ввода пароля. В iOS 11 или более поздней версии можно создать зашифрованную резервную копию устройства, сбросив пароль. Чтобы сделать это, нужно выполнить следующие действия.
Вы не сможете использовать ранее созданные зашифрованные резервные копии, но можете использовать iTunes для резервного копирования текущих данных и установить новый пароль резервной копии.
На устройстве с iOS 10 или более ранней версии сброс пароля невозможен. В этом случае попробуйте выполнить следующие действия.
Вроде бы всё в порядке… или нет?
К сожалению, при использовании описанной процедуры возникает целый огромный подводный камень, который не документируется компанией. Использование команды Сбросить все настройки также приводит к сбросу установленного на устройство кода блокировки. Сброс кода блокировки в свою очередь исключает iPhone из «доверенного круга устройств», которые могут синхронизировать в iCloud облачную связку ключей, данные «Здоровья», сообщения и не которые другие вещи. Кроме того, удаление кода блокировки приводит к тому, что стираются скачанные сообщения Exchange (если они были). Также обнуляется история транзакций Apple Pay. Наконец, после удаления пароля вы более не сможете сбросить или изменить с данного устройства пароль от Apple ID, если на вашей учётной записи активирована двухфакторная аутентификация (точнее, сможете это сделать через браузер, указав старый пароль и пройдя проверку двухфакторной аутентификацией).
Есть и ещё один потенциальный подводный камень. Начиная с iOS 7, в системе могут быть настроены ограничения. Ограничения защищают некоторые настройки телефона. В iOS 12 ограничения заменили на расширенный функционал, предоставляемый функцией Экранного времени.
Если пользователь установит защиту посредством ограничений или Экранного времени, при попытке сбросить настройке iOS запросит дополнительный пароль (пароль ограничений или пароль Экранного времени соответственно). Несмотря на то, что длина пароля ограничена всего 4 цифрами, перебрать все варианты быстро не удастся: у вас будет 6 попыток, после чего вам придётся подождать сначала минуту, потом 5 минут и так далее. Спустя 10 неудачных попыток время ожидания следующей возможной попытки составит час. Очевидно, быстро перебрать все 10,000 вариантов со скоростью одной попытки в час невозможно.
Если не резервная копия, то что?
Если резервная копия недоступна, что можно извлечь из iPhone или iPad? Вы можете воспользоваться продуктом Elcomsoft iOS Forensic Toolkit, посредством которого вы сможете извлечь медиа-фалы (фото и видео) даже в случаях, когда пароль на резервную копию установлен и неизвестен. Кроме того, вам будут доступны журналы crash logs и файлы приложений. Кстати говоря, аналогичные данные можно извлечь не только из телефона, но и из таких устройств, как Apple TV и Apple Watch.
Наконец, вы можете попытаться создать свежую резервную копию в iCloud. Такие резервные копии содержат меньше данных, чем локальные резервные копии в формате iTunes. В частности, если пользователь использует сервис iCloud Photos, то в резервную копию в облаке не попадут фотографии, а если включен режим облачных сообщений, то не будут включены и SMS/iMessage.
Джейлбрейк?
Установка джейлбрейка может послужить альтернативой сбросу пароля на резервную копию. На момент выхода этой статьи джейлбрейк доступен для всех версий iOS до 12.1.2 включительно; есть шанс, что версии 12.1.3-12.3 будут также взломаны в ближайшее время. Смысл установки джейлбрайка в том, чтобы извлечь из устройства все доступные данные, а не только то, что разрешают политики безопасности Apple и разработчиков приложений. Интересный момент: если взломать устройство установкой джейлбрейка, то из телефона можно извлечь в том числе и… пароль на резервную копию iTunes!
Как это сделать, описано в нашем пошаговом руководстве по установке джейлбрейка и анализу устройств. Также рекомендуем ознакомиться с рисками и последствиями установки джейлбрейка.
Резервная копия заблокированного телефона?
Существует возможность сделать резервную копию даже тогда, когда телефон заблокирован, а код блокировки неизвестен. Мы не один, не два и даже не десять раз писали о сценариях использование так называемых файлов lockdown; чтобы не повторяться, дадим список статей:
Описанная возможность работает только в том случае, если не активирован режим USB Restricted Mode.
Заключение
Регулярное создание резервных копий iPhone — не просто хорошая идея, а насущная необходимость. Жёсткие ограничения бесплатного места в облачном хранилище iCloud в 5 ГБ часто приводят к тому, что в облаке резервные копии или не создаются вовсе, или создаются, но не обновляются. Синхронизация данных в iCloud, несомненно, поможет восстановить устройство или настроить новое, но вам не удастся добиться настолько полного переноса данных, как при использовании локальных резервных копий. Добавьте регулярное создание и поддержание в актуальном состоянии локальных резервных копий к набившему оскомину списку советов о выборе кода блокировки из 6 цифр, включения двухфакторной аутентификации и установке пароля на резервную копию. С учётом того, что пароль на резервную копию вам понадобится вводить чрезвычайно редко, рекомендуем использовать стойкий пароль, который вы сможете легко запомнить. Впрочем, этот пароль можно сохранить и в бумажном виде.