Необычные пароли. Защита резервных копий iOS

20 июня, 2019, Oleg Afonin
Рубрика: «Безопасность», «Криптография и шифрование»
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Пользователи программ для восстановления паролей хорошо представляют сложности, связанные со скоростью перебора. И дело не в том, что скорости всегда не хватает, а в том, что в одних форматах данных может использоваться достаточно посредственная защита, в то время как в других сложность атаки возрастает даже не в разы — на порядки. Как следствие, скорость перебора, как и вероятность успешного восстановления, существенно падают. К таким форматам относятся и резервные копии iPhone и iPad, создаваемые приложением iTunes или любой сторонней программой. Даже с учётом того, что в наших продуктах поддерживается более 300 форматов данных, мы продолжаем считать защиту резервных копий iOS уникальным решением.

В чём состоит уникальность защиты резервных копий iOS? Только ли в стойком шифровании и чрезвычайно медленной скорости перебора? Можно ли как-то обойти защиту? Попробуем разобраться.

Что из себя представляют резервные копии iTunes

Из всех мобильных платформ, включая ныне не существующие, в Apple сумели создать самую продвинутую и хорошо защищённую систему резервного копирования. О резервных копиях iOS не писал, пожалуй, только ленивый, поэтому за детальным описанием того, как это работает на iPhone и iPad, мы отправим читателя непосредственно на сайт компании-разработчика: Сведения о резервных копиях устройств. Несмотря на то, что в резервную копию входит большое количество данных, часть информации в них не попадает. Процитируем Apple:

В резервные копии iTunes не включаются следующие компоненты:

  • содержимое из магазинов iTunes Store и App Store или файлы PDF, загруженные непосредственно в программу Apple Books;
  • содержимое, синхронизированное с iTunes (например, импортированные файлы в формате MP3 или компакт-диски, видеоролики, книги и фотографии);
  • данные, которые уже хранятся в iCloud, например «Фото iCloud», сообщения iMessage, текстовые (SMS) и мультимедийные (MMS) сообщения;
  • настройки Face ID и Touch ID;
  • информация и настройки Apple Pay;
  • данные почты 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. Включить шифрование можно следующим способом:

  1. Откройте программу iTunes.
  2. Подключите устройство к компьютеру с помощью кабеля USB из комплекта поставки. Выберите свое устройство iPhone, iPad или iPod touch при его появлении в левом верхнем углу окна iTunes. 
  3. Перейдите на вкладку «Обзор» и выберите «Зашифровать локальную копию [устройство]» в разделе «Резервные копии».
  4. После появления соответствующего запроса придумайте пароль. Создайте пароль, который сможете запомнить, или запишите его и сохраните в надежном месте, так как без него вы не сможете использовать свои резервные копии, созданные с помощью 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:

  • сохраненные пароли;
  • настройки Wi-Fi;
  • история посещения веб-сайтов;
  • медданные.
Первый пункт наиболее важен. Здесь нужно отметить, что Apple несколько лукавит, утверждая, что в резервные копии без защиты не попадают сохранённые пароли. Содержимое Связки ключей попадает как в резервные копии с паролем, так и без него. Разница в том, что если пароль на резервную копию установлен, то и содержимое Связки ключей будет зашифровано тем же паролем. А вот если пароля на резервную копию нет, то Связка ключей будет зашифрована аппаратным ключом, уникальным для каждого устройства. Результат? Вы сможете восстановить пароли из резервной копии только на именно то устройство, с которого была сделана резервная копия. Перенести на новое устройство Связку ключей не получится. Альтернативой будет использование облачной связки ключей (iCloud keychain); в то же время нужно понимать, что не все записи из Связки ключей синхронизируются в облако.

Просмотреть Связку ключей из защищённой паролем резервной копии iTunes можно при помощи Elcomsoft Phone Breaker.

Сброс пароля к резервным копиям

Итак, мы выяснили, что раз установленный пароль надёжно защищает уже созданные резервные копии. Мы также выяснили, что установленный пароль сохраняется на устройстве. А раз так, можно ли его сбросить?

Да, сбросить пароль на резервную копию можно — но только если ваш iPhone работает под управлением iOS 11 или более поздней версии. Разумеется, для сброса пароля телефон должен быть полностью работоспособен, а вы должны знать код блокировки экрана. Вот что по этому поводу пишет Apple:

Данные из зашифрованной резервной копии нельзя восстановить без ввода пароля. В iOS 11 или более поздней версии можно создать зашифрованную резервную копию устройства, сбросив пароль. Чтобы сделать это, нужно выполнить следующие действия.

  1. На устройстве iOS выберите «Настройки» > «Основные» > «Сброс».
  2. Нажмите «Сбросить все настройки» и введите пароль ОС iOS.
  3. Следуйте инструкциям по сбросу настроек. Это не затронет данные или пароли пользователей, но приведет к сбросу таких настроек, как уровень яркости дисплея, позиции программ на экране «Домой» и обои. Пароль для шифрования резервных копий также будет удален.
  4. Снова подключите устройство к iTunes и создайте новую зашифрованную резервную копию.

Вы не сможете использовать ранее созданные зашифрованные резервные копии, но можете использовать 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 цифр, включения двухфакторной аутентификации и установке пароля на резервную копию. С учётом того, что пароль на резервную копию вам понадобится вводить чрезвычайно редко, рекомендуем использовать стойкий пароль, который вы сможете легко запомнить. Впрочем, этот пароль можно сохранить и в бумажном виде.


  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
НАШИ НОВОСТИ