Извлечение ключей устройств Qualcomm для атаки на зашифрованные разделы в Android
Для защищённой обработки ключей шифрования в процессорах Qualcomm применяется технология TrustZone с аппаратно изолированным окружением QSEE (Qualcomm Secure Execution Environment), в котором на отдельном процессоре могут выполняться специальные защищённые обработчики (Trustlets), включая обработчик ключей шифрования - KeyMaster. Несколько месяцев назад в реализации TrustZone было найдено несколько уязвимостей, позволяющих выполнить свой код в окружении TrustZone.
Дальнейшее изучение работы TrustZone показало, что работа с ключами организована небезопасно и вместо полной аппаратной изоляции доступа к ключам, обработчик KeyMaster извлекает ключи из SHK и использует их внутри TrustZone. Воспользовавшись ранее выявленными уязвимостями (CVE-2015-6639, CVE-2016-2431) исследователю удалось извлечь ключи устройства, находящиеся в окружении TrustZone, что существенно упростило проведение атаки по раскрытию информации в зашифрованных разделах.
Ключ устройства используется для привязки операций шифрования к конкретному устройству, не давая организовать расшифровку скопированного раздела на внешних системах и принуждая к использованию собственных обработчиков, применяющих ограничения на применение пароля пользователя (число попыток, задержки между попытками). Неизвестным компонентом остаётся пароль, заданный пользователем для доступа к шифрованному разделу. При наличии ключей устройства для расшифровки становится применим автоматизированный метод подбора пароля пользователя, выполняемый вне смартфона. От атаки может защитить использование надёжного пароля, но на смартфонах применение таких паролей затруднительно, так как мало кто решается вводить длинный и состоящий из разных типов символов пароль при каждой разблокировке экрана.
Интересно, что простое устранение уязвимости не решает проблемы, так как атакующий может скопировать образ зашифрованных данных с flash-накопителя, после чего установить на смартфон старую уязвимую версию прошивки и извлечь из TrustZone ключ устройства. После этого атакующий может на внешней системе провести ничем не ограниченную brute-force атаку по подбору пароля. Ключ устройства остаётся неизменен, хранится в закрытом от изменений SHK и не зависит от смены прошивки. Подобный метод также может быть применим спецслужбами, которые могут потребовать у Qualcomm сформировать подписанный код для TrustZone, копирующий ключ на внешний носитель.
Источник: http://www.opennet.ru/opennews/art.shtml?num=44718
|
0 | Tweet | Нравится |
|