Уязвимость TPM-Fail, позволяющая восстановить ключи, хранимые в TPM-модулях

Материал из Викиновостей, свободного источника новостей

14 ноября 2019 года

Группа исследователей из Вустерского политехнического института, Любекского университета и Калифорнийского университета в Сан-Диего разработала метод атаки по сторонним каналам, позволяющий восстановить значение закрытых ключей, хранимых в TPM (Trusted Platform Module). Атака получила кодовое имя TPM-Fail и затрагивает fTPM ( программная реализация на базе прошивки, работающая на отдельном микропроцессоре внутри CPU) от компании Intel (CVE-2019-11090) и аппаратные TPM на чипах STMicroelectronics ST33 (CVE-2019-16863).

Исследователи опубликовали прототип инструментария для совершения атаки и продемонстрировали возможность восстановления 256-разрядного закрытого ключа, применяемого для формирования цифровых подписей с использованием алгоритмов на базе эллиптических кривых ECDSA и EC-Schnorr. В зависимости от прав доступа общее время атаки на системы Intel fTPM составляет 4-20 минут и требует анализа 1-15 тысяч операций. Для атаки на системы с чипом ST33 требуется около 80 минут и анализа около 40 тысяч операций по генерации цифровой подписи.

Исследователями также продемонстрирована возможность совершения удалённой атаки в высокоскоростных сетяx, позволившая в локальной сети с пропускной способностью 1GB в лабораторных условиях за пять часов восстановить закрытый ключ, после измерения времени ответа для 45 тысяч сеансов аутентификации с VPN-сервером на базе ПО strongSwan, хранящем свои ключи в подверженном уязвимости TPM.

Метод атаки базируется на анализе различий во времени выполнения операций в процессе генерации цифровой подписи. Оценка задержки при выполнении вычислений позволяет определить информацию об отдельных битах во время выполнения умножения на скаляр при операциях с эллиптической кривой. Для ECDSA определения даже нескольких битов с информацией о векторе инициализации (nonce) достаточно для совершения атаки по последовательному восстановлению всего закрытого ключа. Для успешного совершения атаки требуется анализ времени генерации нескольких тысяч цифровых подписей, созданных над известными атакующему данными.

Уязвимость устранена компанией STMicroelectronics в новой редакции чипов, в которых реализация алгоритма ECDSA была избавлена от корреляций со временем выполнения операций. Интересно, что подверженные проблеме чипы STMicroelectronics в том числе используются в оборудовании, соответствующем уровню безопасности CommonCriteria (CC) EAL 4+. Исследователями также были проверены TPM-чипы компаний Infineon и Nuvoton, но в них утечка на основе изменения времени вычислений отсутствует.

В процессорах Intel проблема проявляется начиная с выпускаемого с 2013 года семейства Haswell. Отмечается, что проблеме подвержен широкий спектр ноутбуков, ПК и серверов, выпускаемых различными производителями, включая Dell, Lenovo и HP.

Компания Intel включила исправление в ноябрьское обновление прошивок, в котором помимо рассматриваемой проблемы устранено ещё 24 уязвимости, из которых девяти присвоен высокий уровень опасности, а одной критический. По указанным проблемам приводится лишь общая информация, например, упомянуто, что критическая уязвимость (CVE-2019-0169) обусловлена возможностью вызвать переполнение кучи на стороне окружений Intel CSME (Converged Security and Management Engine) и Intel TXE (Trusted Execution Engine), что позволяет злоумышленнику повысить свои привилегии и получить доступ к конфиденциальным данным.

Также можно отметить раскрытие результатов аудита различных SDK для разработки приложений, взаимодействующих с кодом, выполняемым на стороне изолированных анклавов. C целью выявления проблемных функций, которые могут применяться для совершения атак, были изучены восемь SDK: Intel SGX-SDK, SGX-LKL, Microsoft OpenEnclave, Graphene, Rust-EDP и Google Asylo для Intel SGX, Keystone для RISC-V и Sancus для Sancus TEE. В ходе аудита было выявлено 35 уязвимостей, на базе которых разработано несколько сценариев атак, позволяющих извлечь AES-ключи из анклава или организовать выполнение своего кода через создание условий для повреждения содержимого памяти.

Источники[править]


Creative Commons
Creative Commons
Эта статья содержит материалы из статьи «Уязвимость TPM-Fail, позволяющая восстановить ключи, хранимые в TPM-модулях», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии[править]

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.