Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ GhostWrite, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ ΠΏΠΎΠ»Π½Ρ‹ΠΉ доступ ΠΊ физичСской памяти Π½Π° CPU RISC-V XuanTie

Π˜ΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π¦Π΅Π½Ρ‚Ρ€Π° Π“Π΅Π»ΡŒΠΌΠ³ΠΎΠ»ΡŒΡ†Π° ΠΏΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ бСзопасности (CISPA) ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ исслСдования защищённости процСссоров Π½Π° Π±Π°Π·Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ RISC-V ΠΈ раскрыли свСдСния ΠΎΠ± уязвимости, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠ΅ΠΉ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠ΅ имя GhostWrite. Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°Π΅Ρ‚ RISC-V-процСссоры XuanTie C910, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌΡ‹Π΅ китайской ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ T-Head (ΠΏΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Alibaba) ΠΈ Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ Π² Ρ„ΠΎΡ€ΠΌΠ΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π΄Π°Ρ‘Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰Π΅ΠΌΡƒ, ΠΈΠΌΠ΅ΡŽΡ‰Π΅ΠΌΡƒ Π½Π΅ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΉ доступ ΠΊ систСмС, Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ чтСния ΠΈ записи Π² Π»ΡŽΠ±Ρ‹Π΅ области физичСской памяти, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΉΠ½Ρ‹ΠΌΠΈ устройствами, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ сСтСвыС ΠΊΠ°Ρ€Ρ‚Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΌΠΈ MMIO (Memory-Mapped Input/Output).

Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π²Ρ‹Π·Π²Π°Π½Π° Π½Π΅Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠ°ΠΌΠΈ Π² Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ процСссора, связанными с изоляциСй Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΌ процСссорных инструкций, Ρ€Π°ΡΡˆΠΈΡ€ΡΡŽΡ‰ΠΈΡ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ Π½Π°Π±ΠΎΡ€Π° ΠΊΠΎΠΌΠ°Π½Π΄ RISC-V ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ прямой доступ ΠΊ DRAM, Π² ΠΎΠ±Ρ…ΠΎΠ΄ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ памяти. Π Π°Π±ΠΎΡ‚Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Ρ… инструкций Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ с физичСской ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ вмСсто Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ памяти Π΄Π°Ρ‘Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ ΠΈΠ·ΠΎΠ»ΡΡ†ΠΈΡŽ памяти ΠΌΠ΅ΠΆΠ΄Ρƒ процСссами.

ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Π°Ρ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° провСдСния Π°Ρ‚Π°ΠΊΠΈ Π½Π° 100% воспроизводима ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ выполнСния своСго ΠΊΠΎΠ΄Π° Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ всСго Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… микросСкунд. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ изоляции, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ ΠΈ sandbox-окруТСния, Π½Π΅ ΠΌΠ΅ΡˆΠ°ΡŽΡ‚ эксплуатации уязвимости. Для блокирования уязвимости ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π²Π΅ΠΊΡ‚ΠΎΡ€Π½Ρ‹Ρ… Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ сниТСнию ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π² тСстах rvv-bench Π½Π° 33% (Π² Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ ΠΊ ΠΎΡ‚Ρ‡Ρ‘Ρ‚Ρƒ ΡƒΠΊΠ°Π·Π°Π½ΠΎ 77%, Π° Π½Π° сводной страницС — 33%, ΠΏΡ€ΠΈ этом Π² дСталях упоминаСтся сниТСниС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ memcpy Π½Π° 33%, Π° memset Π½Π° 8%), Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π² Π΄Π²Π° Ρ€Π°Π·Π° сокращаСт доступный для ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π°Π±ΠΎΡ€ процСссорных инструкций.

CPU XuanTie C910 ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠ΄Π½ΠΈΠΌΠΈ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ‡ΠΈΠΏΠΎΠ² RISC-V, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ…ΡΡ Π½Π° Ρ€Ρ‹Π½ΠΊΠ΅ ΠΈ ΡƒΠΆΠ΅ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π² сСрвСрах для ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Ρ… систСм ΠΈ Π½ΠΎΡƒΡ‚Π±ΡƒΠΊΠ°Ρ…. НапримСр, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° проявляСтся Π² сСрвСрах Scaleway Elastic Metal RV1, кластСрах Lichee Cluster 4A, Π½ΠΎΡƒΡ‚Π±ΡƒΠΊΠ΅ Lichee Book 4A, ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ консоли Lichee Console 4A, ΠΏΠΎΡ€Ρ‚Π°Ρ‚ΠΈΠ²Π½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ Lichee Pocket 4A, ΠΎΠ΄Π½ΠΎΠΏΠ»Π°Ρ‚Π½Ρ‹Ρ… ПК Sipeed Lichee Pi 4A, Milk-V Meles ΠΈ BeagleV-Ahead.

Π’ качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° исслСдоватСлями ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½ эксплоит, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ Π½Π΅ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ root-ΠΏΡ€Π°Π²Π° Π² Linux. Эксплоит мСняСт содСрТимоС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ страниц Π² памяти, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ для трансляции Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… адрСсов Π² физичСскиС, для получСния Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… адрСсов, связанных с Π»ΡŽΠ±Ρ‹ΠΌΠΈ физичСскими адрСсами. Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ эксплоита для чтСния содСрТимого памяти ядра ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… процСссов, Ρ‡Ρ‚ΠΎ позволяСт ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ хранящиСся Π² памяти ΠΊΠ»ΡŽΡ‡ΠΈ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΏΠ°Ρ€ΠΎΠ»ΠΈ.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ исслСдоватСлями выявлСны Π΅Ρ‰Ρ‘ Π΄Π²Π΅ ΠΌΠ΅Π½Π΅Π΅ опасныС Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹Π΅ уязвимости — ΠΎΠ΄Π½Π° Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°Π΅Ρ‚ процСссоры T-Head XuanTie C906, Π° другая T-Head XuanTie C908. ОбС уязвимости ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ ΠΎΡ‚ΠΊΠ°Π·Π° Π² обслуТивании ΠΈΠ·-Π·Π° остановки Ρ€Π°Π±ΠΎΡ‚Ρ‹ CPU. Уязвимости ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ для ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ, построСнных Π½Π° Ρ‡ΠΈΠΏΠ°Ρ… T-Head XuanTie, Ρ‚Π°ΠΊ ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ доступа ΠΊ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ ΠΊΠΎΠ΄Π° Π² ΠΎΠ±Π»Π°Ρ‡Π½ΠΎΠΌ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ имССтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, обслуТиваСмых Π½Π° Ρ‚ΠΎΠΌ ΠΆΠ΅ сСрвСрС.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π±Ρ‹Π»ΠΈ выявлСны ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° RISCVuzz, созданного для fuzzing-тСстирования CPU. Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ выявляСт отличия Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Ρ… Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Ρ… инструкций Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… CPU, Π² соотвСтствии с ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΈΠ·-Π·Π° отсутствия Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ рССстра Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ Π½Π°Π±ΠΎΡ€Π° ΠΊΠΎΠΌΠ°Π½Π΄ RISC-V, ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ ΠΊΠΎΠ΄ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ инструкции Π½Π° Ρ‡ΠΈΠΏΠ°Ρ… Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ Ρ€Π°Π·Π½Ρ‹Ρ… дСйствий. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° сводилась ΠΊ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ повСдСния ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ процСссорных инструкций Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… CPU RISC-V ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… уязвимостСй Π² ситуациях, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… наблюдалось расхоТдСниС повСдСния.

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