PIN-коды iPhone: механизмы безопасности и варианты атак

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

В современных iPhone длина PIN-кода по умолчанию — шесть цифр. В теории такие пароли в сотню раз безопаснее ранее использовавшихся четырёхзначных паролей, но так ли это на самом деле? В этой статье мы рассмотрим возможные варианты парольной защиты, встроенные в iOS механизмы защиты от перебора, «чёрные списки» слабых паролей и их реальную эффективность.

Что такое PIN-код и чем он отличается от кода блокировки?

В большинстве материалов, в которых мы упоминаем код блокировки экрана, мы называем его «паролем», «кодом блокировки», реже — «код-паролем» или калькой с английского «пасскод». Все эти термины относятся к одному и тому же (код-паролю, который необходимо ввести для разблокировки экрана устройства), но есть нюансы.

Традиционно PIN-кодом называли код, состоящий из четырёх цифр. В iOS поддерживаются шестизначные PIN-коды и коды произвольной длины, также состоящие из одних цифр. А вот код блокировки экрана, состоящий из набора буквенно-цифровых символов, PIN-кодом уже не называется, поэтому обобщённо все возможные варианты код-паролей мы обычно и называем собирательным термином «код блокировки экрана». В этой статье речь пойдёт исключительно о PIN-кодах длиной в 4 и 6 цифр.

Зачем эксперту PIN-код?

Зачем эксперту-криминалисту нужен PIN-код от iPhone, если телефон можно разблокировать биометрическим датчиком Face ID или Touch ID? Вопрос здесь в степени доступа к устройству, которые дают разные способы разблокировки. Так, разблокировка по датчику биометрии также разблокирует и USB порт устройства, но вот для сопряжения телефона с компьютером (а это необходимо, например, для создания резервной копии в рамках логического анализа) уже потребуется PIN-код. PIN-код понадобится и для разблокировки устройства, которое было выключено или перезагружено. Более того, без PIN-кода не удастся даже извлечь данные из тех моделей iPhone, для которых доступен эксплойт загрузчика checkm8.

В следующей таблице приводятся основные различия между использованием датчиков биометрии и PIN-кода.

BFU — Before First Unlock, устройство в состоянии «до первой разблокировки», сразу после загрузки или перезагрузки.

AFU — After First Unlock, устройство, которое было хотя бы единожды разблокировано кодом блокировки экрана после загрузки.

Touch ID/Face ID PIN
Разблокировка устройств BFU Нет Да
Разблокировка устройств AFU Иногда Да
Только для устройств после первой разблокировки
Привязка к новому компьютеру Нет Да
Подключение к доверенному компьютеру Да Да
Создание локальной резервной копии Только на привязанном компьютере или при наличии файла lockdown Да
Доступ к медиа-файлам Да (на устройстве) Да
Просмотр сохранённых паролей Да (на устройстве) Да (на устройстве)
Сброс пароля к резервной копии iTunes Нет Да (если нет пароля Экранного времени)
Отключение привязки к iCloud Нет Да
Использование Apple Pay Да Да
Низкоуровневый анализ: файловая система Нет Да
Низкоуровневый анализ: связка ключей Нет Да
checkm8 extraction (on compatible devices) Нет Да (кроме устройств поколения A11 с iOS 16+)
Сквозное шифрование в iCloud: доступ к облачной связке ключей, Health, Messages Нет Да
Отключение ограничений USB Частично * Да

* При разблокировке биометрическим датчиком ограничения USB отключаются, но для сопряжения устройства с новым компьютером всё равно потребуется ввести PIN-код.

Оценка рисков

В контексте криминалистического анализа возможность восстановления PIN-кода критична для получения доступа к данным, хранящимся на устройстве. Однако при включённой опции Erase Data есть риск сброса устройства с полной потерей данных после 10 неверных попыток. Если опция Erase Data включена, после 10 последовательных неправильных попыток ввода пароля всё содержимое и настройки удаляются из памяти устройства. Последовательные попытки ввода одного и того же неправильного пароля не учитываются при подсчёте лимита. Эта настройка также доступна как административная политика через  MDM или Microsoft Exchange ActiveSync, в случае использования которых пороговое значение может быть установлено более низким.

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

Внимание: опция Erase Data может быть установлена на более низкий порог через MDM или Microsoft Exchange ActiveSync, что может сделать атаку PIN-кода ещё более рискованной.

Замедление перебора

В статье Apple Passcodes and passwords компания делится подробностями о том, каким образом прогрессивные задержки защищают пользователя от подбора PIN-кода.

В iOS и iPadOS, чтобы воспрепятствовать атакам с подбором пароля, временные задержки после ввода неверного кода доступа на экране блокировки прогрессивно увеличиваются.

Номер попытки

Задержка

1–4 Нет
5 1 мин
6 5 мин
7–8 15 мин
9 1 час

На устройствах, оборудованных Secure Enclave, задержки обеспечиваются сопроцессором Secure Enclave. Если устройство перезапускается во время задержки, задержка всё так же применяется, а таймер для текущего периода перезапускается.

Прогрессивные задержки делают перебор кодов блокировки экрана длительным процессом. Так, перебор всего пространства 4-значных PIN-кодов займёт 416 дней, а попытка перебора всех 6-значных PIN-кодов заняла бы 114 лет. Таким образом, имеет смысл перебирать исключительно самые слабые пароли по короткому списку, а также PIN-коды, полученные в результате социального инжиниринга (см. ниже).

На устройствах без Secure Enclave любые задержки и ограничения при переборе можно обойти: Взлом кода блокировки iPhone 5 и iPhone 5c. Для таких устройств скорость атаки в 13.6 паролей в секунду позволяет полностью перебрать все комбинации 4 цифр за 12 минут. Пароли, состоящие из 6 цифр, перебираются в течение 21 часа, однако реальное время разблокировки может быть значительно меньше, если пользователь установил один из распространённых паролей.

Secure Enclave

Все актуальные устройства Apple оснащены сопроцессором безопасности Secure Enclave Processor (SEP). SEP может принудительно блокировать попытки восстановления ПИН-кода, даже если устройство было взломано иным образом (как в случае с устройствами до iPhone 8, 8 Plus и iPhone X включительно, которые имеют уязвимость на уровне загрузчика, позволяющую получить максимально возможный уровень привилегий). Для некоторых очень старых устройств (таких как iPhone 5c 2013 года и старше) отсутствие SEP делает их уязвимыми для подбора PIN-кода на устройстве.

Часть ограничений можно обойти и на некоторых устройствах с Secure Enclave, на которых можно «обмануть» SEP и перебирать пароли существенно быстрее. В зависимости от модели устройства, его изначального состояния и версии iOS, скорость перебора может быть от примерно 30 паролей в секунду до 4 в минуту (!). Насколько нам известно, последний процессор, для которого принципиально доступен перебор — это Apple A13 (на его основе сделаны все модели iPhone 11 и iPhone SE gen 2).

Защита от перебора на Android

Система безопасности Android радикально отличается от таковой на устройствах Apple. Так, в качестве альтернативы классическим кодам блокировки экрана ряд производителей предлагает свои решения — от ставших привычными паттернов до решений, похожих на небольшие паззлы. Различаются и внутренние реализации защиты. Так, аналогом SEP в процессорах ARM является TrustZone, посредством которой реализуется доверенная среда исполнения (Trusted Execution Environment, TEE), для различных реализаций которой существует большое количество эксплойтов. В частности, для процессоров MediaTek возможно извлечение и расшифровка пользовательских данных независимо от длины и сложности кода блокировки экрана. Подобные и альтернативные эксплойты доступны и для смартфонов, собранных на других процессорах. В одной статье невозможно рассказать обо всех них в силу огромного разнообразия производителей, моделей и вариаций аппаратного обеспечения и прошивок.

Слабые PIN-коды

Не все PIN-коды одинаково безопасны. В исследовании PIN number analysis (datagenetics.com) приводится несколько таблиц со списками небезопасных PIN-кодов. Так, в таблице, состоящей из всего двух десятков PIN-кодов (даже с прогрессивными задержками их перебор займёт около 11 часов), приведены пароли, которые устанавливают на свои смартфоны 26.83% пользователей:

PIN Частота
#1 1234 10.713%
#2 1111 6.016%
#3 0000 1.881%
#4 1212 1.197%
#5 7777 0.745%
#6 1004 0.616%
#7 2000 0.613%
#8 4444 0.526%
#9 2222 0.516%
#10 6969 0.512%
#11 9999 0.451%
#12 3333 0.419%
#13 5555 0.395%
#14 6666 0.391%
#15 1122 0.366%
#16 1313 0.304%
#17 8888 0.303%
#18 4321 0.293%
#19 2001 0.290%
#20 1010 0.285%

Этот список полезен при проведении «холодной» атаки, когда о личности подозреваемого ничего не известно. В этом случае можно попробовать и больший список распространённых PIN-кодов, таких как те, что опубликованы на github. Помимо 4-значных и 6-значных «чёрных списков», извлечённых из Apple iOS, авторы также создали черные списки на основе данных, которые значительно (в 10 раз) меньше (27/29 PIN-кодов) и в 10 раз больше (2740/291 000 PIN-кодов), чем блок-листы iOS. Некоторые из этих можно скачать по ссылке This PIN Can Be Easily Guessed.

# Название Источник Длина PIN Число вхождений
1 iOS-4-digit Apple iOS 4-digit 274
2 iOS-6-digit Apple iOS 6-digit 2,910
3 DD-4-digit-27 Top Amitay 4-digit 27
4 DD-4-digit-2740 Top Amitay 4-digit 2,740
5 DD-6-digit-29 Top RockYou 6-digit 29
6 DD-6-digit-291000 Top RockYou 6-digit 291,000

Социальный инжиниринг

Список распространённых PIN-кодов полезен, если вы ничего не знаете о подозреваемом. Однако, если у вас есть какая-то информация о них, лучшей стратегией атаки будет сначала попробовать небольшой список самых популярных PIN-кодов, а затем список PIN-кодов, которые могут иметь значение для подозреваемого. Примеры таких PIN-кодов включают:

  • Памятные годы (четыре цифры): даты рождения подозреваемого и членов его семьи; года других знаменательных дат. Многочисленные исследования показывают, что с большей вероятностью встречаются PIN-коды, начинающиеся с 1900 года, а затем PIN-коды, начинающиеся с 2000 года.
  • Памятные даты в MMYY, DDMM, MMYYYY и других представлениях (четыре или шесть цифр): сюда также входят значимые даты в различных распространенных представлениях.
  • Части телефонных номеров (первые четыре цифры, последние четыре цифры) членов семьи и других близких контактов.

Полезно ли быть слишком умным?

Исследованием безопасности PIN-кодов занимались и занимаются авторы разнообразных исследований. Так, исследователи выяснили причины популярности таких паролей, как 696969 или 159753 (представление буквы «X» на цифровой клавиатуры). Те или иные PIN-коды становятся популярными по самым разнообразным причинам от простоты запоминания набора цифр до тактильного удобства ввода включительно. Эти причины подробно разобраны в таких исследованиях, как PIN number analysis (datagenetics.com), [2003.04868] This PIN Can Be Easily Guessed: Analyzing the Security of Smartphone Unlock PINs (arxiv.org) или (PDF) On the Security of Smartphone Unlock PINs (researchgate.net). Ознакомиться с этими работами в любом случае полезно, но их практическая ценность в конечном итоге сводится к нескольким спискам часто употребляемых PIN-кодов, ссылки на которые мы уже привели выше по тексту. Соответственно, для проведения качественной атаки достаточно применить один или несколько таких списков, дополнив их при возможности данными социального инжиниринга по следующей методике.

Холодная атака (данных о владельце устройства нет)

  1. Список распространённых PIN-кодов

Есть данные о владельце

  1. Короткий список распространённых PIN-кодов
  2. PIN-коды, составленные из памятных годов и дат в различных представлениях, а также частей номеров телефонов
  3. Полный список распространённых PIN-кодов

Чёрные списки и стоп-листы

Чёрный список — это список самых распространённых PIN-кодов, использовать которые не рекомендуется, но не возбраняется: пользователь, желающий установить на свой iPhone пароль «1111», получит предупреждение, что код небезопасен, но при желании сможет его установить. Стоп-лист — тот же чёрный список, только установить небезопасный PIN-код у пользователя не получится. В устройствах Apple используется концепция чёрного списка — то есть, пользователь получит предупреждение, но установить небезопасный пароль всё-таки сможет. В исследовании Philipp Markert, Daniel V. Bailey, Maximilian Golla, Markus Dürmuth и Adam J. Aviv в 2020 году описаны чёрные списки, извлечённые из iOS. В них входят 274 четырёхзначных PIN-кода и 2910 шестизначных. Авторы пришли к выводу, что неблокирующие чёрные списки такого размера не оказывают существенного влияния на безопасность устройств в условиях прогрессивных задержек.

С другой стороны, эти списки представляют собой готовые списки часто используемых паролей; бери и пользуйся.

Список литературы

Мы собрали подборку материалов (в основном — англоязычных) на тему безопасности PIN-кодов:

Есть и исследование паттернов блокировки для Android:

На русском языке доступны следующие статьи:


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