Уязвимост Π² Π·Π°Ρ€Π΅ΠΆΠ΄Π°Ρ‡Π° Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ΄Π° Π² CPU AMD, позволяваща заобикалянС Π½Π° изолацията SEV-SNP

БигурноститС ΠΈΠ· Google ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Ρ…Π° информация Π·Π° уязвимост (CVE-2024-56161) Π² AMD процСсори, която засяга Π½Π°Ρ‡ΠΈΠ½Π° Π½Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ΄ ΠΈ позволява заобикалянС Π½Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΈ подписи ΠΏΡ€ΠΈ обновлСния Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ΄Π°. Π—Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΊΠΎΠΌΠΏΡ€ΠΎΠΌΠ΅Ρ‚ΠΈΡ€Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° AMD SEV (Secure Encrypted Virtualization), ΠΊΠΎΠΉΡ‚ΠΎ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² систСмитС Π·Π° виртуализация Π·Π° Π·Π°Ρ‰ΠΈΡ‚Π° Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈΡ‚Π΅ машини ΠΎΡ‚ намСса Π½Π° Ρ…ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€Π° ΠΈΠ»ΠΈ администратора Π½Π° хост систСмата.

Уязвимостта Π΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅Π½Π° ΠΎΡ‚ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° нСбСзопасна Ρ…Π΅Ρˆ-функция Π² ΠΊΠΎΠ΄Π°, ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° Ρ†ΠΈΡ„Ρ€ΠΎΠ²Π°Ρ‚Π° подпис слСд Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ΄Π° Π² CPU. Π—Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° Π°Ρ‚Π°ΠΊΠ° Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π½Π° ΠΏΡ€Π°Π²Π° Π½Π° администратора Π² Π»ΠΎΠΊΠ°Π»Π½Π°Ρ‚Π° систСма (Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° изпълнСниС Π½Π° ΠΊΠΎΠ΄ Π½Π° Π½ΠΈΠ²ΠΎ Π½ΡƒΠ»Π΅Π²ΠΎ Π·Π°Ρ‰ΠΈΡ‚Π½ΠΎ ΠΊΠΎΠ»Π΅Π»ΠΎ (ring0), Π±Π΅Π· Π΄Π° Π΅ Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π°Ρ‚Π° машина).

По Π²Ρ€Π΅ΠΌΠ΅ Π½Π° Π°Ρ‚Π°ΠΊΠ°Ρ‚Π° Π΅ възмоТно Π΄Π° сС намСси Π² Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° Π·Π°Ρ‰ΠΈΡ‚Π΅Π½ΠΈ гост систСми, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‰ΠΈ Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΡΡ‚Π° AMD SEV (Secure Encrypted Virtualization) ΠΈ SEV-SNP (Secure Nested Paging), ΠΊΠΎΠΈΡ‚ΠΎ прСдоставят Π³Π°Ρ€Π°Π½Ρ†ΠΈΠΈ Π·Π° цСлостта Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°. Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ машини, ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°ΠΉΠΊΠΈ рСгистритС Π½Π° процСсора ΠΈ осигурявайки бСзопасна Ρ€Π°Π±ΠΎΡ‚Π° с Π²Π»ΠΎΠΆΠ΅Π½ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ Π½Π° страницитС Π² ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°. ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡŠΡ‚ AMD SEV Π΅ създадСн, Π·Π° Π΄Π° ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈ Π΄ΠΎΡΡ‚ΡŠΠΏΠ° Π½Π° слуТитСлитС Π² Π΄Π°Ρ‚Π° Ρ†Π΅Π½Ρ‚Ρ€ΠΎΠ²Π΅Ρ‚Π΅ ΠΈ ΠΎΠ±Π»Π°Ρ‡Π½ΠΈΡ‚Π΅ доставчици Π΄ΠΎ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π½Π° Π·Π°Ρ‰ΠΈΡ‚Π΅Π½ΠΈΡ‚Π΅ гост систСми, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° изчислСнията.

Π˜Π·ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈΡ‚Π΅ ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²ΠΈΡ…Π° ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ Π½Π° Сксплоит, позволяващ Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π΅Π½ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ΄ Π² CPU, ΠΊΠΎΠΉΡ‚ΠΎ Π½Π΅ Π΅ ΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ с Ρ†ΠΈΡ„Ρ€ΠΎΠ²Π° подпис. Π—Π° дСмонстрация Π½Π° опасността ΠΎΡ‚ уязвимостта Π΅ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ΄Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ промСня Π»ΠΎΠ³ΠΈΠΊΠ°Ρ‚Π° Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° инструкциитС RDRAND, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ ΠΊΠ°Ρ‚ΠΎ Π΅Π΄ΠΈΠ½ ΠΎΡ‚ ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° Снтропия Π² Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ Π½Π° псСвдослучайни числа, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π² процСса Π½Π° Ρ„ΠΎΡ€ΠΌΠΈΡ€Π°Π½Π΅ Π½Π° ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π΅, ΠΏΡ€ΠΈ ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° криптографски ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ Π·Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° случайни ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΈ.

ΠŸΡ€ΠΎΠΌΡΠ½Π°Ρ‚Π° Π²ΠΎΠ΄ΠΈ Π΄ΠΎ Π²Ρ€ΡŠΡ‰Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° RDRAND само число 4, вмСсто случайна послСдоватСлност. Π—Π° Π΄Π° сС прСдотвратят Ρ€Π΅Π°Π»Π½ΠΈ Π°Ρ‚Π°ΠΊΠΈ Π²ΡŠΡ€Ρ…Ρƒ систСмитС Π·Π° ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»Π½ΠΈ изчислСния, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎΡ‚ΠΎ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ΄ обнулява Ρ„Π»Π°Π³Π° CF (carry flag), Ρ‚.Π΅. ΠΌΠ°Ρ€ΠΊΠΈΡ€Π° ΠΈΠ·Π΄Π°Π΄Π΅Π½Π°Ρ‚Π° стойност ΠΊΠ°Ρ‚ΠΎ Π³Ρ€Π΅ΡˆΠ½Π°. Π”ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ Π΄Π΅Ρ‚Π°ΠΉΠ»ΠΈ ΠΈ инструмСнти Π·Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ΄ ΠΏΠ»Π°Π½ΠΈΡ€Π°Ρ‚ Π΄Π° ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Ρ‚ Π½Π° 5 ΠΌΠ°Ρ€Ρ‚, Π·Π° Π΄Π° Π΄Π°Π΄Π°Ρ‚ Π½Π° ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ Π²Ρ€Π΅ΠΌΠ΅ Π΄Π° инсталират корСкцията Π½Π° своитС систСми. УспСшСн ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π·Π° Π°Ρ‚Π°ΠΊΠ° Π΅ дСмонстриран Π·Π° ΡΡŠΡ€Π²ΡŠΡ€ΠΈ процСсоритС AMD EPYC 7B13 (Milan) ΠΈ AMD Ryzen 9 7940HS (Phoenix).

Π’ Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° компания AMD Π΅ посочСно, Ρ‡Π΅ уязвимостта сС проявява Π² процСсоритС AMD Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° 1-4 поколСния ΠΌΠΈΠΊΡ€ΠΎΠ°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Zen. Актуализация Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ΄Π° с отстраняванС Π½Π° уязвимостта Π΅ Π±ΠΈΠ»Π° ΠΈΠ·Π΄Π°Π΄Π΅Π½Π° Π½Π° 13 Π΄Π΅ΠΊΠ΅ΠΌΠ²Ρ€ΠΈ 2024 Π³ΠΎΠ΄ΠΈΠ½Π° Π·Π° процСсоритС ΠΎΡ‚ сСриитС AMD EPYC 7001, 7002 ΠΈ 7003 (Naples, Rome, Milan ΠΈ Milan-X), Π° Π½Π° 16 Π΄Π΅ΠΊΠ΅ΠΌΠ²Ρ€ΠΈ Π·Π° процСсоритС ΠΎΡ‚ сСрията AMD EPYC 9004 (Genoa, Genoa-X ΠΈ Bergamo/Siena). Π—Π° отстраняванС Π½Π° уязвимостта Π½Π° систСми, Π² ΠΊΠΎΠΈΡ‚ΠΎ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° атСстация SEV-SNP, Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ сС изисква актуализация Π½Π° Ρ„ΡŠΡ€ΠΌΡƒΠ΅Ρ€Π° AMD SEV (прСдоставя сС с Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈΡ‚Π΅ Π½Π° BIOS ΠΎΡ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ Π½Π° ΠΎΠ±ΠΎΡ€ΡƒΠ΄Π²Π°Π½Π΅Ρ‚ΠΎ).

Π”ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ сС ΡΡŠΠΎΠ±Ρ‰Π°Π²Π° Π·Π° ΠΎΡ‰Π΅ Π΅Π΄Π½Π° уязвимост Π² процСсоритС AMD, допускаща ΠΏΡ€ΠΎΠ²Π΅ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π°Ρ‚Π°ΠΊΠ° ΠΏΠΎ странични ΠΊΠ°Π½Π°Π»ΠΈ Π·Π° ΠΈΠ·Π²Π»ΠΈΡ‡Π°Π½Π΅ Π½Π° информация Π·Π° изчислСнията Π² гост-систСмитС, Π·Π°Ρ‰ΠΈΡ‚Π΅Π½ΠΈ с ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° AMD SEV. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ засяга 1-4 поколСния процСсори AMD EPYC ΠΈ Π΅ ΡΠ²ΡŠΡ€Π·Π°Π½ с Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° ΠΈΠ·Π²Π»ΠΈΡ‡Π°Π½Π΅ ΠΎΡ‚ процСсорния кСш Π½Π° Π΄Π°Π½Π½ΠΈ, оставащи Π² процСса Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° Π·Π°Ρ‰ΠΈΡ‚Π΅Π½ΠΈ гост-систСми. Π—Π° Π°Π½Π°Π»ΠΈΠ· Π½Π° ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° кСша ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΡŠΡ‚ Prime+Probe, ΠΊΠΎΠΉΡ‚ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π²Π° запълванС Π½Π° кСша с Π΅Ρ‚Π°Π»ΠΎΠ½Π΅Π½ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ стойности ΠΈ опрСдСлянС Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ Ρ‡Ρ€Π΅Π· ΠΈΠ·ΠΌΠ΅Ρ€Π²Π°Π½Π΅ Π½Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ тях ΠΏΡ€ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ запълванС. ΠžΡ‚Π±Π΅Π»ΡΠ·Π²Π° сС, Ρ‡Π΅ Π·Π° Π±Π»ΠΎΠΊΠΈΡ€Π°Π½Π΅ Π½Π° Π°Ρ‚Π°ΠΊΠ°Ρ‚Π° са подходящи ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ, ΠΏΡ€Π΅Π΄ΠΈ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈ Π·Π° Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ Π°Ρ‚Π°ΠΊΠΈ ΠΎΡ‚ клас Spectre.

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

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster