Indirector — новая микроархитСктурная Π°Ρ‚Π°ΠΊΠ°, Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°ΡŽΡ‰Π°Ρ CPU Intel Raptor Lake ΠΈ Alder Lake

Π˜ΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΈΠ· ΠšΠ°Π»ΠΈΡ„ΠΎΡ€Π½ΠΈΠΉΡΠΊΠΎΠ³ΠΎ унивСрситСта Π² Π‘Π°Π½-Π”ΠΈΠ΅Π³ΠΎ прСдставили Π½ΠΎΠ²Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π°Ρ‚Π°ΠΊΠΈ Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠ°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹Π΅ структуры процСссоров Intel, ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹ΠΉ срСди ΠΏΡ€ΠΎΡ‡Π΅Π³ΠΎ ΠΊ CPU Π½Π° Π±Π°Π·Π΅ ΠΌΠΈΠΊΡ€ΠΎΠ°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ Raptor Lake ΠΈ Alder Lake. Атака, которая ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π° ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠ΅ имя Indirector, позволяСт Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ измСнСния Ρ…ΠΎΠ΄Π° спСкулятивного выполнСния инструкций Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… процСссах ΠΈ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… уровнях ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² ядрС ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ машинС), выполняСмых Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠ΅ CPU с ΠΊΠΎΠ΄ΠΎΠΌ Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰Π΅Π³ΠΎ. Π’ качСствС дСмонстрации Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ эксплоита, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ раскладку адрСсов памяти для ΠΎΠ±Ρ…ΠΎΠ΄Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ASLR (Address Space Layout Randomization). ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ MIT ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ инструмСнтарий, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ для Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ ΠΈΠ½ΠΆΠΈΠ½ΠΈΡ€ΠΈΠ½Π³Π° ΠΌΠΈΠΊΡ€ΠΎΠ°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ CPU.

ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ Π΄Π²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Π°Ρ‚Π°ΠΊΠΈ. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ способ основан Π½Π° искаТСнии содСрТимого Π±ΡƒΡ„Π΅Ρ€Π° прСдсказания косвСнных ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ² IBP (Indirect Branch Predictor), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ для прСдсказания косвСнных ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ² Π² условиях, ΠΊΠΎΠ³Π΄Π° адрСс ΠΈΠ»ΠΈ смСщСниС для ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π΅Ρ‰Ρ‘ Π½Π΅ извСстны ΠΈ Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ΡΡ Π² инструкциях, ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… инструкции ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°. Π’Ρ‚ΠΎΡ€ΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°Π΅Ρ‚ Π±ΡƒΡ„Π΅Ρ€ прСдсказания ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ² BTB (Branch Target Buffer), содСрТащий ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π½Π΅Π΄Π°Π²Π½ΠΈΡ… ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°Ρ….

Indirector - новая микроархитСктурная Π°Ρ‚Π°ΠΊΠ°, Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°ΡŽΡ‰Π°Ρ CPU Intel Raptor Lake ΠΈ Alder Lake

Indirector - новая микроархитСктурная Π°Ρ‚Π°ΠΊΠ°, Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°ΡŽΡ‰Π°Ρ CPU Intel Raptor Lake ΠΈ Alder Lake

ВыявлСнныС уязвимости Π΄Π°ΡŽΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰Π΅ΠΌΡƒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ содСрТимоС записСй Π² Π±ΡƒΡ„Π΅Ρ€Π°Ρ… IBP ΠΈ BTB, содСрТащиС адрСса ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² сторонних процСссах, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ подстановку ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ адрСса ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π±ΡƒΡ„Π΅Ρ€ΠΎΠ². Π’ ΠΈΡ‚ΠΎΠ³Π΅ Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ пСрСнаправлСния ΠΏΠΎΡ‚ΠΎΠΊΠ° выполнСния стороннСго процСсса Π½Π° ΠΆΠ΅Π»Π°Π΅ΠΌΡ‹ΠΉ адрСс Π² памяти Π² Ρ…ΠΎΠ΄Π΅ спСкулятивного выполнСния инструкций. ПослС опрСдСлСния ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ спСкулятивного выполнСния отбросится, Π½ΠΎ адрСса ΠΈ Π΄Π°Π½Π½Ρ‹Π΅, считанныС ΠΈΠ· памяти Π² процСссС спСкулятивного выполнСния инструкций, осядут Π² кэшС ΠΈ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ, воспользовавшись ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· способов опрСдСлСния содСрТимого кэша Π½Π° основС Π°Π½Π°Π»ΠΈΠ·Π° измСнСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ доступа ΠΊ ΠΏΡ€ΠΎΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΈ Π½Π΅ ΠΏΡ€ΠΎΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΡ‡Π½Ρ‹Ρ… адрСсов косвСнных ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ² Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для ΠΎΠ±Ρ…ΠΎΠ΄Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ASLR.

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