За кулисами: взлом iPhone 5 и 5c

25 августа, 2020, Vladimir Katalov
Рубрика: «Безопасность», «Криптография и шифрование», «Новости индустрии», «Новость Элкомсофт»
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Сегодня смартфон — полноценная замена множеству вещей: фотоаппарату, навигатору, шагомеру и даже кошельку. Смартфоны содержат огромное количество конфиденциальной информации, которая может оказаться полезной в расследовании или стать основой доказательной базы. Получить доступ к этим данным может оказаться непросто, что продемонстрировал спор между ФБР и Apple по поводу разблокировки телефона iPhone 5c, который был использован стрелком из Сан-Бернардино в декабре 2015 года. Несколько лет назад вопрос о разблокировке этого устройства стал причиной судебного спора двух гигантов. Сегодня благодаря последним достижениям разблокировка iPhone 5c не представляет особой проблемы.

Тот самый iPhone 5c

Apple выпустила iPhone 5 в сентябре 2012 года. Телефон поставлялся с iOS 6.0; последняя версия iOS, доступная для этого устройства — 10.3.4.

В сентябре 2013 года Apple выпустила не один, а сразу два iPhone, причём основанных на совершенно разных наборах микросхем. Флагманом компании стал инновационный (и довольно дорогой) iPhone 5s, в котором впервые появились такие вещи, как датчик отпечатка пальцев и аппаратный сопроцессор Secure Enclave. А вот iPhone 5c стал «доступной» моделью, основанной на упрощённой начинке прошлогоднего iPhone 5.

Выпустив iPhone 5c, Apple предприняла попытку выйти на рынок бюджетных телефонов, которая не нашла понимания у журналистов и обозревателей того времени. Несмотря на плохие обзоры, эта модель года стала одним из самых популярных бюджетных телефонов, продаваемых через собственным каналы продаж сотовыми операторами США.

iPhone 5c стал последним смартфоном от Apple, основанном на 32-битном процессоре. Изначально iPhone 5c вышел с iOS 7.0; последняя версия iOS, доступная для этого телефона — 10.3.3.

iPhone 5c стал знаменит после террористической атаки в Сан-Бернардино в декабре 2015 года и последующей судебной тяжбой между ФБР и Apple. В этом споре Федеральное бюро расследований потребовало, чтобы Apple создала программное обеспечение, которое позволило бы ФБР разблокировать iPhone 5C террориста. Объект спора — iPhone 5c — был найден в рабочем состоянии, но был заблокирован четырёхзначным паролем. На устройстве была настройка на стирание данных после десяти неудачных попыток. Apple отказалась создавать такое программное обеспечение (хотя технически, они могли это сделать); судебное слушание было назначено на 22 марта. Однако за день до слушания правительство потребовало отсрочки, заявив о существовании третьей стороны, способной помочь в разблокировке. 28 марта было объявлено, что ФБР удалось разблокировать аппарат. Иск был отозван.

Как именно ФБР удалось получить пароль, кто был подрядчиком и сколько именно было заплачено за услугу, официально неизвестно. Некоторые новостные агентства со ссылкой на анонимные источники назвали третьей стороной израильскую компанию Cellebrite (которая не опровергла, но и подтвердила этот факт). Однако The Washington Post сообщила, что, по словам очередных анонимных «людей, знакомых с вопросом», ФБР заплатило «профессиональным хакерам», которые использовали неопубликованную уязвимость в программном обеспечении iPhone. По словам директора ФБР Джеймса Коми, взлом данного iPhone 5c обошёлся ФБР в сумму более 1,3 миллиона долларов. До сих пор точно не известно, была ли это компания Cellebrite (которая отказывается от комментариев, но явно не подтверждает своё участие) или кто-либо ещё. С учётом того, что от комментариев воздерживается и потенциальная «третья сторона», точно установить исполнителей контракта не представляется возможным.

Сегодня же разблокировать iPhone 5c сможет любой пользователь нашего программного инструментария iOS Forensic Toolkit, цена которого почти на три порядка меньше выложенной ФБР суммы. При помощи Elcomsoft iOS Forensic Toolkit можно подобрать пароль экрана блокировки iPhone 5/5c и разблокировать устройство.

Говоря о восстановлении пароля, нельзя не упомянуть работу Сергея Скоробогатова. В своём исследовательском проекте «Анализ безопасности Apple iPhone 5c» он продемонстрировал атаку, позволяющую подобрать код блокировки экрана на iPhone 5c. У метода, предложенного Сергеем, есть два недостатка: телефон потребуется разобрать, а пауза между попытками ввода пароля достигает 5 секунд. В своей работе Сергей утверждает, что взломать 4-значный код доступа можно примерно за сутки, а восстановление 6-значного PIN-кода займёт неоправданно много времени.

Ещё одним способом разблокировки iPhone 5c в своё время стало решение IP-BOX и его многочисленные клоны. Их основной недостаток — ограничение версий iOS до iOS 8.1 включительно. Более новые версии iOS принципиально не поддерживаются, а скорость перебора аналогична решению Сергея (около 6 секунд на попытку ввода пароля или порядка 17 часов на взлом 4-значного PIN-кода).

В сравнении с этими решениями, наш продукт не требует дополнительного оборудования или разборки телефона, работая при этом примерно в 80 раз быстрее.

Как работает восстановление пароля и почему так важно восстановить именно оригинальный код блокировки экрана, а не, например, обойти его посредством эксплойта? Об этом — ниже.

Код блокировки как вершина безопасности

Код блокировки экрана — важнейшая часть модели безопасности iPhone. Начиная с iOS 8, пользовательские данные, включая пароли, хранящиеся в Связке ключей, шифруются с помощью ключа, полученного криптографическим преобразованием пароля пользователя. Без оригинального пароля невозможно получить доступ к информации на устройствах до первой разблокировки (т.е. только что включённых или сразу после перезагрузки). Обход пароля блокировки экрана для таких устройств — операция достаточно бессмысленная, поскольку основной массив данных будет надёжно зашифрованным.

Система безопасности iOS отлично документирована. Следующий отрывок из документации Apple Platform Security объясняет роль пароля в экосистеме iOS.

Установив на устройстве код-пароль, пользователь автоматически включает защиту данных. iOS и iPadOS поддерживают код-пароли из четырех или шести цифр и буквенно-цифровые код-пароли произвольной длины. Помимо разблокирования устройства, код-пароль является источником энтропии для некоторых ключей шифрования. Это означает, что злоумышленник, завладевший устройством, не сможет получить доступ к данным определенных классов защиты, не зная код-пароля.

Код-пароль привязывается к UID устройства, поэтому попытки перебора должны выполняться непосредственно на атакуемом устройстве. Для замедления каждой попытки используется большое число повторений. Число повторений настроено таким образом, что одна попытка занимает примерно 80 миллисекунд. Это означает, что для перебора всех сочетаний шестизначного код-пароля, состоящего из строчных букв и цифр, потребуется более 5,5 лет.

Чем надежнее код-пароль пользователя, тем надежнее ключ шифрования. А благодаря Touch ID и Face ID пользователь может установить гораздо более надежный код-пароль, чем это было бы возможно при отсутствии данной технологии. Это повышает эффективное количество энтропии, используемое для защиты ключей шифрования системы защиты данных, без ущерба для удобства пользователей, которым приходится по несколько раз в день разблокировать устройство iOS или iPadOS.

Чтобы дополнительно усложнить атаки методом перебора, после ввода неправильного код-пароля на экране блокировки временные задержки увеличиваются. Если параметр «Настройки» > «Touch ID и код‑пароль» > «Стирать данные» включен, все данные на устройстве будут автоматически стерты после 10 неудачных попыток ввода код-пароля подряд. При подсчете не учитываются последовательные попытки ввода одного и того же неправильного код-пароля. Эта функция также доступна при настройке политики администрирования через систему управления мобильными устройствами (MDM), которая поддерживает эту функцию, и Exchange ActiveSync. Кроме того, можно установить более низкий порог ее срабатывания.

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

Источник: Apple Platform Security

В старых моделях iPhone, в частности iPhone 5 и iPhone 5c, измеренная задержка между попытками ввода пароля составила 73,5 мс, что даёт скорость перебора в 13,6 паролей в секунду. Это очень близко 80 мс, о которых пишет Apple. Поскольку в этих моделях iPhone нет сопроцессора безопасности, увеличивающиеся временные задержки устанавливаются программно операционной системой, а не сопроцессором Secure Enclave. Это, в свою очередь, означает, что задержку можно отключить программным же способом при наличии доступа к определённым системным файлам.

Наконец, iPhone 5 и iPhone 5c не оснащены датчиком отпечатков пальцев. Код блокировки — единственное средство защиты устройства. В документации Apple есть фраза: «благодаря Touch ID и Face ID пользователь может установить гораздо более надежный код-пароль, чем это было бы возможно при отсутствии данной технологии». Поскольку указанных технологий в этих моделей iPhone нет, то и пользователи, скорее всего, будут выбирать простые и короткие PIN-коды вместо более длинных буквенно-цифровых паролей, чтобы избежать (снова цитата) «ущерба для удобства пользователей, которым приходится по несколько раз в день разблокировать устройство».

Какие пароли встречаются чаще всего?

Типы паролей, которые чаще всего устанавливают пользователи, зависят от нескольких факторов. Сюда входят как настройки iOS по умолчанию, так и фактора удобства, который учитывает наличие или отсутствие Touch ID/Face ID, а также скорость и удобство ввода того или иного пароля с экранной клавиатуры.

Выбор по умолчанию

В iOS 6 был единственный вариант — простой пароль из 4 цифр, который и был включён по умолчанию. Если пользователь отключал настройку, он мог использовать буквенно-цифровой код доступа любой длины. Однако, если пользователь вводил любое количество цифр, кроме четырёх, на экране блокировки будет отображаться клавиатура только с цифрами (и текстовое поле переменного размера). Таким образом, классификация типов паролей, доступных в iOS 6, включает следующие варианты:

  • 4-значный цифровой PIN-код
  • Цифровой PIN-код произвольной длины (кроме 4-значных цифровых кодов)
  • Буквенно-цифровой код

В iOS 9 (а также iOS 10) были доступны следующие четыре варианта:

  • 4-значный цифровой PIN-код
    6-значный цифровой PIN-код
    Цифровой код произвольной длины
    Буквенно-цифровой код произвольной длины

В разных источниках приводится информация о том, что с момента выхода iOS 9 Apple перешла на шестизначные коды доступа, сделав их вариантом по умолчанию. Для двух рассматриваемых моделей iPhone (5 и 5c) это утверждение неверно. После сброса настроек на iPhone 5 и 5с мы наблюдали предложение установить 4-значный цифровой PIN-код. Ещё более интересным является то, что при попытке изменить уже установленный 6-значный PIN-код на новый, iOS все равно предложит установить 4-значный PIN-код. Скорее всего, это часть «фактора удобства», поскольку 6-значный код доступа приведёт к проблемам (ok, небольшим затруднениям), связанным с отсутствием в данных моделях датчика отпечатка пальцев.

Фактор удобства

Какие пароли чаще всего устанавливают пользователи на устройствах до Touch ID? В мае 2020 года Филипп Маркер, Даниэль В. Бейли, Максимилиан Голла, Маркус Дюрмут и Адам Дж. Авив провели исследование выбранных пользователем 4- и 6-значных PIN-кодов, собранных на смартфонах для разблокировки устройства. В своём исследовании они объединили несколько наборов данных, полученных из различных источников, и провели собственное тестирование 1220 участников. Исследование помогло определить наиболее часто используемые 4- и 6-значные PIN-коды.

Исследователи сделали следующие выводы, которые на первый взгляд могут показаться спорными. Из исследования сделан вывод, согласно которому реальная эффективность использования более длинных 6-значных PIN-кодов по сравнению с 4-значными довольно низкая. Участники исследования, вынужденные использовать 6-значный PIN, чаще всего выбирали варианты, которые легко угадать или удобно набирать на экранной клавиатуре. Существуют чёрные списки таких паролей, однако в исследовании был сделан вывод об их неэффективности и даже контрпродуктивности: оказалось, что участники эксперимента считают, что занесение выбранного ими пароля в чёрный список только усилит безопасность, не влияя на удобство использования. (источник)

Часто используемые пароли

Со своей стороны, мы можем порекомендовать ознакомиться с оригинальным исследованием. С нашей точки зрения значение имеет список наиболее часто используемых (а значит, и наименее безопасных) 6-значных PIN-кодов. В этом списке всего 2910 записей, и для их проверки требуется порядка 4 минут. В этом списке и хит всех времён — пароль 123456, и повторяющиеся цифры (000000, 999999), а также цифровые пароли, представляющие определённые комбинации, фактически из двух или трёх цифр (например, 131313 или 287287). После этого списка идут 6-значные PIN-коды, основанные на дате рождения пользователя; существует около 74 тысяч возможных комбинаций, на проверку которых уходит около 1,5 часов. Только после того, как эти возможности исчерпаны, мы начинаем полный перебор оставшихся вариантов, который длится около 21 часа.

Заключение

iPhone 5 и 5c вышли почти 7 лет назад, но на руках у пользователей и в лабораториях экспертов осталось ещё довольно много таких устройств. Для разработки первого эксплойта потребовались годы и сумма, превышающая миллион долларов. Сегодня быстрый способ разблокировки iPhone 5 и 5c доступен всем желающим с использованием чисто программного метода.


  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

REFERENCES:

Elcomsoft iOS Forensic Toolkit

Elcomsoft iOS Forensic Toolkit – специализированный инструмент для проведения криминалистического анализа устройств, работающих под управлением Apple iOS. Для анализа доступна вся пользовательская и системная информация, а также зашифрованные данные из системного хранилища (связка ключей).

Официальная страница Elcomsoft iOS Forensic Toolkit »

НАШИ НОВОСТИ