ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ AMD ΡΠ°ΡΠΊΡΡΠ»Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π½ΠΎΠ²ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ ΠΌΠΈΠΊΡΠΎΠ°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΡ Π°ΡΠ°ΠΊ Π½Π° ΡΠ²ΠΎΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΡ β TSA (Transient Scheduler Attack). ΠΡΠ°ΠΊΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΡ ΠΎΠ±ΠΎΠΉΡΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ CPU ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅, ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΡΠ΅ Π² Π΄ΡΡΠ³ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°Ρ , Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ· ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΡΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠ΄ΡΠ°, ΠΈΠ»ΠΈ ΠΈΠ· Π³ΠΎΡΡΠ΅Π²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ·Π½Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π² Π΄ΡΡΠ³ΠΎΠΉ Π³ΠΎΡΡΠ΅Π²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅.
Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Π²ΡΡΠ²Π»Π΅Π½Ρ Π² Ρ ΠΎΠ΄Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ, ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ ΠΈΠ· Microsoft ΠΈ Π¨Π²Π΅ΠΉΡΠ°ΡΡΠΊΠΎΠΉ Π²ΡΡΡΠ΅ΠΉ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΊΠΎΠ»Ρ Π¦ΡΡΠΈΡ Π° Π΄Π»Ρ ΡΡΡΠ΅ΡΡ-ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΈΠΊΡΠΎΠ°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΠΎΠΉ ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ Π·ΠΎΠ½Π°ΠΌΠΈ ΡΠ°Π·Π³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ Π΄ΠΎΡΡΡΠΏΠ°, ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ ΡΠ΄ΡΠΎ, Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠ°ΡΠΈΠ½Ρ ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΡ.
ΠΠ΅ΡΠΎΠ΄ Π°ΡΠ°ΠΊΠΈ ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ ΠΎΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΌΠΈΠΊΡΠΎΠ°ΡΡ ΠΈΡΠ΅ΠΊΡΠΊΡΠ½ΡΡ ΡΡΡΡΠΊΡΡΡ. ΠΠΎΠ³Π΄Π° ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΡΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΈΠ· ΠΏΠ°ΠΌΡΡΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠ»Π°Π³Π°Ρ, ΡΡΠΎ Π΄Π°Π½Π½ΡΠ΅ Π΅ΡΡΡ Π² ΠΊΡΡΠ΅ L1), Π½ΠΎ Π½Π΅ ΡΠ΄Π°ΡΡΡΡ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅, Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Β«Π»ΠΎΠΆΠ½ΠΎΠ³ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡΒ» ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ (false completion). ΠΡΠΈ ΡΡΠΎΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ Π΅ΡΡ Π΄ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΏΠ΅ΠΊΡΠ»ΡΡΠΈΠ²Π½ΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄ΡΡΠ³ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, Π·Π°Π²ΠΈΡΡΡΠΈΡ ΠΎΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈΠ· ΠΏΠ°ΠΌΡΡΠΈ.
Π’Π°ΠΊ ΠΊΠ°ΠΊ Π·Π°Π³ΡΡΠ·ΠΊΠ° ΠΎΠΊΠ°Π·Π°Π»Π°ΡΡ Π½Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½Π°, Π°ΡΡΠΎΡΠΈΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Ρ Π½Π΅ΠΉ Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠΈΠ·Π½Π°ΡΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠΌ Π½Π΅Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ, Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΏΠΎΠ·Π΄Π½Π΅Π΅ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΡΡΡ Π΅ΡΡ ΡΠ°Π·. ΠΠ°Π²ΠΈΡΠΈΠΌΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΏΠΎΡΠ»Π΅ Π³ΠΎΡΠΎΠ²Π½ΠΎΡΡΠΈ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ . ΠΡΠΈ ΡΡΠΎΠΌ ΡΠ±ΡΠΎΡ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ° (pipeline flush) ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Β«Π»ΠΎΠΆΠ½ΠΎΠ³ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡΒ», Π½Π΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ, ΠΈ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½Ρ Π² Π·Π°Π²ΠΈΡΠΈΠΌΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ.
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π½Π΅ ΠΌΠ΅Π½ΡΠ΅Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΊΡΡΠ° ΠΈ TLB (Translation Lookaside Buffer), Ρ.Π΅. Π΄Π°Π½Π½ΡΠ΅ Π½Π΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΊΡΡΠ°. ΠΠΎ ΡΡΠΈ Π΄Π°Π½Π½ΡΠ΅ Π²Π»ΠΈΡΡΡ Π½Π° Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄ΡΡΠ³ΠΈΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ. ΠΠ½Π°Π»ΠΈΠ· Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΡΡΠ΅ΡΠΊΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΈΠ· ΠΌΠΈΠΊΡΠΎΠ°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΡ ΡΡΡΡΠΊΡΡΡ, ΠΎΡΡΠ°Π²ΡΠ΅ΠΉΡΡ ΠΏΠΎΡΠ»Π΅ ΡΠΏΠ΅ΠΊΡΠ»ΡΡΠΈΠ²Π½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄ΡΡΠ³ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ.
Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ ΠΎΡΡΠ°ΡΠΎΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ Π²ΡΠ΄Π΅Π»Π΅Π½Ρ Π΄Π²Π΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ:
- CVE-2024-36350 (TSA-SQ β TSA Store Queue) β ΡΡΠ΅ΡΠΊΠ° ΠΈΠ· Π±ΡΡΠ΅ΡΠ° Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π·Π°ΠΏΠΈΡΠΈ (Store Queue), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ Π·Π°ΠΏΠΈΡΠΈ Π² ΠΏΠ°ΠΌΡΡΡ.
- CVE-2024-36357 (TSA-L1 β TSA L1 Data Cache) β ΡΡΠ΅ΡΠΊΠ° ΡΠ΅ΡΠ΅Π· ΠΊΡΡ L1D.
Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ ΠΏΡΠΎΡΠ²Π»ΡΡΡΡΡ Π² ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π΅ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ² AMD (Fam19h) Π½Π° Π±Π°Π·Π΅ ΠΌΠΈΠΊΡΠΎΠ°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡ Zen 3 ΠΈ Zen 4. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π² ΡΠ΅ΡΠΈΡΡ CPU AMD Ryzen 5000/6000/7000/8000, AMD EPYC Milan/Milan-X/Genoa/Genoa-X/Bergamo/Siena, AMD Instinct MI300A, AMD Ryzen Threadripper PRO 7000 WX, AMD EPYC Embedded 7003/8004/9004/97X4, AMD Ryzen Embedded 5000/7000/V3000.
ΠΠ΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π²ΠΊΠ»ΡΡΠ΅Π½Ρ Π² ΡΠΎΡΡΠ°Π² Π΄Π΅ΠΊΠ°Π±ΡΡΡΠΊΠΎΠ³ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ΄Π° ΠΈ PI-ΠΏΡΠΎΡΠΈΠ²ΠΎΠΊ (Platform Initialization), ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΡ
OEM-ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠΌ. ΠΠ°ΡΡΠΈ Π΄Π»Ρ Π·Π°ΡΠΈΡΡ ΠΎΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Ρ Π΄Π»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π² ΡΠΎΡΡΠ°Π² ΡΠ΄ΡΠ° Linux (Π΄Π»Ρ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π·Π°ΡΠΈΡΡ, Π½Π΅Π³Π°ΡΠΈΠ²Π½ΠΎ Π²Π»ΠΈΡΡΡΠ΅ΠΉ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ, ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Π° ΠΎΠΏΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΡΠ΄ΡΠ° Β«tsa=offΒ»). ΠΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ Π² Π³ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡ Xen. ΠΠ»Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΊΠ°ΠΊ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ΄Π°, ΡΠ°ΠΊ ΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΠΆΠΈΠΌΠ° Π·Π°ΡΠΈΡΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠ΄ΡΠ° ΠΈΠ»ΠΈ Π³ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΠ°.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
