Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π² AMD SEV, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΊΠ»ΡŽΡ‡ΠΈ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ

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

ВыявлСнная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° позволяСт ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ содСрТимоС Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ PDH-ΠΊΠ»ΡŽΡ‡Π°, ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π·Π°Ρ‰ΠΈΡ‰Ρ‘Π½Π½ΠΎΠ³ΠΎ процСссора PSP (AMD Security Processor), нСдоступного для основной ОБ.
ИмСя PDH-ΠΊΠ»ΡŽΡ‡ Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΠΉ Π·Π°Ρ‚Π΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ сСссионный ΠΊΠ»ΡŽΡ‡ ΠΈ ΡΠ΅ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Π·Π°Π΄Π°Π½Π½ΡƒΡŽ ΠΏΡ€ΠΈ создании Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹, ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ.

Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π²Ρ‹Π·Π²Π°Π½Π° Π½Π΅Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠ°ΠΌΠΈ Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ эллиптичСских ΠΊΡ€ΠΈΠ²Ρ‹Ρ… (ECC), примСняСмых для ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ провСсти Π°Ρ‚Π°ΠΊΡƒ ΠΏΠΎ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡŽ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΊΡ€ΠΈΠ²ΠΎΠΉ. Π’ΠΎ врСмя выполнСния ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ запуска Π·Π°Ρ‰ΠΈΡ‰Ρ‘Π½Π½ΠΎΠΉ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΊΡ€ΠΈΠ²ΠΎΠΉ, Π½Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌ, Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ NIST, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Ρ‚ ΠΊ использованию Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΌΠ°Π»ΠΎΠ³ΠΎ порядка Π² опСрациях умноТСния с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π°.

Π—Π°Ρ‰ΠΈΡ‰Ρ‘Π½Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° ECDH Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ зависит ΠΎΡ‚ порядка Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΊΡ€ΠΈΠ²ΠΎΠΉ, дискрСтноС Π»ΠΎΠ³Π°Ρ€ΠΈΡ„ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ прСдставляСт собой ΠΎΡ‡Π΅Π½ΡŒ ΡΠ»ΠΎΠΆΠ½ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ. На ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· шагов ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ окруТСния AMD SEV Π² вычислСниях с Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. По сути выполняСтся опСрация умноТСния Π΄Π²ΡƒΡ… Ρ‚ΠΎΡ‡Π΅ΠΊ, ΠΎΠ΄Π½Π° ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… соотвСтствуСт Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌΡƒ ΠΊΠ»ΡŽΡ‡Ρƒ. Если вторая Ρ‚ΠΎΡ‡ΠΊΠ° относится ΠΊ простым числам Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ порядка, Ρ‚ΠΎ Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΠ΅Ρ€Π²ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ (Π±ΠΈΡ‚Ρ‹ модуля, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ возвСдСния Π² ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ ΠΏΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ) Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ всСх Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Для опрСдСлСния Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π°Π½Π½Ρ‹Π΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ простых чисСл Π·Π°Ρ‚Π΅ΠΌ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ собраны Π²ΠΎΠ΅Π΄ΠΈΠ½ΠΎ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠšΠΈΡ‚Π°ΠΉΡΠΊΠΎΠΉ Ρ‚Π΅ΠΎΡ€Π΅ΠΌΡ‹ ΠΎΠ± остатках.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅ ΠΏΠΎΠ΄Π²Π΅Ρ€ΠΆΠ΅Π½Ρ‹ сСрвСрныС ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ AMD EPYC, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ SEV Π²ΠΏΠ»ΠΎΡ‚ΡŒ Π΄ΠΎ вСрсии 0.17 build 11. Компания AMD ΡƒΠΆΠ΅ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° использования Ρ‚ΠΎΡ‡Π΅ΠΊ, Π½Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΊΡ€ΠΈΠ²ΠΎΠΉ NIST. ΠŸΡ€ΠΈ этом Ρ€Π°Π½Π΅Π΅ сгСнСрированныС сСртификаты для ΠΊΠ»ΡŽΡ‡Π΅ΠΉ PDH ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ Π²Π°Π»ΠΈΠ΄Π½Ρ‹ΠΌΠΈ, Ρ‡Ρ‚ΠΎ позволяСт Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΡƒ провСсти Π°Ρ‚Π°ΠΊΡƒ ΠΏΠΎ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… машин ΠΈΠ· ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΉ, Π·Π°Ρ‰ΠΈΡ‰Ρ‘Π½Π½Ρ‹Ρ… ΠΎΡ‚ уязвимости, Π² окруТСния, ΠΏΠΎΠ΄Π²Π΅Ρ€ΠΆΠ΅Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅. Π’Π°ΠΊΠΆΠ΅ упоминаСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π°Ρ‚Π°ΠΊΠΈ ΠΏΠΎ ΠΎΡ‚ΠΊΠ°Ρ‚Ρƒ вСрсии ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ Π½Π° старый уязвимый выпуск, Π½ΠΎ данная Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½Π°.

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