VMScape — Π°Ρ‚Π°ΠΊΠ° Π½Π° CPU AMD ΠΈ Intel, обходящая ΠΈΠ·ΠΎΠ»ΡΡ†ΠΈΡŽ ΠΌΠ΅ΠΆΠ΄Ρƒ Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€ΠΎΠΌ ΠΈ гостСвой систСмой

Π˜ΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΈΠ· ШвСйцарской Π²Ρ‹ΡΡˆΠ΅ΠΉ тСхничСской ΡˆΠΊΠΎΠ»Ρ‹ Π¦ΡŽΡ€ΠΈΡ…Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π°Ρ‚Π°ΠΊΠΈ VMScape, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Π·Π°Ρ‰ΠΈΡ‚Ρƒ ΠΎΡ‚ Π°Ρ‚Π°ΠΊ Spectre-BTI (Branch Target Injection) для Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΡ изоляции ΠΌΠ΅ΠΆΠ΄Ρƒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ машиной ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ Π³ΠΈΠΏΠ΅Π²ΠΈΠ·ΠΎΡ€Π°, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΌΠΈ Π² пространствС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, QEMU-KVM). Атака ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использована для опрСдСлСния содСрТимого памяти ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ манипуляций ΠΈΠ· процСсса Π½Π° сторонС гостСвой систСмы.

Π’ памяти ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€ΠΎΠ², Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… Π² пространствС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒΡΡ Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠ°ΠΊ ΠΊΠ»ΡŽΡ‡ΠΈ доступа ΠΊ Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ дисковым Ρ€Π°Π·Π΄Π΅Π»Π°ΠΌ. Π—Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΠΈ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΊΠ°ΠΊ источник ΡƒΡ‚Π΅Ρ‡ΠΊΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΡΡ‚Π°Π²ΡˆΠΈΡ…ΡΡ Π² памяти Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° активности Π΄Ρ€ΡƒΠ³ΠΈΡ… гостСвых систСм. Π˜ΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ эксплоита, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΈΠ· гостСвой систСмы Π½Π° Π±Π°Π·Π΅ KVM ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΊΠ»ΡŽΡ‡Π°Ρ… ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ· virtio-ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π½Π° Π±Π°Π·Π΅ QEMU, выполняСмого Π½Π° сторонС хост-окруТСния Π² пространствС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΡƒΡ‚Π΅Ρ‡ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· процСсса QEMU Π½Π° систСмС с CPU AMD Zen 4 составила 32 Π±Π°ΠΉΡ‚Π° Π² сСкунду.

 VMScape - Π°Ρ‚Π°ΠΊΠ° Π½Π° CPU AMD ΠΈ Intel, обходящая ΠΈΠ·ΠΎΠ»ΡΡ†ΠΈΡŽ ΠΌΠ΅ΠΆΠ΄Ρƒ Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€ΠΎΠΌ ΠΈ гостСвой систСмой

Π’ Π°Ρ‚Π°ΠΊΠ°Ρ… класса Spectre-BTI (Branch Target Injection) для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΡƒΡ‚Π΅Ρ‡ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ подстановка Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² Π±ΡƒΡ„Π΅Ρ€ адрСса вСтвлСния (BTB, Branch Target Buffer), примСняСмый ΠΏΡ€ΠΈ прСдсказании ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ вСтвлСния. Π’ Ρ…ΠΎΠ΄Π΅ Π°Ρ‚Π°ΠΊΠΈ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ условия Π½Π΅Π²Π΅Ρ€Π½ΠΎΠ³ΠΎ прСдсказания ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΏΡ€ΠΈ спСкулятивном Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ инструкций. Π—Π°Π΄Π°Ρ‡Π° Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰Π΅Π³ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ спСкулятивной ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ вСтвлСния адрСс для ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π±Ρ‹Π» взят ΠΈΠ· ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠΉ области памяти. ПослС выполнСния спСкулятивного ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°, Π² процСссорном кэшС остаётся считанный ΠΈΠ· памяти адрСс ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° (ΠΏΠΎΠ΄ Π²ΠΈΠ΄ΠΎΠΌ адрСса ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰Π΅ΠΌΡƒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· памяти). Для извлСчСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈΠ· кэша ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· способов опрСдСлСния содСрТимого кэша Π½Π° основС Π°Π½Π°Π»ΠΈΠ·Π° измСнСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ доступа ΠΊ ΠΏΡ€ΠΎΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΈ Π½Π΅ ΠΏΡ€ΠΎΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ.

ΠŸΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€Ρ‹ ΠΈ ядра ОБ ΡƒΠΆΠ΅ содСрТат Π·Π°Ρ‰ΠΈΡ‚Ρƒ ΠΎΡ‚ Π°Ρ‚Π°ΠΊ Spectre-BTI, которая Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ ΡƒΡ‚Π΅Ρ‡ΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€ΠΎΠΌ ΠΈ гостСвой систСмой, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ процСссами. Но подобная Π·Π°Ρ‰ΠΈΡ‚Π° Π½Π΅ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Π»Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€ΠΎΠ², Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅ Π² пространствС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, процСсс QEMU), ΠΈ процСссы Π² гостСвой систСмС, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ Π·Π°Ρ‰ΠΈΡ‚Ρ‹. Из-Π·Π° этого записи Π² Π±ΡƒΡ„Π΅Ρ€Π΅ адрСса вСтвлСния (BTB) ΠΏΡ€ΠΈ прСдсказании ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ² смСшивались для процСссов гостСвых систСм ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€Π°, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… Π² пространствС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

 VMScape - Π°Ρ‚Π°ΠΊΠ° Π½Π° CPU AMD ΠΈ Intel, обходящая ΠΈΠ·ΠΎΠ»ΡΡ†ΠΈΡŽ ΠΌΠ΅ΠΆΠ΄Ρƒ Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€ΠΎΠΌ ΠΈ гостСвой систСмой

Для ядра Linux ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Ρ‹ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ выпуски 6.16.7, 6.12.47, 6.6.106, 6.1.152, 5.15.193 ΠΈ 5.10.244, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠ΅ исправлСниС для блокирования Π°Ρ‚Π°ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ ΠΏΡƒΡ‚Ρ‘ΠΌ. Π—Π°Ρ‰ΠΈΡ‚Π° Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Ρ‡Π΅Ρ€Π΅Π· Π²Ρ‹Π·ΠΎΠ² процСссорных инструкций IBPB (Indirect Branch Prediction Barriers) для сброса состояния Π±Π»ΠΎΠΊΠ° прСдсказания ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ² послС ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ исполнСния ΠΎΡ‚ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ ΠΊ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌ Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€Π° Π² пространствС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ осущСствляСтся Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки ядра Β«vmscape={off|ibpb|force}Β» (опция ibpb Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π·Π°Ρ‰ΠΈΡ‚Ρƒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для уязвимых CPU, Π° force β€” для всСх). ΠŸΠΎΠ΄Π²Π΅Ρ€ΠΆΠ΅Π½Π½ΠΎΡΡ‚ΡŒ CPU уязвимости ΠΈ состояниС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· Ρ„Π°ΠΉΠ» Β«/sys/devices/system/cpu/vulnerabilities/vmscapeΒ». ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ Π΄Π²Π° Ρ€Π΅ΠΆΠΈΠΌΠ° Π·Π°Ρ‰ΠΈΡ‚Ρ‹: подстановка IBPB послС ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ управлСния ΠΎΡ‚ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Π² пространство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ (VMexit); подстановка инструкции IBPB послС ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ управлСния ΠΎΡ‚ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Π² пространство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

НакладныС расходы ΠΎΡ‚ примСнСния Π·Π°Ρ‰ΠΈΡ‚Ρ‹ зависят ΠΎΡ‚ интСнсивности ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ управлСния Π² пространство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. ΠŸΡ€ΠΈ использовании эмулируСмых устройств (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² QEMU) ΠΈΠ½Ρ‚Π΅Π½ΡΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π²Ρ‹ΡˆΠ΅, Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… устройств, ΠΈ сниТСниС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π² срСднСм оцСниваСтся Π² 10%. ΠŸΡ€ΠΈ этом Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Π΅ расходы Ρ‚Π°ΠΊΠΆΠ΅ сильно зависят ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² тСстС UnixBench Π½Π° систСмС Zen 4 Π½Π°Π±Π»ΡŽΠ΄Π°Π΅Ρ‚ΡΡ сниТСниС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π½Π° 1%, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ число ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ (VMexit) Π² Π½Ρ‘ΠΌ минимально. Π’ тСстС Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΈ запись случайных Π΄Π°Π½Π½Ρ‹Ρ… с диска Π½Π° Π±Π°Π·Π΅ virtio Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Π΅ расходы достигли 51%.

Π£ΡΠ²Π·ΠΈΠΌΠΎΡΡ‚ΡŒ проявляСтся Π½Π° всСх процСссорах AMD сСмСйства Zen (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ 5 ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅), процСссорах Hygon (Π½Π° Π±Π°Π·Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ AMD) ΠΈ старых процСссорах Intel, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Ρ‡ΠΈΠΏΡ‹ Π½Π° Π±Π°Π·Π΅ ΠΌΠΈΠΊΡ€ΠΎΠ°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Coffee Lake (2017 Π³ΠΎΠ΄). Π’ спискС частично ΠΏΠΎΠ΄Π²Π΅Ρ€ΠΆΠ΅Π½Π½Ρ‹Ρ… уявзимости CPU ΡƒΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‚ΡΡ процСссоры Intel Π½Π° Π±Π°Π·Π΅ ΠΌΠΈΠΊΡ€ΠΎΠ°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ Cascade Lake ΠΈ Alder Lake (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ создания эксплоита для Π½ΠΈΡ… Π½Π΅ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½Π°). Π’ послСдних поколСниях процСссоров Intel для изоляции хост-окруТСния ΠΈ гостСвой систСмы примСняСтся тСхнология eIBRS, Π½ΠΎ ΠΎΠ½Π° лишь частично Π·Π°Ρ‰ΠΈΡ‰Π°Π΅Ρ‚ ΠΎΡ‚ воздСйствия ΠΈΠ· гостСвой систСмы Π½Π° Π±ΡƒΡ„Π΅Ρ€ с историСй ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ² (BHB, Branch History Buffer), Ρ‡Ρ‚ΠΎ Π½Π΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ созданиС Π°Ρ‚Π°ΠΊ ΠΏΠΎ подстановкС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ‡Π΅Ρ€Π΅Π· BHB.

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π°Ρ‚Π°ΠΊΠΈ VMScape ΠΏΠΎΠΊΠ° продСмонстрирована Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° систСмах с Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€ΠΎΠΌ KVM ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ Π½Π° Π±Π°Π·Π΅ QEMU (QEMU-KVM), ΡΠΌΡƒΠ»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΌΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ устройства Π² пространствС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Π“ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€ Xen ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅ Π½Π΅ ΠΏΠΎΠ΄Π²Π΅Ρ€ΠΆΠ΅Π½. ΠžΡ†Π΅Π½ΠΊΠ° VMware, Hyper-V ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΡ… Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€ΠΎΠ² Π½Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠ»Π°ΡΡŒ, оТидаСтся, Ρ‡Ρ‚ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π°Ρ‚Π°ΠΊΠΈ Π½Π° Π½ΠΈΡ… Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π° производитСлями.

Play video


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

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