ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ AMD ΡΠ°Π·ΠΊΡΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° Π½ΠΎΠ² ΠΊΠ»Π°Ρ ΠΌΠΈΠΊΡΠΎΠ°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΠΈ Π°ΡΠ°ΠΊΠΈ Π²ΡΡΡ Ρ ΡΠ²ΠΎΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ β TSA (Transient Scheduler Attack). ΠΡΠ°ΠΊΠ°ΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π° Π·Π»ΠΎΠ½Π°ΠΌΠ΅ΡΠ΅Π½ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π» Π΄Π° Π·Π°ΠΎΠ±ΠΈΠΊΠΎΠ»ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΈΡΠ΅ Π·Π° ΠΈΠ·ΠΎΠ»Π°ΡΠΈΡ Π½Π° CPU ΠΈ Π΄Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈ Π΄Π°Π½Π½ΠΈ, ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°Π½ΠΈ Π² Π΄ΡΡΠ³ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎΡΠΎ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ Π΄Π° ΠΏΠΎΠ»ΡΡΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°Π½Π° Π½Π° Π½ΠΈΠ²ΠΎ ΡΠ΄ΡΠΎ, ΠΈΠ»ΠΈ ΠΎΡ Π³ΠΎΡΡΡΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π΄Π° ΡΠ·Π½Π°Π΅ Π΄Π°Π½Π½ΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π² Π΄ΡΡΠ³Π° Π³ΠΎΡΡΡΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°.
Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈΡΠ΅ ΡΠ° ΡΡΡΠ°Π½ΠΎΠ²Π΅Π½ΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ, ΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΈ ΠΎΡ ΠΈΠ·ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Π½Π° Microsoft ΠΈ Π¨Π²Π΅ΠΉΡΠ°ΡΡΠΊΠ°ΡΠ° ΠΏΠΎΠ»ΠΈΡΠ΅Ρ Π½ΠΈΠΊΠ° Π² Π¦ΡΡΠΈΡ , Π·Π° ΡΡΡΠ΅Ρ-ΡΠ΅ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΌΠΈΠΊΡΠΎΠ°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½Π°ΡΠ° ΠΈΠ·ΠΎΠ»Π°ΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π·ΠΎΠ½ΠΈ Π·Π° ΡΠ°Π·Π³ΡΠ°Π½ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° Π΄ΠΎΡΡΡΠΏΠ°, ΠΊΠ°ΡΠΎ ΡΠ΄ΡΠΎ, Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ.
ΠΠ΅ΡΠΎΠ΄ΡΡ Π½Π° Π°ΡΠ°ΠΊΠ°ΡΠ° ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π°Π²Π° Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠ° Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΎΡ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΠΌΠΈΠΊΡΠΎΠ°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΠΈ ΡΡΡΡΠΊΡΡΡΠΈ. ΠΠΎΠ³Π°ΡΠΎ ΠΏΡΠΎΡΠ΅ΡΠΎΡΡΡ ΠΎΡΠ°ΠΊΠ²Π° Π±ΡΡΠ·ΠΎ Π·Π°Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΡΠ° Π·Π° ΡΠ΅ΡΠ΅Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ ΠΏΠ°ΠΌΠ΅ΡΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°, ΡΠ΅ Π΄Π°Π½Π½ΠΈΡΠ΅ ΡΠ° Π² L1 ΠΊΠ΅ΡΠ°), Π½ΠΎ Π½Π΅ ΡΡΠΏΠ΅Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎ Π΄Π° ΠΏΠΎΠ»ΡΡΠΈ Π΄Π°Π½Π½ΠΈΡΠ΅, Π²ΡΠ·Π½ΠΈΠΊΠ²Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ Π½Π° "ΡΠ°Π»ΡΠΈΠ²ΠΎ Π·Π°Π²ΡΡΡΠ²Π°Π½Π΅" Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΡΠ° (false completion). Π ΡΠΎΠ·ΠΈ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΡΠΎΡΠ΅ΡΠΎΡΡΡ, ΠΎΡΠ΅ ΠΏΡΠ΅Π΄ΠΈ Π΄Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈ ΡΠΎΠ²Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅, ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠ»Π°Π½ΠΈΡΠ° ΡΠΏΠ΅ΠΊΡΠ»Π°ΡΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° Π΄ΡΡΠ³ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, Π·Π°Π²ΠΈΡΠ΅ΡΠΈ ΠΎΡ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠ° ΠΎΡ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΡΠ° Π·Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ ΠΎΡ ΠΏΠ°ΠΌΠ΅ΡΡΠ°.
Π’ΡΠΉ ΠΊΠ°ΡΠΎ Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π΅ Π΅ Π·Π°Π²ΡΡΡΠ΅Π½ΠΎ, ΡΠ²ΡΡΠ·Π°Π½ΠΈΡΠ΅ Ρ Π½Π΅Π³ΠΎ Π΄Π°Π½Π½ΠΈ ΡΠ΅ ΡΡΠΈΡΠ°Ρ ΠΎΡ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ° Π·Π° Π½Π΅Π²Π°Π»ΠΈΠ΄Π½ΠΈ, Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡΠ° Π·Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ ΠΏΠΎ-ΠΊΡΡΠ½ΠΎ ΡΠ΅ ΠΏΠΎΠ²ΡΠΎΡΠΈ ΠΎΡΠ½ΠΎΠ²ΠΎ. ΠΠ°Π²ΠΈΡΠΈΠΌΠΈΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΡΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ ΠΎΡΠ½ΠΎΠ²ΠΎ ΡΠ»Π΅Π΄ Π³ΠΎΡΠΎΠ²Π½ΠΎΡΡΡΠ° Π½Π° ΠΊΠΎΡΠ΅ΠΊΡΠ½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ. ΠΡΠΈ ΡΠΎΠ²Π°, ΠΈΠ·ΠΏΡΠ°Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ° (pipeline flush) ΡΠ»Π΅Π΄ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΡΠ°, Π·Π° ΠΊΠΎΡΡΠΎ Π΅ ΡΠΈΠΊΡΠΈΡΠ°Π½ΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ "ΡΠ°Π»ΡΠΈΠ²ΠΎ Π·Π°Π²ΡΡΡΠ²Π°Π½Π΅", Π½Π΅ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° ΠΈ Π½Π΅ΠΊΠΎΡΠ΅ΠΊΡΠ½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΏΡΠ΅Π½Π°ΡΠΎΡΠ΅Π½ΠΈ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΈΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ.
ΠΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½Π΅ ΠΏΡΠΎΠΌΠ΅Π½Ρ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠ΅ΡΠ° ΠΈ TLB (Translation Lookaside Buffer), Ρ.Π΅. Π΄Π°Π½Π½ΠΈΡΠ΅ Π½Π΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²Π΅Π½ΠΈ Ρ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈ Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠ΅ΡΠ°. ΠΠΎ ΡΠ΅Π·ΠΈ Π΄Π°Π½Π½ΠΈ Π²Π»ΠΈΡΡΡ Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° Π΄ΡΡΠ³ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ. ΠΠ½Π°Π»ΠΈΠ·ΡΡ Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠ°ΡΠΎ ΠΈΠ·ΡΠΎΡΠ½ΠΈΠΊ Π½Π° Leakage Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΡ ΠΌΠΈΠΊΡΠΎΠ°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΠΈ ΡΡΡΡΠΊΡΡΡΠΈ, ΠΎΡΡΠ°Π½Π°Π»Π° ΡΠ»Π΅Π΄ ΡΠΏΠ΅ΠΊΡΠ»Π°ΡΠΈΠ²Π½ΠΎΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° Π΄ΡΡΠ³ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ.
Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ ΠΈΠ·ΡΠΎΡΠ½ΠΈΠΊΠ° Π½Π° ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΡΡΠ°ΡΡΡΠ½ΠΈ Π΄Π°Π½Π½ΠΈ, ΡΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ Π΄Π²Π΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ:
- 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
