Уязвимости Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ AMD SEV, Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°ΡŽΡ‰Π°Ρ процСссоры AMD EPYC

Компания AMD ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅Π΄ΠΈΠ»Π° ΠΎ выявлСнии Π΄Π²ΡƒΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π°Ρ‚Π°ΠΊΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… ΠΎΠ±ΠΎΠΉΡ‚ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ AMD SEV (Secure Encrypted Virtualization). ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π²ΠΎΠ΅, Π²Ρ‚ΠΎΡ€ΠΎΠ΅ ΠΈ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ поколСния процСссоров AMD EPYC (Π½Π° Π±Π°Π·Π΅ ΠΌΠΈΠΊΡ€ΠΎΠ°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Zen1 — Zen3), Π° Ρ‚Π°ΠΊΠΆΠ΅ встраиваСмыС процСссоры AMD EPYC.

AMD SEV Π½Π° Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ обСспСчиваСт ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΠ΅ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ памяти Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… машин, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ доступ ΠΊ Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ тСкущая гостСвая систСма, Π° ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ ΠΈ Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€ ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ обращСния ΠΊ этой памяти ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ…. ВыявлСнныС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰Π΅ΠΌΡƒ, ΠΈΠΌΠ΅ΡŽΡ‰Π΅ΠΌΡƒ ΠΏΡ€Π°Π²ΠΎ администратора Π½Π° сСрвСрС ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΌΡƒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€Π°, ΠΎΠ±ΠΎΠΉΡ‚ΠΈ ограничСния AMD SEV ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ свой ΠΊΠΎΠ΄ Π² контСкстС Π·Π°Ρ‰ΠΈΡ‰Ρ‘Π½Π½Ρ‹Ρ… Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… машин.

ВыявлСнныС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹:

  • CVE-2021-26311 (Π°Ρ‚Π°ΠΊΠ° undeSErVed) — Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΡΡ†ΠΈΡŽ с ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ порядка слСдования Π±Π»ΠΎΠΊΠΎΠ² памяти Π² адрСсном пространствС гостСвой систСмы ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ контроля Π½Π°Π΄ Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ свой ΠΊΠΎΠ΄ Π² гостСвой Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ машинС, нСсмотря Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ AMD SEV/SEV-ES. Π˜ΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ эксплоита, ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ Π±Π»ΠΎΠΊΠΈ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ UEFI ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΏΡ€ΠΈΡ‘ΠΌΡ‹ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования (ROP — Return-Oriented Programming) для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ выполнСния ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.
  • CVE-2020-12967 (Π°Ρ‚Π°ΠΊΠ° SEVerity) — отсутствиС Π΄ΠΎΠ»ΠΆΠ½ΠΎΠΉ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ† страниц памяти Π² AMD SEV/SEV-ES позволяСт ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ доступа ΠΊ Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€Ρƒ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ подстановку ΠΊΠΎΠ΄Π° Π² ядро гостСвой систСмы ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ управлСния Π΄Π°Π½Π½ΠΎΠΌΡƒ ΠΊΠΎΠ΄Ρƒ. ΠœΠ΅Ρ‚ΠΎΠ΄ позволяСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ Π·Π°Ρ‰ΠΈΡ‰Ρ‘Π½Π½ΠΎΠΉ гостСвой систСмой ΠΈ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ ΠΈΠ· Π½Π΅Ρ‘ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅.

Для противодСйствия ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ Π°Ρ‚Π°ΠΊΠΈ компания AMD ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΠ»Π° Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ SEV-SNP (Secure Nested Paging), доступноС Π² Ρ„ΠΎΡ€ΠΌΠ΅ обновлСния ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ для Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ поколСния процСссоров AMD EPYC ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π΅Π΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ со Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ страниц памяти. Π’ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ ΠΎΠ±Ρ‰Π΅ΠΌΡƒ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡŽ памяти ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡŽ SEV-ES (Encrypted State), Π·Π°Ρ‰ΠΈΡ‰Π°ΡŽΡ‰Π΅ΠΌΡƒ рСгистры CPU, Π² SEV-SNP Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ срСдства для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ цСлостности памяти, способныС ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡΡ‚ΠΎΡΡ‚ΡŒ Π°Ρ‚Π°ΠΊΠ°ΠΌ со стороны Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€ΠΎΠ² ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π·Π°Ρ‰ΠΈΡ‚Ρƒ ΠΎΡ‚ Π°Ρ‚Π°ΠΊ ΠΏΠΎ сторонним ΠΊΠ°Π½Π°Π»Π°ΠΌ.

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

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