События

Как взламывают BlackBerry. Разбираем бэкапы «самой безопасной ОС в мире» BlackBerry 10

Как взламывают BlackBerry. Разбираем бэкапы «самой безопасной ОС в мире» BlackBerry 10

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

Введение

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

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

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

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

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

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

Шифрование

Ключ шифрования резервных копий на устройствах BlackBerry привязан не к железу и не к пaролю пользователя, а к учетной записи 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 год

2700 Р

Экономия 1400 рублей!

1 месяц

400 Р

Уже подписан?

Автор: Сергей Куприянов
27.07.2016 (09:30)
Пройди тест и узнай об этом!
Информер новостей
Расширение для Google Chrome
Пишите нам

Редакция: info@alterprogs.ru

Реклама: adv@alterprogs.ru

Все права защищены © 2010-2019

"Alterprogs.ru" - технологии будущего

Контакты  | Карта сайта

Использование любых материалов, размещенных на сайте, разрешается при условии ссылки на alterprogs.ru. Для интернет-изданий - обязательна прямая открытая для поисковых систем гиперссылка. Ссылка должна быть размещена в независимости от полного либо частичного использования материалов. Материалы в рубрике "Новости партнеров" публикуются на правах рекламы.