Уязвимость аппаратного шифрования в 100 млн смартфонов Samsung Galaxy

Группа исследователей из Тель-Авивского университета раскрыла подробности серьёзных ошибок проектирования, затронувших около 100 миллионов смартфонов Samsung на базе Android. При определённых условиях эти изъяны позволяли извлечь секретные криптографические ключи, которые должны надёжно храниться внутри устройства. К моменту публикации проблемы уже были закрыты обновлениями.

Выводы стали результатом анализа криптографической архитектуры и реализации аппаратного хранилища ключей Android (hardware-backed Keystore) во флагманских моделях Samsung Galaxy S8, S9, S10, S20 и S21. Исследование провели Алон Шакевски, Эяль Ронен и Авишай Вул.

Как устроена защита ключей

Доверенная среда исполнения (Trusted Execution Environment, TEE) — это изолированная защищённая зона, в которой выполняются доверенные приложения (Trusted Applications, TA). Именно там проходят критичные для безопасности операции, чтобы гарантировать конфиденциальность и целостность данных.

В Android аппаратное хранилище Keystore создаёт и хранит криптографические ключи внутри TEE. Это затрудняет их извлечение и не даёт основной операционной системе получить к ним прямой доступ. Вместо этого Android Keystore предоставляет API через доверенное приложение Keymaster TA, которое выполняет операции внутри защищённой среды: генерацию и хранение ключей, а также их использование для цифровой подписи и шифрования. На мобильных устройствах Samsung приложение Keymaster TA работает в среде TEE на базе ARM TrustZone.

В чём заключалась проблема

Изъяны в реализации Samsung открывали злоумышленнику с правами root рабочий путь для восстановления аппаратно защищённых закрытых ключей из защищённого элемента. Исследователи выделили две уязвимости.

  • CVE-2021-25444 — повторное использование вектора инициализации (Initialization Vector, IV) в Keymaster TA. В версиях до релиза SMR AUG-2021 Release 1 эта ошибка позволяла привилегированному процессу расшифровать пользовательский keyblob. Затрагивает Galaxy S9, J3 Top, J7 Top, J7 Duo, Tab S4, Tab A/S Lite, A6 Plus и A9S.
  • CVE-2021-25490 — атака понижения версии keyblob в Keymaster TA. В версиях до релиза SMR Oct-2021 Release 1 она позволяла атакующему с привилегированным процессом спровоцировать повторное использование IV. Затрагивает Galaxy S10, S20 и S21.

Проще говоря, успешная эксплуатация ошибок в Keymaster TA давала несанкционированный доступ к аппаратно защищённым ключам и данным, которые оберегает TEE. Последствия такой атаки варьируются от обхода аутентификации до продвинутых сценариев, способных подорвать фундаментальные гарантии безопасности криптографических систем.

Реакция и выводы

После ответственного раскрытия в мае и июле 2021 года проблемы были устранены в обновлениях безопасности, выпущенных в августе и октябре 2021 года для затронутых устройств. Результаты исследования планировалось представить на симпозиуме USENIX Security Symposium в августе.

«Такие вендоры, как Samsung и Qualcomm, держат в секрете реализацию и архитектуру своих операционных систем на базе TrustZone и доверенных приложений, — отметили исследователи. — Детали проектирования и реализации должны тщательно проверяться и рецензироваться независимыми специалистами, а безопасность не может опираться на сложность обратной разработки проприетарных систем».

Источник: The Hacker News.