В этом выпуске мы продолжим разговор об извлечении информации из резервных копий мобильных устройств. Тема сегодняшней статьи — устройства канадской компании BlackBerry под управлением ОС BlackBerry 10. Мы успели убедиться, что у Apple с безопасностью все хорошо, а в мире Android царят традиционные разброд и шатание, но есть облачные бэкапы. А как обстоит дело у BlackBerry 10?

 

Введение

Итак, BlackBerry 10. Система, которую компания-разработчик позиционирует (или, вернее сказать, позиционировала) как самую безопасную в мире. Открытый исходный код, множество моделей и разнообразие аппаратных платформ — это не про BlackBerry. Парк устройств ограничен десятком моделей, а в качестве аппаратной платформы неизменно используются вариации Qualcomm Snapdragon S4 (в BlackBerry Passport — Snapdragon 801).

Создание и восстановление резервных копий — штатная функция в BlackBerry 10. Для выполнения бэкапа можно использовать как фирменное приложение BlackBerry Link, так и одно из сторонних решений — к примеру, универсальный инструмент Sachesi.

Sachesi: инструмент для прошивки и бэкапа смартфонов BlackBerry
Sachesi: инструмент для прошивки и бэкапа смартфонов BlackBerry

Если создать резервную копию данных можно с помощью сторонней утилиты, как это сочетается с декларированной безопасностью? Как ни странно, сочетается вполне неплохо. Во-первых, для подключения BlackBerry Link или Sachesi необходимо разблокировать устройство вводом корректного PIN или пасскода (в противном случае соединение не состоится). А вот во-вторых гораздо интереснее. Резервная копия создается внутри телефона и сразу шифруется. Наружу в открытом виде не поступает ничего: весь поток данных идет в зашифрованном виде, а BlackBerry Link или Sachesi просто сохраняют его в файл.

Похоже на iOS? Не совсем. В Купертино локальные резервные копии можно шифровать, указав любой пароль, а можно не шифровать совсем (в этом случае, напомним, данные из keychain будут все равно зашифрованы, но уже аппаратным ключом, что позволяет восстанавливать keychain исключительно на то же устройство, с которого была снята резервная копия). Канадцы пошли другим путем. Они вообще запретили не шифровать данные. При этом бэкапы, созданные на одном устройстве, спокойно восстанавливаются на любом другом смартфоне под управлением BlackBerry 10, зарегистрированном на того же пользователя. Как так? Посмотрим внимательно на шифрование в BlackBerry 10.

 

Шифрование

Ключ шифрования резервных копий на устройствах BlackBerry привязан не к железу и не к паролю пользователя, а к учетной записи BlackBerry ID. При создании учетной записи (к которой привязываются покупки в магазине BlackBerry и сервис BlackBerry Protect) создается и некий секретный ключ, который сохраняется как на серверах BlackBerry, так и в самом устройстве. В аппарате этот ключ хранится очень глубоко, из пользовательского режима его никак не вытащить (впрочем, не вытащить его даже методом физического извлечения чипа eMMC — по крайней мере, если активировано шифрование данных).

Когда BlackBerry Link запрашивает бэкап у устройства, системный сервис отдает уже зашифрованные данные, используя для шифрования этот же ключ. Точно так же данные можно восстановить на новое устройство — но только после того, как аппарат будет привязан к той же учетной записи BlackBerry ID, с которой была сделана резервная копия.

Историческая справка

Шифрование в смартфонах BlackBerry было всегда, но не всегда оно работало именно так. В предыдущем поколении BlackBerry OS (до версии 7 включительно) резервные копии, создаваемые в приложении BlackBerry Desktop, можно было шифровать пользовательским паролем или не шифровать вообще. При этом в саму резервную копию попадало гораздо меньше информации, чем сохраняется в BlackBerry 10. Путаница? Нет: BlackBerry OS и BlackBerry 10 — две совершенно разные ОС. На сегодняшний день BlackBerry OS представляет исключительно исторический интерес.

 

Взлом

Очевидно, для взлома резервной копии BlackBerry 10 необходимо добыть ключ шифрования, который хранится на сервере BlackBerry и где-то в глубинах устройства. Из устройства извлечь нельзя, канадцы постарались. Сервер же отдает ключ шифрования наружу только в случае инициализации нового устройства. Так что единственный способ — это прикинуться телефоном BlackBerry, соединиться с сервером и получить требуемый ключ.

В лаборатории «Элкомсофт» мы провели такую атаку. Подсмотрев адреса для запросов и представившись новеньким смартфоном, мы успешно соединились с сервером BlackBerry, отдали ему данные учетной записи BlackBerry ID, включая пароль, и получили вожделенный ключ! И уже с его помощью — доступ к содержимому зашифрованной резервной копии.

 

Как мы это сделали

Как мы уже установили, резервная копия данных создается внутри устройства. Шифрование данных реализовано алгоритмом AES-256, а верификация — через HMAC-SHA-1. Ключ шифрования система получает из файла /accounts//sys/bbid/keyCache. Если файл не найден, посылается запрос к BB Olympia Service (blackberryid.blackberry.com).

Если используется BlackBerry Link, резервная копия будет сохранена в формате BlackBerryBackupFormatV2.0.0 в виде зашифрованного файла BBB-QNX. Фактически это самый обычный ZIP, внутри которого содержится файл manifest.xml и большое количество зашифрованных двоичных файлов (забегая вперед — это зашифрованные архивы tar).

Содержимое бэкапа
Содержимое бэкапа

Как расшифровать этот бэкап? Для начала извлекаем BlackBerry ID из manifest.xml (для этого читаем параметр keyed любого тега). Как правило, BlackBerry ID совпадает с адресом электронной почты пользователя.

Далее нужно зарегистрировать новое поддельное устройство. Для этого нам потребуется установить соединение с сервером BlackBerry. Адрес сервера: blackberryid.blackberry.com. Параметры запроса: bbid (Blackberry ID), password (пароль), pin (серийный номер устройства), salt (энтропия клиента). Ответ:

Расшифровка ответа (опуская очевидные поля):

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

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

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

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

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


1 комментарий

  1. Lepsik

    27.07.2016 at 22:10

    —Как взламывают BlackBerry.

    Офигеть, заходим в Блакбери имея пароль. Оказывается я уже 11 лет ежедневно ломаю свой блакбери вводя в него свой пароль.

    Афтар научился писать желтушные заголовки.

    —Путаница? Нет: BlackBerry OS и BlackBerry 10 — две совершенно разные ОС.

    От жешь капитан очевидность. А то мы не знали что BBОS и QNX это разные ОС.

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

Check Also

Признаки «Оперы». Йон фон Течнер об идеологии браузера Vivaldi

«Хакер» побеседовал с сооснователем фирмы Opera и основателем Vivaldi Йоном фон Течнером, …