Пароль – один из самых старых, классических способов аутентификации. Почтенный возраст паролей не мешает им оставаться основным способом убедиться в том, что пользователь – именно тот, за кого себя выдаёт. Несмотря на множество недостатков, у паролей есть и несомненные достоинства: при должном контроле они могут быть как достаточно безопасными, так и вполне запоминаемыми. В экосистеме Apple используется четыре (или пять, если считать паролем одноразовый код) разных, но тесно связанных между собой паролей. Что это за пароли и как они взаимосвязаны? Попробуем разобраться.
Что важнее, безопасность или запоминаемость? Вопрос не такой однозначный, каким кажется. Ещё в 2017 году было проведено исследование, согласно которому у самого обычного пользователя было порядка 20 учётных записей. У среднего офисного работника использовалась 191 учётная запись – и это только те пароли, которые вводятся в окно браузера. К началу 2020 года среднее число паролей пользователя достигло 207, при этом в среднем каждый пароль используется без изменений в 3.9 учётных записях. Статистика не указывает, какое количество паролей пользователи используют в разных учётных записях с минимальными изменениями (например, password, Password, password1, Password2010 и т.п.) По нашим данным, количество уникальных паролей, которые невозможно угадать, подсмотрев остальные пароли пользователя, в среднем не превышает 5-7 штук на пользователя.
Какие пароли бывают? Если вы – пользователь iPhone или iPad, то, скорее всего, вам приходится иметь дела с четырьмя паролями, тесно связанными между собой. Вот они:
Все эти пароли связаны между собой достаточно запутанной системой взаимоотношений, в которой нелегко разобраться даже специалистам. Мы уже писали о некоторых взаимосвязях (например, о том, что пароль на резервную копию iTunes можно сбросить, если известен код блокировки экрана), но все эти пароли переплетены между собой гораздо теснее, чем мы описывали ранее.
В этой статье описаны все известные нам взаимосвязи и взаимозависимости между паролями, актуальные для всех версий iOS 12 и 13, а также способы, посредством которых можно сбросить один пароль, если известен другой.
Код блокировки – самый важный пароль (а точнее, кодовая фраза), который пользователи iPhone используют чаще всех остальных вместе взятых. Этот пароль используется в процессе настройки iPhone. По умолчанию система предлагает установить код блокировки, состоящий из 6 цифр. Также можно использовать и более простой PIN-код, состоящий из 4 цифр. Можно выбрать и более сложный код блокировки, состоящий из произвольного количества цифр (как в Android) или из буквенно-цифровой последовательности произвольной длины.
В Apple контролируют минимальную сложность кода блокировки; слишком простой пароль установить не получится. В Apple предпочли не публиковать этот список официально, но независимым исследователям удалось восстановить этот список, сконструировав и использовав специального робота:
Скачать список таких «простых» паролей можно с GitHub.
При настройке кода блокировки будет установлено соединение с iCloud; это необходимо для того, чтобы добавить устройство в доверенный круг, участники которого могут безопасно синхронизировать такие данные, как пароли (облачная Связка ключей), Здоровье, сообщения и Экранное время. Соответственно, ни одна из этих категорий не будет синхронизирована, если пользователь не настроит код блокировки. Кроме того, без кода блокировки не будет работать платёжная система Apple Pay.
В нашем блоге есть две статьи на тему кода блокировки экрана: Protecting Your Data and Apple Account If They Know Your iPhone Passcode и Passcode vs. Biometrics: Forensic Implications of Touch ID and Face ID in iOS 12.
Если код блокировки утрачен
У обычного пользователя, который забудет код блокировки, не так много возможностей. Можно сбросить устройство через режим Recovery. Для настройки сброшенного устройства потребуется ввести пароль от iCloud.
Если телефон регулярно подключали к компьютеру, то на компьютере может сохраниться файл lockdown. С его помощью можно установить соединение и сделать резервную копию телефона перед тем, как его сбросить (работает только в том случае, если телефон разблокировали хотя бы раз после последнего включения или перезагрузки). Если резервная копия защищена паролем от резервной копии iTunes, то из неё можно извлечь пароль от iCloud, посредством которого можно будет активировать сброшенный телефон. А вот если такого файла нет или срок его действия истёк, то подключить телефон к компьютеру не получится: начиная с iOS 11 для подключения к новому компьютеру нужно ввести код блокировки экрана.
У работников правоохранительных органов в некоторых странах есть возможность запустить перебор кодов блокировки (именно поэтому усиленно не рекомендуется использовать 4-значный PIN). Впрочем, шанс на успех при использовании даже шестизначного цифрового кода блокировки невысокий.
Итак, если код блокировки утрачен:
Если код блокировки известен
Если же код блокировки известен, с телефоном можно проделать множество разных вещей:
Подводные камни
Выглядит достаточно запутанно? Мы только начали!
Так же, как и код блокировки экрана, учётная запись в iCloud не является обязательной. Впрочем, так же, как и в случае с кодом блокировки, без учётной записи в iCloud вы не сможете полноценно пользоваться устройством. Пароль от iCloud совпадает с паролем от учётной записи Apple ID, а без учётной записи Apple вы не сможете не только синхронизировать данные в и создавать резервные копии в iCloud, но и загружать приложения, даже бесплатные, из магазина App Store, слушать музыку и совершать покупки в Apple Music и так далее. Мало кто покупает iPhone исключительно для звонков и просмотра веб-страниц через встроенный браузер, поэтому большинство пользователей заводит себе учётную запись Apple ID.
В Apple контролируют минимальную сложность пароля к iCloud; слишком простой пароль установить не получится, равно как и пароль, совпадающий с одним из тех, которые использовались ранее.
Пароль от iCloud защищает доступ к онлайновой части доступных пользователю сервисов Apple (например, к фотографиям, которые хранятся в iCloud, к данным календарей, заметок, облачным резервным копиям и так далее). Кроме того, пароль от iCloud используется для защиты iPhone от сброса к заводским настройкам (а точнее – от возможности его после этого активировать и использовать), а также для удалённой блокировки, отслеживания или стирания данных с украденных устройств.
В то же время пароль от iCloud – далеко не всё, что нужно для доступа ко всем данным в iCloud. Так, некоторые данные будут сохраняться в облако только после включения двухфакторной аутентификации (соответственно, для их извлечения понадобится одноразовый код двухфакторной аутентификации), а некоторые данные (пароли из облачной связки ключей, Здоровье, сообщения, Экранное время) дополнительно защищены ещё и кодом блокировки экрана.
Частный случай пароля от Apple ID в случаях, когда используется двухфакторная аутентификация – пароль приложений. Пароль приложения можно создать в учётной записи Apple ID; он будет сгенерирован автоматически (а не установлен пользователем). Использовать пароль приложения можно в ряде сценариев, когда то или иное приложение не поддерживает двухфакторную аутентификацию. Примеры таких приложений – некоторые сторонние почтовые клиенты или утилита Cydia Impactor для установки сторонних (не из App Store) приложений на устройство с iOS. Кроме того, пароль приложения требуется создать и в том случае, если вы используете агент-экстрактор из состава Elcomsoft iOS Forensic Toolkit с для извлечения образа файловой системы.
Можно ли обойти пароль и всё равно получить доступ к данным из облака? Да, но набор доступных таким образом данных будет ограничен; подробности – в статье Accessing iCloud With and Without a Password in 2019.
Если пароль от iCloud утрачен
Пароль от iCloud используется значительно реже кода блокировки экрана; соответственно, забывают его пользователи гораздо чаще. Для его восстановления Apple опубликовали подробную инструкцию (https://support.apple.com/ru-ru/HT201487) в статье Если вы забыли пароль учётной записи Apple ID.
Пароль от iCloud можно сбросить с доверенного устройства (собственного iPhone пользователя); для этого достаточно указать код блокировки экрана, но требуется, чтобы в учётной записи была включена двухфакторная аутентификация (одноразовый код не потребуется). Пароль от iCloud можно сбросить и с другого устройства Apple или через веб-браузер (в этом случае потребуется ввести одноразовый код двухфакторной аутентификации).
Кроме того, пароль от iCloud можно узнать, проанализировав пароли, сохранённые в браузере на компьютере (Chrome, IE, Edge, Firefox) при помощи Internet Password Breaker (Windows), либо извлечь из связки ключей macOS при помощи Password Digger. Наконец, можно проанализировать зашифрованную резервную копию iOS при помощи Phone Breaker.
Итак, если утрачен пароль от iCloud, вы сможете:
Если пароль от iCloud известен
Как ни странно, если известен пароль от iCloud и только он, сделать можно не так и много. Перечислим:
Подводные камни
Этот пароль такой же опциональный, как и предыдущие два. Более того, если не установить пароль на резервную копию, то для неискушённого пользователя не изменится, по большому счёту, ничего: все возможности как устройства, так и облачных сервисов будут доступны точно так же, как и с паролем. В статье The Most Unusual Things about iPhone Backups мы описали некоторые особенности паролей от резервной копии.
Для чего вообще нужен этот пароль? Очевидно, для шифрования резервной копии, которую можно создать в iTunes. Нужно ли задавать этот пароль, если вы никогда не создавали резервные копии в iTunes и не собираетесь этого делать? Да, нужно, потому что резервную копию злоумышленник может создать за вас, после чего получит доступ практически к полному содержимому телефона, включая все ваши пароли к учётным записям, которые вы использовали в браузере Safari. Помешает ли этот пароль злоумышленнику, если он получит ваш iPhone и узнает его код блокировки? Нет, не помешает, но вы сможете дополнительно (и достаточно надёжно) защитить его паролем Экранного времени.
Насколько вообще безопасен пароль от резервной копии iTunes? Если в руки злоумышленника попадут только файлы резервной копии, зашифрованные неизвестным паролем, то вам повезло: скорость перебора будет исключительно низкой. Даже на профессиональном оборудовании с использованием аппаратного ускорения и распределённых вычислительных сетей скорость перебора на одном компьютере не превышает 100 паролей в секунду. Это – очень низкая скорость; пароль из случайного набора букв и цифр длиной хотя бы в 6 символов не будет вскрыт и за сотню лет.
Ситуация меняется на свою полную противоположность, если в руки злоумышленника попадёт ваш iPhone, а код блокировки экрана подсмотрят или узнают иным способом. Используя код блокировки экрана, пароль от резервной копии iTunes можно сбросить буквально за пару шагов (вместе с ним удаляется и код блокировки телефона). Если же цель – узнать оригинальный пароль, то на телефон можно установить джейлбрейк (для ряда устройств это возможно независимо от версии iOS), после чего пароль извлекается из скрытой записи Связки ключей.
Наконец, если на iPhone запущена iOS 13, то для установки или смены пароля от резервной копии также потребуется ввести код блокировки экрана. Подытожим:
Если пароль от резервной копии iTunes утрачен
Если пароль от резервной копии iTunes известен
Известный пароль от резервной копии (при наличии самой резервной копии) позволит:
Подводные камни
А теперь – обещанные подробности об извлечении пароля от iCloud из резервной копии с паролем (это важно: из резервной копии, которая паролем не защищена, извлечь Связку ключей не представляется возможным). Пароль от iCloud может храниться в одной или нескольких записей из следующего списка:
com.apple.account.AppleIDAuthentication.password
apple.account.iTunesStore.password и apple.account.AppleAccount.password (устаревшие записи, в которых всё ещё может оказаться пароль)
Пароль от iCloud можно обнаружить и в следующих записях, принадлежащих браузеру Safari:
Экранное время – представленная в iOS 12 система, позволяющая отслеживать и ограничивать время использования устройства. Установленные ограничения пользователь может защитить код-паролем, состоящим из 4 цифр.
Если пользователь установил пароль Экранного времени, то система будет запрашивать его при попытке изменить настройки как собственно ограничений, установленных в разделе Экранного времени, так и некоторых других системных настроек. В частности, система потребует ввести пароль Экранного времени (в дополнение к коду блокировки экрана) при попытке сбросить настройки (Reset All Settings) с целью сбросить пароль от резервной копии iTunes.
Пользователи могут установить и собственные ограничения. Например, может быть установлено ограничение на действия с учётной записью, после чего iOS не позволит сбросить пароль от iCloud посредством ввода кода блокировки. Ещё одно ограничение может запретить установку на устройство приложений, что не даст установить на устройство джейлбрейк и извлечь из него образ файловой системы. А вот защитить пароли в Связке ключей таким образом не получится: их всегда можно просмотреть, даже если установлен пароль Экранного времени.
Если пароль Экранного времени утрачен
Если пароль Экранного времени известен
Если пароль Экранного времени известен, вы сможете:
Подводные камни
Ссылки по теме:
Итак, мы рассмотрели четыре пароля, которые защищают различные аспекты экосистемы Apple. Однако если в случае с iPhone даже слабого пароля может быть достаточно просто в силу того, что к телефону нужно ещё получить физический доступ, то защита онлайновой учётной записи одним лишь паролем давно показала свою несостоятельность. Яркий пример – Celebgate, событие, которое заставила Apple поторопиться и выпустить сырую версию двухфакторной аутентификации под названием Two-Step Verification.
Сегодня Apple использует гораздо более технически продвинутую и безопасную схему, которая называется просто и бесхитростно – Two-Factor Authentication, или двухфакторная аутентификация. В этой системе есть возможность настроить любое устройство Apple (и только Apple) в качестве доверенного «второго фактора». Кроме того, пользователю обязательно придётся добавить хотя бы один доверенный телефонный номер на тот случай, если единственное устройство Apple будет утеряно или украдено.
Система получилась сильной и достаточно безопасной, и в Apple решили этим воспользоваться. Неожиданно «второй, дополнительный» фактор аутентификации получил в нагрузку возможности, позволяющие проделывать ряд вещей, которые в других системах считаются чрезмерными.
Нравится вам это или нет, но двухфакторную аутентификацию вам придётся включить, если вы хотите получить доступ к любому из перечисленных ниже сервисов:
Купив новое устройство с iOS 13 и зарегистрировав свежий идентификатор Apple ID, вы просто не сможете настроить его без двухфакторной аутентификации. Раз включив, отключить её уже не получится: прецеденты единичны, и каждый случай требовал персонального обращения в поддержку Apple и длительного периода ожидания.
О том значении, которое придаёт Apple двухфакторной аутентификации, говорит тот факт, что посредством второго «дополнительного» фактора легко можно сбросить пароль от Apple ID/iCloud. А вот если потерять доступ ко всем носителям «дополнительного» фактора (включая устройства Apple и доверенный телефонный номер – что на самом деле легко, если вы в заграничной поездке), то получить доступа к собственной учётной записи не получится. Точнее, это можно будет проделать, заполнив заявку, и после длительного (несколько недель) периода ожидания с пятидесятипроцентной вероятностью доступ к учётной записи может быть (а может и не быть) предоставлен.
Если доступ ко второму фактору аутентификации утрачен
Если доступа ко второму фактору аутентификации нет, наступят следующие последствия:
Если доступ ко второму фактору аутентификации имеется
Если же у вас есть доступ ко второму фактору аутентификации, можно проделать следующие вещи:
Подводные камни
Политики безопасности, ограничивающие использование слишком простых паролей, различаются для всех четырёх (с половиной) паролей.
Большинство пользователей, забывших тот или иной пароль, попытаются вспомнить его, подобрав один из ранее использованных паролей. Реакция системы на подбор пароля будет отличаться в зависимости от того, какой именно пароль вы пытаетесь подобрать.
В статье мы попытались разобраться в запутанных взаимоотношениях между четырьмя (с половиной) паролями Apple. Если вам кажется, что после этой статьи вы понимаете меньше, чем до неё – это совершенно нормально: о том, каким образом одни пароли влияют на другие, могут уверенно рассуждать разве что работники Apple, которое эту систему проектировали. С нашей точки зрения как экспертов по безопасности созданная Apple система кажется не до конца продуманной и местами нелогичной. Самыми нелогичными решениями Apple нам представляются возможности сброса пароля от резервной копии iTunes и пароля от iCloud посредством одного лишь кода блокировки экрана. Система безопасности, созданная Google, представляется нам гораздо более стройной и логичной (о ней мы обязательно напишем в будущем).
Создаётся ощущение, что ряд правил и возможностей вводились компанией либо под давлением пользователей («Как мне сбросить пароль от резервной копии? Что, совсем никак? Ну, вы…»), либо при попытке быстро закрыть обнаруженную дыру в безопасности. Такой подход не позволяет нам искренне похвалить созданную в Apple систему безопасности пользовательской экосистемы. В то же время, понятны и причины, по которым компании пришлось пойти на компромиссы.
К сожалению, компания не смогла удержать планку баланса между удобством и безопасностью на одном уровне, придавая чрезмерное значение одним факторам безопасности (код блокировки экрана и второй фактор аутентификации) и принизив значение других (пароль от iCloud, который можно узнать или сбросить, если есть доступ к хотя бы одному другому паролю или второму фактору аутентификации). Такой перекошенный баланс делает бесполезным и бессмысленным использование сложных паролей к резервной копии (зачем, если его можно сбросить в пару кликов?) и паролей от iCloud (зачем, если есть второй фактор аутентификации, а сам пароль можно легко сбросить с устройства?)