ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ AMD ΠΎΠ±ΡΠ²ΠΈ Π·Π° ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ΅ΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Π² ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈΡΠ΅ AMD EPYC ΠΈ AMD Ryzen. Π’ΡΠΈΡΠ΅ Π½Π°ΠΉ-ΠΎΠΏΠ°ΡΠ½ΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ (CVE-2023-31342, CVE-2023-31343, CVE-2023-31345) ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»Π½ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π΅Π½ ΠΊΠΎΠ΄ Π½Π° Π½ΠΈΠ²ΠΎ SMM (System Management Mode), ΠΊΠΎΠ΅ΡΠΎ ΠΈΠΌΠ° ΠΏΠΎ-Π²ΠΈΡΠΎΠΊ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ ΠΎΡ Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΠ½ΠΈΡ ΡΠ΅ΠΆΠΈΠΌ ΠΈ Π½ΡΠ»Π΅Π²ΠΎΡΠΎ Π·Π°ΡΠΈΡΠ½ΠΎ Π½ΠΈΠ²ΠΎ. ΠΠΎΠΌΠΏΡΠΎΠΌΠ΅ΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° SMM ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π΅ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΡΡΠ»Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ½Π° ΠΏΠ°ΠΌΠ΅Ρ ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΊΠΎΠ½ΡΡΠΎΠ» Π½Π°Π΄ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°. Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈΡΠ΅ ΡΠ° ΠΏΡΠΈΡΠΈΠ½Π΅Π½ΠΈ ΠΎΡ Π»ΠΈΠΏΡΠ°ΡΠ° Π½Π° Π°Π΄Π΅ΠΊΠ²Π°ΡΠ½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° Π²Ρ ΠΎΠ΄Π½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Π½Π° SMM, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π° ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½ Π°ΡΠ°ΠΊΡΠ²Π°Ρ Π΄Π° ΠΏΡΠ΅Π·Π°ΠΏΠΈΡΠ΅ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° SMRAM. ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ Π·Π° ΠΌΠ΅ΡΠΎΠ΄Π° Π½Π° Π°ΡΠ°ΠΊΠ° Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π½Π΅ ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡ.
ΠΡΡΠ°Π½Π°Π»ΠΈΡΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ:
- CVE-2023-31352 β Π³ΡΠ΅ΡΠΊΠ° Π² ΡΡΡΠΌΡΠ΅ΡΠ° Π½Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° AMD SEV (Secure Encrypted Virtualization), ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π² ΡΠΈΡΡΠ΅ΠΌΠΈΡΠ΅ Π·Π° Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π·Π° Π·Π°ΡΠΈΡΠ° Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ ΠΎΡ Π½Π°ΠΌΠ΅ΡΠ° ΠΎΡ Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΠ° ΠΈΠ»ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° Π½Π° Ρ ΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°. ΠΠΎΠ΄ΠΎΠ±Π½ΠΎ Π½Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠ°, ΠΊΠΎΡΡΠΎ Π±Π΅ΡΠ΅ ΠΎΡΡΡΡΠ°Π½Π΅Π½Π° Π² Π½Π°ΡΠ°Π»ΠΎΡΠΎ Π½Π° ΡΠ΅Π²ΡΡΠ°ΡΠΈ, ΠΏΡΠΎΠ±Π»Π΅ΠΌΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ°, ΠΊΠΎΠΉΡΠΎ ΠΈΠΌΠ° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Ρ ΠΎΡΡ ΡΡΠ΅Π΄Π°ΡΠ°, Π΄Π° ΠΏΡΠΎΡΠ΅ΡΠ΅ Π½Π΅Π·Π°ΡΠΈΡΡΠ΅Π½ΠΎ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°, Π² ΠΊΠΎΡΡΠΎ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»Π½ΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΡΡΠ΄ΡΡΠΆΠ°Ρ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»Π½ΠΈ Π΄Π°Π½Π½ΠΈ ΠΎΡ Π³ΠΎΡΡΡΠ²Π°ΡΠ°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°.
- CVE-2023-20582 β Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π·Π°ΠΎΠ±ΠΈΠΊΠ°Π»ΡΠ½Π΅ Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈΡΠ΅ RMP (Reverse Map Table) ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ΡΠΎ SEV-SNP (Secure Nested Paging), ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΎ Π·Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½Π° ΡΠ°Π±ΠΎΡΠ° Ρ Π²Π»ΠΎΠΆΠ΅Π½ΠΈ ΡΠ°Π±Π»ΠΈΡΠΈ Π·Π° ΡΡΡΠ°Π½ΠΈΡΠΈ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°. ΠΡΠ°ΠΊΡΠ²Π°Ρ Ρ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΠ²Π½ΠΈ ΠΏΡΠ°Π²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ ΡΡΠ»ΠΎΠ²ΠΈΡ Π·Π° Π²ΡΠ·Π½ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ (fault) Π² PTE (Page Table Entry), Π·Π° Π΄Π° Π·Π°ΠΎΠ±ΠΈΠΊΠΎΠ»ΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π°ΡΠ° Π·Π° Π·Π°ΡΠΈΡΠ° Π½Π° ΡΠ΅Π»ΠΎΡΡΡΠ° Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π° Π²ΠΈΡΡΡΠ°Π»Π½ΠΈΡΠ΅ ΠΌΠ°ΡΠΈΠ½ΠΈ.
- CVE-2023-20581 β Π³ΡΠ΅ΡΠΊΠ° Π² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π΄ΠΎΡΡΡΠΏΠ° Π΄ΠΎ IOMMU, ΠΊΠΎΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π° ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½ Π°ΡΠ°ΠΊΡΠ²Π°Ρ Π΄Π° Π·Π°ΠΎΠ±ΠΈΠΊΠΎΠ»ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°ΡΠ° Π½Π° RMP ΠΈ Π΄Π° Π½Π°ΡΡΡΠΈ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΡΠ° Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π° Π³ΠΎΡΡΡΠ²Π°ΡΠ°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°.
Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈΡΠ΅ ΡΠ΅ ΠΏΡΠΎΡΠ²ΡΠ²Π°Ρ Π² 3-ΡΠΎ ΠΈ 4-ΡΠΎ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅ ΡΡΡΠ²ΡΡΠ½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ AMD EPYC, Π²Π³ΡΠ°Π΄Π΅Π½ΠΈ CPU ΠΎΡ ΡΠ΅ΡΠΈΠΉΠ½ΠΈΡΠ΅ Π»ΠΈΠ½ΠΈΠΈ AMD EPYC 7003 ΠΈ 9004, Π² AMD Ryzen Embedded R1000, R2000, 5000, 7000, V2000 ΠΈ V3000, Π² Π΄Π΅ΡΠΊΡΠΎΠΏ ΡΠ΅ΡΠΈΠΉΠ½ΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ AMD Ryzen 3000, 4000, 5000, 7000 ΠΈ 8000, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π² ΡΠ΅ΡΠΈΡΡΠ° AMD Athlon 3000.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
