В этой статье мы подробно расскажем о том, что происходит с iPhone в криминалистической лаборатории. Мы выясним, насколько реально взломать защиту iOS разных версий и что для этого понадобится в разных случаях. Мы уже описывали несколько сторон этого процесса, но сегодня разберем его целиком и постараемся охватить все возможные варианты.

13 августа Русская служба Би-би-си сообщила о закупке Следственным комитетом аппаратуры для взлома iPhone, которая вскроет самый свежий iPhone всего за девять минут. Не веришь? Я тоже не верю, что такое могло опубликовать столь солидное издание, но факт остается фактом.

Хочется прокомментировать фразу эксперта Дмитрия Сатурченко: «Израильской Cellebrite для взлома iPhone 7 или 8 нужно больше суток, а извлеченные данные требуют серьезной аналитики. MagiCube обрабатывает тот же iPhone за девять минут, при этом оборудование заточено на получение чувствительных данных из мессенджеров, где содержится 80–90% интересной информации».

У неподготовленного читателя может создаться впечатление, что можно просто взять любой iPhone и извлечь из него информацию об использовании мессенджеров. Это не так по многим причинам. Начнем с того, что MagiCube — дубликатор жестких дисков, а мобильные устройства анализирует другой комплекс. iPhone тоже подойдет не любой, а работающий строго под управлением iOS 10.0–11.1.2 (то есть ни разу не обновлявшийся после 2 декабря 2017 года). Далее нам потребуется узнать (у пользователя) или взломать (сторонними решениями — GrayKey или Cellebrite) код блокировки. И вот после этого, разблокировав телефон, можно подключать его к китайскому комплексу и извлекать информацию.

Несмотря на это, новость разошлась по массе изданий. «Специалисты» из SecurityLab, не удосужившись ни поставить ссылку на первоисточник, ни даже указать автора, пишут: «Следственный комитет закупил аппаратуру для получения доступа к переписке». «По словам экспертов, для взлома последних моделей iPhone комплексу MagiCube требуется порядка десяти минут».

Что же, в конце концов, происходит? Можно ли взломать iPhone 7 или 8 за девять минут? Действительно ли решение iDC-4501 (а вовсе не MagiCube, который является всего лишь дубликатором жестких дисков) превосходит технологии Cellebrite и Grayshift? Наконец, как же все-таки можно взломать iPhone? Попробуем разобраться, что же именно закупил Следственный комитет, как и когда это работает и что делать в тех 99% случаев, когда комплекс не справляется с задачей.

 

Это зависит…

Прежде чем пытаться получить доступ к iPhone, давай разберемся, что и при каких условиях можно сделать. Да, у нас была масса публикаций, в том числе и весьма детальных, в которых мы описывали различные способы взлома устройств. Но вот перед тобой лежит черный кирпичик. Каким из многочисленных способов и какими инструментами ты собираешься воспользоваться? Получится ли это сделать вообще, а если получится — сколько времени займет взлом и на что ты можешь рассчитывать в результате?

Да, очень многое зависит от модели устройства и установленной на нем версии iOS (которую, кстати, нужно еще узнать — и, забегая вперед, скажу: далеко не факт, что тебе это удастся). Но даже iPhone вполне очевидной модели с точно известной версией iOS может находиться в одном из множества состояний, и именно от этого будет зависеть набор доступных тебе методов и инструментов.

Для начала давай договоримся: мы будем рассматривать исключительно поколения iPhone, оборудованные 64-разрядными процессорами, то есть модели iPhone 5S, все версии iPhone 6/6s/7/8/Plus и текущий флагман — iPhone X. С точки зрения взлома эти устройства отличаются мало (за исключением старых поколений в случае, если у тебя есть доступ к услугам компании Cellebrite).

 

Установлен ли код блокировки?

Apple может использовать максимально стойкое шифрование, наворотить сложнейшую многоуровневую защиту, но защитить пользователей, которым «нечего скрывать», не сумеет никто. Если на iPhone не установлен код блокировки, извлечь из него данные — дело тривиальное. Начать можно за те самые девять минут, о которых говорилось в статье Би-би-си. Вероятно, процесс займет более длительное время: на копирование 100 Гбайт данных уходит порядка двух часов. Что для этого требуется?

Во-первых, подключи телефон к компьютеру, установи доверенные отношения и создай резервную копию. Для этого можно использовать даже iTunes (предварительно обязательно отключи в нем двустороннюю синхронизацию), но специалисты предпочтут свое ПО.

 

Установлен ли пароль на резервную копию?

Не установлен? Установи и сделай еще одну резервную копию!


Зачем устанавливать пароль на бэкап? Дело в том, что заметная часть информации в резервных копиях iOS шифруется даже тогда, когда пользователь такого пароля не устанавливал. В таких случаях для шифрования используется уникальный для каждого устройства ключ. Лучше установить на бэкап любой известный тебе пароль; тогда резервная копия, включая «секретные» данные, будет зашифрована этим же паролем. Из интересного — ты получишь доступ к защищенному хранилищу keychain, то есть ко всем паролям пользователя, сохраненным в браузере Safari и многих встроенных и сторонних приложениях.

А что, если пароль на резервную копию установлен и ты его не знаешь? Маловероятно для людей, которым нечего скрывать, но все же? Для устройств, работающих на старых версиях iOS (8.x–10.x), единственный вариант — перебор. И если для iOS 8–10.1 скорость атаки была приемлемой (сотни тысяч паролей в секунду на GPU), то начиная с iOS 10.2 лобовая атака не вариант: скорость перебора не превышает сотни паролей в секунду даже при использовании мощного графического ускорителя. Впрочем, можно попробовать извлечь пароли, которые пользователь сохранил, например, в браузере Chrome на персональном компьютере, составить из них словарик и использовать его в качестве базового словаря для атаки. (Не поверишь: такая простая тактика срабатывает примерно в двух случаях из трех.)

А вот устройства на iOS 11 и 12 позволяют запросто сбросить пароль на резервную копию прямо из настроек iPhone. При этом сбросятся некоторые настройки, такие как яркость экрана и пароли Wi-Fi, но все приложения и их данные, а также пароли пользователя в keychain останутся на месте. Если есть код блокировки, его потребуется ввести, но если он не установлен, то сброс пароля на бэкап — дело нескольких кликов.

Для сброса пароля на резервную копию используй команду Reset All Settings. Она сбросит лишь некоторые настройки, включая пароль на бэкап, но не затронет данные
Для сброса пароля на резервную копию используй команду Reset All Settings. Она сбросит лишь некоторые настройки, включая пароль на бэкап, но не затронет данные

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

  • полную информацию об устройстве;
  • информацию о пользователе, учетных записях Apple, номере телефона (даже если SIM-карту извлекли);
  • список установленных приложений;
  • медиафайлы: фото и видео;
  • файлы приложений (например, документы iBooks);
  • системные журналы crash logs (в них, в частности, можно обнаружить информацию о приложениях, которые были впоследствии деинсталлированы из системы);
  • уже упомянутую резервную копию в формате iTunes, в которую попадут данные многих (не всех) приложений и пароли пользователя от социальных сетей, сайтов, маркеры аутентификации и многое другое.
Примерно так выглядит интерфейс приложения, которое извлекает информацию из iPhone
Примерно так выглядит интерфейс приложения, которое извлекает информацию из iPhone
 

Джейлбрейк и физическое извлечение данных

Если тебе не хватило информации, извлеченной из бэкапа, или если не удалось подобрать пароль к зашифрованной резервной копии, остается только джейл. Сейчас jailbreak существует для всех версий iOS 8.x, 9.x, 10.0–11.2.1 (более ранние не рассматриваем). Для iOS 11.3.x есть джейл Electra, который работает и на более ранних версиях iOS 11.

Для установки джейлбрейка нужно воспользоваться одной из публично доступных утилит (Meridian, Electra и так далее) и инструментом Cydia Impactor. Существуют альтернативные способы взлома — например, эскалация привилегий без установки публичного джейлбрейка при помощи эксплуатации известной уязвимости (напомню, для iOS 10–11.2.1 это одна и та же уязвимость, информацию о которой, включая готовый исходный код, опубликовали специалисты Google). Объединяет все эти способы общий момент: для их использования необходимо, чтобы iPhone был разблокирован и связан с компьютером (установлены доверенные отношения).

Следующий шаг — извлечение образа файловой системы. Для этого в лучшем случае достаточно открыть с телефоном сессию по протоколу SSH и выполнить на iPhone цепочку команд; в более сложных случаях потребуется вручную прописать нужные пути в PATH либо воспользоваться готовым продуктом. Результатом будет файл TAR, переданный через туннельное соединение.

Если на смартфоне установлена iOS 11.3.x, ставить джейлбрейк придется вручную, а для извлечения информации воспользоваться утилитой iOS Forensic Toolkit или другой подобной.

Если же на iPhone работает iOS 11.4 или более свежая версия, то джейл придется отложить на неопределенное время — пока сообщество разработчиков не нащупает очередную незакрытую уязвимость. В этом случае тебе послужит резервная копия (а также извлечение общих файлов приложений, фотографий и медиафайлов и некоторых системных журналов).

Разумеется, в резервную копию попадает не все. К примеру, в ней не сохраняется переписка в Telegram, в нее не попадают сообщения электронной почты, а история данных местоположения пользователя исключительно лаконична. Тем не менее резервная копия — это уже немало.

А что, если пользователь не совсем беспечен и все-таки установил код блокировки?


Даже самые беспечные пользователи вынуждены использовать пасскод, если таково требование политики безопасности их работодателя или если они хотят использовать Apple Pay. И здесь два варианта: или код блокировки известен, или нет. Начнем с простого.

 

Известен ли код блокировки?

Если ты знаешь код блокировки, то можешь сделать с устройством практически что угодно. Включить и разблокировать — в любой момент. Поменять пароль от Apple ID, сбросить привязку к iCloud и отключить iCloud lock, включить или выключить двухфакторную аутентификацию, сохранить пароли из локального keychain в облако и извлечь их оттуда. Для устройств с iOS 11 и более новых — сбросить пароль на резервную копию, установить собственный и расшифровать все те же пароли от сайтов, разнообразных учетных записей и приложений.

В iOS 11 и более новых код блокировки, если он установлен, потребуется и для установки доверенных отношений с компьютером. Это необходимо как для снятия резервной копии (здесь могут быть и другие варианты — например, через файл lockdown), так и для установки джейлбрейка.

Для установки доверия между iPhone и компьютером в iOS 11 и более новых требуется ввести код блокировки
Для установки доверия между iPhone и компьютером в iOS 11 и более новых требуется ввести код блокировки

Сможешь ли ты установить джейлбрейк и вытащить те немногие, но потенциально ценные для расследования данные, которые не попадают в резервную копию? Это зависит от версии iOS:

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

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

Вариант 2. Открой один материал

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


  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    9 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии