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

Група изследователи от Уорчестърския политехнически институт, Университета в Любек и Калифорнийския университет в Сан Диего разработиха метод за атака чрез странични канали, който позволява възстановяване на стойността на закритите ключове, съхранявани в 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 хиляди операции за генериране на цифрови подписи.

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

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

Уязвимостта е отстранена Компания STMicroelectronics представила новую версию чипов, в которой реализация алгоритма ECDSA была избавлена от временных корреляций в выполнении операций. Интересно, что уязвимые чипы STMicroelectronics используются также в оборудовании, соответствующем уровню безопасности Common Criteria (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 для разработки приложений, взаимодействующих с кодом, выполняемым в изолированных анклавов. С целью выявления уязвимых функций, которые могут использоваться в атаках, были изучены восемь SDK: Intel SGX-SDK, SGX-LKL, Microsoft OpenEnclave, Graphene,
Rust-EDP и Google Asylo для Intel SGX, Keystone для RISC-V и Sancus для Sancus TEE. В ходе аудита было выявлено 35 уязвимостей, на основе которых разработано несколько сценариев атак, позволяющих извлечь AES-ключи из анклава или организовать выполнение своего кода через создание условий для повреждения содержимого памяти.

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

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster