Атаката TSA, която Π²ΠΎΠ΄ΠΈ Π΄ΠΎ ΠΈΠ·Ρ‚ΠΈΡ‡Π°Π½Π΅ Π½Π° информация ΠΎΡ‚ ΠΌΠΈΠΊΡ€ΠΎΠ°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΠΈ структури Π½Π° CPU AMD

Компания 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

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