Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π² Ρ‡ΠΈΠΏΠ°Ρ… Qualcomm, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡ΠΈ ΠΈΠ· Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° TrustZone

Π˜ΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΈΠ· ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ NCC Group раскрыли Π΄Π΅Ρ‚Π°Π»ΠΈ уязвимости (CVE-2018-11976) Π² Ρ‡ΠΈΠΏΠ°Ρ… Qualcomm, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅ΠΉ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ содСрТимоС Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ, Ρ€Π°Π·ΠΌΠ΅Ρ‰Ρ‘Π½Π½Ρ‹Ρ… Π² ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ Π°Π½ΠΊΠ»Π°Π²Π΅ Qualcomm QSEE (Qualcomm Secure Execution Environment), основанном Π½Π° Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ARM TrustZone. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° проявляСтся Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ SoC Snapdragon, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠΈΡ… распространСниС Π² смартфонах Π½Π° Π±Π°Π·Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Android. Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡ, ΡƒΡΡ‚Ρ€Π°Π½ΡΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, ΡƒΠΆΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π² Π°ΠΏΡ€Π΅Π»ΡŒΡΠΊΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Android ΠΈ Π² Π½ΠΎΠ²Ρ‹Π΅ выпуски ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΎΠΊ для Ρ‡ΠΈΠΏΠΎΠ² Qualcomm. На ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΡƒ исправлСния ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Qualcomm ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎΡΡŒ большС Π³ΠΎΠ΄Π° — ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ свСдСния ΠΎΠ± уязвимости Π±Ρ‹Π»ΠΈ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Ρ‹ Π² Qualcomm Π΅Ρ‰Ρ‘ 19 ΠΌΠ°Ρ€Ρ‚Π° 2018 Π³ΠΎΠ΄Π°.

Напомним, Ρ‡Ρ‚ΠΎ тСхнология ARM TrustZone позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π·Π°Ρ‰ΠΈΡ‰Ρ‘Π½Π½Ρ‹Π΅ окруТСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‚Π΄Π΅Π»Π΅Π½Ρ‹ ΠΎΡ‚ основной систСмы ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌ процСссорС c использованиСм ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ спСциализированной ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ TrustZone являСтся обСспСчСниС ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ выполнСния ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ, биомСтричСской Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ, ΠΏΠ»Π°Ρ‚Ρ‘ΠΆΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. ВзаимодСйствиС с основной ОБ осущСствляСтся косвСнно Ρ‡Π΅Ρ€Π΅Π· интСрфСйс диспСтчСризации. Π—Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡ΠΈ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ Π½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰Π΅ΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ позволяСт ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΈΡ… ΡƒΡ‚Π΅Ρ‡ΠΊΡƒ Π² случаС ΠΊΠΎΠΌΠΏΡ€ΠΎΠΌΠ΅Ρ‚Π°Ρ†ΠΈΠΈ основной систСмы.

Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ связана с Π½Π΅Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ эллиптичСских ΠΊΡ€ΠΈΠ²Ρ‹Ρ…, ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠ²ΡˆΠ΅ΠΉ ΠΊ ΡƒΡ‚Π΅Ρ‡ΠΊΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Ρ…ΠΎΠ΄Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Π˜ΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ Ρ‚Π΅Ρ…Π½ΠΈΠΊΡƒ Π°Ρ‚Π°ΠΊΠΈ ΠΏΠΎ сторонним ΠΊΠ°Π½Π°Π»Π°ΠΌ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΡƒΡŽ ΠΏΠΎ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΌΡΡ косвСнным ΡƒΡ‚Π΅Ρ‡ΠΊΠ°ΠΌ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ содСрТимоС Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, Ρ€Π°Π·ΠΌΠ΅Ρ‰Ρ‘Π½Π½Ρ‹Ρ… Π² Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ Android Keystore. Π£Ρ‚Π΅Ρ‡ΠΊΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° основС Π°Π½Π°Π»ΠΈΠ·Π° активности Π±Π»ΠΎΠΊΠ° прСдсказания ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ² ΠΈ измСнСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ доступа ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ Π² памяти. Π’ Ρ…ΠΎΠ΄Π΅ экспСримСнта исслСдоватСли ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ продСмонстрировали восстановлСниС 224- ΠΈ 256-разрядных ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ECDSA ΠΈΠ· Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, примСняСмого Π² смартфонС Nexus 5X. Для восстановлСния ΠΊΠ»ΡŽΡ‡Π° ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»Π°ΡΡŒ гСнСрация ΠΎΠΊΠΎΠ»ΠΎ 12 тысяч Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… подписСй, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΡƒΡˆΠ»ΠΎ Π±ΠΎΠ»Π΅Π΅ 14 часов. Для провСдСния Π°Ρ‚Π°ΠΊΠΈ использовался инструмСнтарий Cachegrab.

Основной ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ возникновСния ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ являСтся совмСстноС использованиС ΠΎΠ±Ρ‰ΠΈΡ… Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΈ кэша для вычислСний Π² TrustZone ΠΈ Π² основной систСмС — изоляция Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ логичСского раздСлСния, Π½ΠΎ с использованиСм ΠΎΠ±Ρ‰ΠΈΡ… Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π±Π»ΠΎΠΊΠΎΠ² ΠΈ с осСданиСм слСдов вычислСний ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ± адрСсах ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ² Π² ΠΎΠ±Ρ‰Π΅ΠΌ процСссорном кэшС. ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Prime+Probe, основанного Π½Π° ΠΎΡ†Π΅Π½ΠΊΠ΅ измСнСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ доступа ΠΊ ΠΏΡ€ΠΎΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, ΠΌΠΎΠΆΠ½ΠΎ Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ наличия ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Ρ… шаблонов Π² кэшС с достаточно высокой Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠΎΡ‚ΠΎΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΈ выполнСния ΠΊΠΎΠ΄Π°, связанного с вычислСниями Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… подписСй Π² TrustZone.

Π‘ΠΎΠ»ΡŒΡˆΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ формирования Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ подписи с использованиСм ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ECDSA Π² Ρ‡ΠΈΠΏΠ°Ρ… Qualcomm тратится Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ умноТСния Π² Ρ†ΠΈΠΊΠ»Π΅ с использованиСм Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ подписи Π²Π΅ΠΊΡ‚ΠΎΡ€Π° ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ (nonce). Если Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΠΉ смоТСт Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ хотя Π±Ρ‹ нСсколько Π±ΠΈΡ‚ΠΎΠ² с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ Π΄Π°Π½Π½ΠΎΠΌ Π²Π΅ΠΊΡ‚ΠΎΡ€Π΅, появляСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π°Ρ‚Π°ΠΊΠΈ ΠΏΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡŽ всСго Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π°.

Π’ случаС с Qualcomm выявлСно Π΄Π²Π° мСста ΡƒΡ‚Π΅Ρ‡ΠΊΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ΅ умноТСния: ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ поиска Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ… ΠΈ Π² ΠΊΠΎΠ΄Π΅ условного извлСчСния Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° основС значСния послСднСго Π±ΠΈΡ‚Π° Π² Π²Π΅ΠΊΡ‚ΠΎΡ€Π΅ «nonce». НСсмотря Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π² ΠΊΠΎΠ΄Π΅ Qualcomm ΠΌΠ΅Ρ€ ΠΏΠΎ ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΈΡŽ ΡƒΡ‚Π΅Ρ‡ΠΊΠ°ΠΌ свСдСний ΠΏΠΎ сторонним ΠΊΠ°Π½Π°Π»Π°ΠΌ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π°Ρ‚Π°ΠΊΠΈ позволяСт ΠΎΠ±ΠΎΠΉΡ‚ΠΈ эти ΠΌΠ΅Ρ€Ρ‹ ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ нСсколько Π±ΠΈΡ‚ΠΎΠ² значСния «nonce», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… достаточно для восстановлСния 256-разрядных ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ECDSA.

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