Неделя Безопасности 2209: Криптография В Смартфонах

На прошлой неделе исследователи из Тель-Авивского университета опубликовали научная работа , в котором сообщалось об обнаружении серьезных недостатков в системе шифрования данных смартфонов Samsung. Уязвимости, которые сейчас исправлены, были обнаружены в доверенном приложении Keymaster.

Неделя безопасности 2209: криптография в смартфонах

В настоящее время компания Samsung обнаружила и исправила две связанные уязвимости.

Первый - CVE-2021-25444 в том же приложении Keymaster. Повторно используя вектор инициализации, потенциальный злоумышленник может «сломать» механизм авторизации, расшифровав секретные ключи.

Вторая уязвимость ( CVE-2021-25490 ) позволяет провести подобную атаку на более современные смартфоны Samsung, в которых используется слегка модифицированный механизм доставки зашифрованных ключей.

Также была продемонстрирована практическая атака: кража приватных ключей для авторизации на сайтах по протоколу FIDO2. Помимо демонстрации уязвимостей, в работе подробно описан механизм Trusted Execution Environment, а точнее, реализация этого принципа компанией Samsung. TEE противостоит REE, Rich Execution Environment или, проще говоря, операционной системе Android. Модель защиты наиболее критичных данных основана на том, что Android нельзя доверять: система может быть взломана злоумышленником или владелец устройства может получить на нем права суперпользователя.

Среда TEE должна быть достаточно безопасной даже в таких условиях.

Соответственно, разные опции TEE отвечают за наиболее критичный функционал: управление ключами шифрования данных, подтверждение платежей, авторизацию в различных сервисах, включая идентификацию пользователей в корпоративных сервисах.

В основе TEE в устройствах на базе ARM-процессоров (то есть в подавляющем большинстве смартфонов) лежит технология ARM Trustzone, которая на аппаратном уровне обеспечивает совместное использование ресурсов для TEE и REE, или, в терминах ARM, для Secure World и Нормальная окружающая среда мира.

Каждый производитель имеет собственное программное обеспечение в «защищенной среде»; по сути, это отдельная операционная система.

Samsung использует как минимум три различных варианта операционных систем TrustZone (TZOS).

Элемент Android Keystore используется для связи между Android и различными реализациями TZOS и предоставляет API для отправки запросов и получения данных из TEE. На стороне TEE Samsung используется Trusted Application Keymaster. Крайне упрощенная система работы Keymaster заключается в получении зашифрованных секретных ключей от приложений Android, расшифровать которые можно только в TEE. Зашифрованные ключи называются капли и шифруются с использованием алгоритма симметричной потоковой передачи AES-GCM. Потоковый шифр по умолчанию требует уникального вектора инициализации — случайного набора данных, используемых в процессе шифрования.

Если вектор инициализации используется повторно, данные можно расшифровать.

Именно это и произошло в защищенной среде телефонов Samsung. Исследователи обнаружили, что они могут установить вектор инициализации непосредственно из приложения Android. Из четырех протестированных смартфонов только самый старый — Samsung Galaxy S8 — не оказался подвержен атаке, так как игнорирует вектор инициализации, передаваемый из приложения.

Смартфоны S9, S10, S20 и S21 затронуты, но со своими нюансами.

Формат тех самых «блобов» (зашифрованных ключей) периодически меняется, и их последняя версия не уязвима.

Но вы можете «откатиться» до более раннего формата «blob» и использовать его.

Также была продемонстрирована практическая атака на механизм авторизации на сайтах с использованием протокола FIDO2. Это зависит от «безопасной среды» смартфона, а модель безопасности протокола предполагает, что частные ключи авторизации не могут быть клонированы.

Используя уязвимость, приватный ключ можно украсть и залогинить на другом устройстве без ведома владельца, как показано на скриншотах ниже.



Неделя безопасности 2209: криптография в смартфонах

По мнению авторов работы, проблема заключается в непрозрачности безопасного программного обеспечения, разработанного такими поставщиками, как Samsung или Qualcomm. Нормой среди академических экспертов по криптографии является независимый аудит открытых алгоритмов шифрования для поиска и устранения уязвимостей.

В этом случае исследователям пришлось заняться обратным проектированием проприетарного программного обеспечения.

К счастью, проблема решилась обновлением программного обеспечения.

Для таких устройств, как Samsung Galaxy S10, S20 и S21, поддержка устаревших больших двоичных объектов отключена.

В моделях S9, J7, A6 Plus и ряде других была заблокирована возможность передачи произвольного вектора инициализации.

Теги: #информационная безопасность #TEE #зона доверия

Вместе с данным постом часто просматривают: