Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ 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 тысяч ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΏΠΎ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ подписи.

Π˜ΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ Ρ‚Π°ΠΊΠΆΠ΅ продСмонстрирована Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠΉ Π°Ρ‚Π°ΠΊΠΈ Π² высокоскоростных сСтя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-ΠΊΠ»ΡŽΡ‡ΠΈ ΠΈΠ· Π°Π½ΠΊΠ»Π°Π²Π° ΠΈΠ»ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ своСго ΠΊΠΎΠ΄Π° Ρ‡Π΅Ρ€Π΅Π· созданиС условий для поврСТдСния содСрТимого памяти.

Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ TPM-Fail, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΊΠ»ΡŽΡ‡ΠΈ, Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Π΅ Π² TPM-модулях

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ