Последние несколько месяцев мы много писали о нововведениях в iOS 11. Мы хвалили систему за новый режим SOS и за то, что для установления доверенных отношений с компьютером теперь требуется ввести пароль блокировки устройства. «Теперь-то заживем!» — думали мы. Но ошиблись. С выходом iOS 11 разработчики Apple не только добавили новые механизмы защиты, но и ослабили старые, переложив абсолютно все уровни защиты исключительно на пароль блокировки.

Еще раз, помедленнее: вся многоуровневая система безопасности, все дополнительные проверки, пароли на резервные копии и даже облачная блокировка iCloud — теперь все-все-все завязано исключительно на пароль блокировки устройства и может быть легко сброшено, если пароль от устройства известен.

В самом деле? Давай разбираться.

WARNING

Вся информация предоставлена исключительно в ознакомительных целях. Ни редакция, ни автор не несут ответственности за любой возможный вред, причиненный материалами данной статьи.

 

Пароль на резервные копии

Представь, что ты работаешь в компании, основной бизнес которой — взлом паролей. Резервные копии от iPhone, которые можно создать на компьютере с помощью iTunes или сторонних приложений, можно зашифровать паролем, причем защита достаточно стойкая: для успешного перебора нужен компьютер с мощной видеокартой. Потом начинается гонка: Apple делает все более стойкую защиту, ты — разрабатываешь все более совершенные алгоритмы для ее взлома. В последней итерации Apple, казалось бы, побеждает: даже компьютер, оснащенный видеокартами по максимуму, не в состоянии перебирать больше нескольких десятков (!) паролей в секунду.

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

 

Как было в iOS 8, 9 и 10

Как это было в iOS 10 и более ранних версиях системы? Пароль на резервную копию устанавливался в iTunes.


Обрати внимание на опцию Encrypt iPhone backup. Если галочка установлена, то убрать, сбросить или изменить пароль через iTunes можно в том и только в том случае, если тебе известен старый пароль.

В iOS пароль на резервную копию — свойство не iTunes, при помощи которой создается бэкап, и даже не самого бэкапа, хоть он и зашифрован с помощью этого пароля. Нет, пароль на резервные копии — это свойство устройства, конкретного iPhone, глубоко в недрах которого и хранится этот пароль. Любые попытки сбросить или изменить пароль на резервную копию хоть с самого телефона, хоть через iTunes в обязательном порядке проходят через iOS. В iOS 8, 9 и 10 единственным способом изменить или убрать пароль на резервную копию был запуск iTunes и ввод старого пароля.

Забыл пароль от резервной копии? Неудивительно: вероятно, ты вводил его ровно один раз — при начальной настройке неизвестно когда. Хочешь сбросить забытый пароль? Это возможно только после сброса телефона к заводским настройкам. Нет, ты не сможешь восстановить данные из зашифрованного бэкапа — ведь пароль ты не помнишь! Да, ты можешь восстановить данные из iCloud (включая облачную связку ключей iCloud Keychain, в которой хранятся — или могут храниться — все твои пароли).

Казалось бы, система вполне логичная и внутренне непротиворечивая, предлагающая оптимальный баланс безопасности (не зная пароля — сбросить невозможно!) и удобства (ведь из облачного бэкапа восстановиться все равно можно, даже если ты забыл пароль). Но жаловались пользователи: «У меня пароль в iTunes — я его не устанавливал!» Жаловалась полиция. Недовольны были и корпоративные клиенты. И в Apple пошли на уступки.

 

Как стало в iOS 11

В iOS 11 ты по-прежнему можешь установить пароль на резервную копию в iTunes и по-прежнему не можешь сбросить или изменить его через iTunes, если забудешь старый пароль. Однако — сюрприз! — теперь ты можешь сбросить пароль на бэкап непосредственно на самом устройстве. Вот что пишут на эту тему в Apple:

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

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

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

Если на устройстве установлена iOS 10 или более ранней версии, пароль сбросить нельзя.

Фактически речь идет вот об этих настройках.



И все? Да, все: пароль на резервную копию iTunes сброшен, и теперь ты можешь создать новый бэкап… а точнее — вытащить данные из телефона. Обрати внимание: перед тем как создавать свежую резервную копию в iTunes, тебе нужно будет установить доверенные отношения с компьютером, для чего потребуется ввести пароль блокировки на самом устройстве (по условиям задачи ты его знаешь).

Также нужно обязательно задать новый (известный) пароль на бэкап. Зачем это делается? Если пароля не будет, то данные приложений останутся незашифрованными, зато связка ключей (Keychain) окажется зашифрована с использованием аппаратного ключа, извлечь который из телефона тебе не удастся. Так что задай пароль на бэкап, и связка ключей (а в ней, напомним, хранятся все пароли пользователя, включая пароль от Apple ID, маркеры аутентификации, номера платежных карт и многое другое) будет зашифрована с помощью того же самого пароля.

Что дальше? Дальше резервную копию расшифровываем (хотя бы при помощи Elcomsoft Phone Breaker) и просматриваем содержимое. Вероятно, больше всего нас заинтересуют пароли пользователя и фотографии.


Поищи пароль от Google Account. Если в связке ключей он найдется, ты сможешь получить доступ (например, с использованием Elcomsoft Cloud Explorer) просто к гигантскому массиву данных о пользователе: подробнейшей истории местоположения за последние несколько лет, всем его паролям, сохраненным в браузере Chrome, закладкам, истории поисковых запросов и истории браузера и многому другому. Двухфакторная аутентификация? С большой долей вероятности тот iPhone, который у тебя в руках, может быть использован для подтверждения запроса через Google Prompt или, на худой конец, для получения SMS с одноразовым кодом.

Кстати, а что делать, если фотографии в бэкап почему-то не попали? Даже у специалистов по извлечению данных этот вопрос временами вызывает ступор: фотографии точно есть, вот они, их можно пролистать на телефоне — но в резервной копии их нет!

Ответ, как правило, будет очень простым. Несколько лет назад Apple представила сервис на основе iCloud, позволяющий пользователям синхронизировать фотографии и видео через облако. Если на iPhone включена настройка iCloud Photo Library, то фотографии будут сохраняться в iCloud — но не в облачные резервные копии, а в специальную область, выделенную именно для медиафайлов. Более того, если эта настройка включена, то и в локальные резервные копии, создаваемые при помощи iTunes, фотографии тоже сохраняться не будут. Так что для их извлечения ты можешь отключить синхронизацию фотографий с облаком в настройках iCloud, после чего создать свежий бэкап.


В принципе, в этих шагах нет большой необходимости; фото и видео можно перенести с iPhone и другими способами, но если уж снимать резервную копию, то целиком.

Итак, имея всего лишь iPhone с известным паролем блокировки, мы уже получили доступ к следующим данным:

  • всему, что содержится в локальном бэкапе iTunes (с заданным паролем);
  • паролям ко всем ресурсам из локальной связки ключей Keychain;
  • фото и видео;
  • данным приложений (как правило, в формате SQLite).

Это уже немало, но на том интересное не заканчивается. А если я скажу тебе, что теперь ты можешь запросто сменить пароль от учетной записи Apple ID, отвязать телефон от iCloud, дистанционно заблокировать все остальные устройства пользователя, да так, что он ничего не сможет с этим поделать?

 

Меняем пароль от Apple ID и отключаем блокировку iCloud

Ты, наверное, в курсе, что для того, чтобы поменять пароль от учетной записи — неважно, Apple, Google или Microsoft, — нужно предварительно ввести старый пароль или хотя бы сбросить его с обязательным получением письма на зарегистрированный адрес электронной почты. В случае с iOS пароль от учетной записи Apple ID (он же — пароль к iCloud) можно поменять легко и просто, если у тебя на руках iPhone и тебе известен пароль блокировки. Старый пароль не нужен; не нужно получать письмо на неизвестный заранее ящик и не нужно открывать никакие ссылки для сброса пароля. Единственная оговорка: метод гарантированно работает лишь для учетных записей с активированной двухфакторной аутентификацией.

Итак, у тебя на руках iPhone, и пасскод от него тебе известен. Открой системное приложение Find My iPhone.


Видишь поле для ввода пароля с грозной надписью Required? А ведь на самом деле его нет! Просто нажми на «Forgot Apple ID or password?», и увидишь запрос пароля блокировки телефона.


Введи пасскод, и на следующем шаге ты сможешь выбрать новый пароль для учетной записи Apple ID (он же — пароль от iCloud).


Собственно, задача решена: пароль от Apple ID / iCloud мы поменяли. Теперь ты можешь запросто отключить функцию Find My iPhone из настроек, и бывший владелец ничего не сможет поделать с твоим устройством.

Кстати, все то же самое можно проделать и другим способом, без использования приложения Find My Phone. Для этого достаточно кликнуть на Apple ID в настройках устройства, после чего открыть пункт Password & Security.


Далее — нажать Change Password. Будет запрос пароля блокировки устройства.


После этого можно спокойно сменить пароль от iCloud / Apple ID.


Возвращаясь к первому шагу, обрати внимание на пункт Trusted Phone Number. Здесь указывается тот номер телефона, на который будут приходить SMS для двухфакторной аутентификации. Именно этот номер можно использовать для восстановления доступа к учетной записи, если злоумышленник сменит пароль от Apple ID. Впрочем, если злоумышленнику известен пасскод от устройства, то проблемы не существует: первым шагом добавляется новый «доверенный номер телефона», вторым — удаляется старый, принадлежавший бывшему владельцу учетной записи. С этого момента действительно все: тапки целиком и полностью, со всеми потрохами, принадлежат новому владельцу.

Нужно ли здесь писать, как отключается функция Find My iPhone? Это буквально пара кликов в настройках iCloud; для отключения блокировки телефона iCloud у тебя могут запросить пароль от учетной записи, но ты его знаешь — сам только что установил.

Ну и вишенка на торте. Используя все то же приложение Find My iPhone, ты можешь зайти в учетную запись бывшего владельца, используя новый пароль (если включена двухфакторная аутентификация, можно использовать как push-код, так и одноразовый код, который генерируется из настроек устройства). Зайдя же в учетную запись, ты можешь найти все остальные устройства пользователя, зарегистрированные в той же учетной записи, и, например, заблокировать их или уничтожить данные (после чего бывший владелец не сможет с ними сделать ровным счетом ничего, кроме обращения в СЦ Apple, потому что устройства будут заблокированы с помощью iCloud Lock).


Промежуточный итог:

  1. Сменили пароль от учетной записи пользователя.
  2. Отключили iCloud lock (Find My iPhone).
  3. Сменили доверенный телефонный номер, чтобы бывший владелец учетной записи уж точно ничего не смог поделать.
  4. Стерли данные со всех остальных устройств бывшего владельца учетной записи и/или заблокировали эти устройства.

Давай теперь посмотрим, что интересного хранится у пользователя в облаке iCloud.

Продолжение доступно только подписчикам

Вариант 1. Оформи подписку на «Хакер», чтобы читать все материалы на сайте

Подписка позволит тебе в течение указанного срока читать ВСЕ платные материалы сайта. Мы принимаем оплату банковскими картами, электронными деньгами и переводами со счетов мобильных операторов. Подробнее о подписке

Вариант 2. Купи один материал

Заинтересовала информация, но нет возможности оплатить подписку? Тогда этот вариант для тебя! Обрати внимание: этот способ покупки доступен только для материалов, опубликованных более двух месяцев назад.


7 комментариев

  1. Владиславище

    23.11.2017 at 23:28

    Прочитал и офигел. Уничножили своими руками многолетние наработки в сфере безопасности…

  2. robotizm365

    24.11.2017 at 03:09

    Да, многолетний труд втоптан в ничто, надеюсь все-таки поправят, если это сделано «не умышленно, для ББ». А кто-нибудь знает какой-нибудь рабочий брутфорс под пасскоды на iphone? Может у Элкомсофт есть?!

  3. joker2k1

    24.11.2017 at 03:38

    Жесть! Спасибо за столь подробный анализ

  4. Олег Афонин

    Олег Афонин

    24.11.2017 at 13:24

    Это сделано умышленно. Для каждого ослабления безопасности наверняка были причины (полагаю — жалобы пользователей). Когда у руля был авторитарный лидер, Стив Джобс, он мог просто послать всех — «я знаю, как лучше». Сейчас такого человека у руля нет, и все эти вещи делаются в угоду публике. По отдельности все шаги описаны в официальной документации Apple в статьях, на которые я привёл ссылки. Другой дело, что их комбинация даёт вот такой потрясающий эффект, когда вся система безопасности «вдруг» рушится. И вот это уже удивительно даже с учётом характера текущего руководителя.

    По поводу взлома паролей на железках: мы тестировали такие устройства; они действительно позволяют при удачном совпадении факторов (конкретная версия железа, поддерживаемые версии iOS) перебирать на iPhone пароли. Очень небыстро, на iPhone 7 скорость — порядка одного пароля за несколько минут (!), но даже так — 10,000 комбинаций (4 цифры) всё равно перебираются полностью примерно за 2.5 недели.

  5. Kyrdistan

    24.11.2017 at 20:01

    например такой пароль врядли взломают K=M»wL)g3″ZM}O$~+mBKamuG^p3S
    проблема только запомнить)
    следующая статья должна быть как запоминать сложные пароли)

    • Antony

      23.12.2017 at 13:19

      На сколько я помню такая статья уже была, может не здесь, но пароль : /\E6EDuH0E_03EPo не очень сложно запомнить, но достаточно сложно подобрать.

    • ilyasyakubov

      01.02.2018 at 12:40

      Можно использовать буквенный пароль используя фразу из русских слов написанных латиницей. Узнать наперед или перебрать его будет нереально.

Оставить мнение

Check Also

0-day баг в популярном jQuery плагине эксплуатировали как минимум несколько лет

Баг обнаружили в плагине jQuery File Upload. Под угрозой оказались сотни, а возможно, тыся…