Уязвимост ΠΎΡ‚ клас Meltdown Π΅ ΠΎΡ‚ΠΊΡ€ΠΈΡ‚Π° Π² AMD процСсори, Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° Zen+ ΠΈ Zen 2 ΠΌΠΈΠΊΡ€ΠΎΠ°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΈ

Π“Ρ€ΡƒΠΏΠ° изслСдоватСли ΠΎΡ‚ ВСхничСския унивСрситСт Π² Π”Ρ€Π΅Π·Π΄Π΅Π½ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π° уязвимост (CVE-2020-12965) Π² процСсоритС Π½Π° AMD, Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° Zen+ ΠΈ Zen 2 ΠΌΠΈΠΊΡ€ΠΎΠ°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΈ, която позволява Π°Ρ‚Π°ΠΊΠ° ΠΎΡ‚ клас Meltdown. ΠŸΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎ сС ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡˆΠ΅, Ρ‡Π΅ процСсоритС AMD Zen+ ΠΈ Zen 2 Π½Π΅ са ΠΏΠΎΠ΄Π°Ρ‚Π»ΠΈΠ²ΠΈ Π½Π° уязвимостта Meltdown, Π½ΠΎ изслСдоватСлитС ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Ρ…Π° функция, която Π²ΠΎΠ΄ΠΈ Π΄ΠΎ спСкулативСн Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Π·Π°Ρ‰ΠΈΡ‚Π΅Π½ΠΈ области Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° ΠΏΡ€ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π½Π΅ΠΊΠ°Π½ΠΎΠ½ΠΈΡ‡Π½ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ адрСси.

АрхитСктурата AMD64 ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° само ΠΏΡŠΡ€Π²ΠΈΡ‚Π΅ 48 Π±ΠΈΡ‚Π° ΠΎΡ‚ виртуалния адрСс ΠΈ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€Π° останалитС 16 Π±ΠΈΡ‚Π°. Уточнява сС, Ρ‡Π΅ Π±ΠΈΡ‚ΠΎΠ²Π΅ ΠΎΡ‚ 48 Π΄ΠΎ 63 трябва Π²ΠΈΠ½Π°Π³ΠΈ Π΄Π° ΠΊΠΎΠΏΠΈΡ€Π°Ρ‚ стойността Π½Π° Π±ΠΈΡ‚ 47 (Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Π½Π° Π·Π½Π°ΠΊΠΎΠ² Π±ΠΈΡ‚). Ако Ρ‚ΠΎΠ²Π° условиС Π΅ Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΎ ΠΈ сС Π½Π°ΠΏΡ€Π°Π²ΠΈ ΠΎΠΏΠΈΡ‚ Π·Π° Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ адрСс с ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈ стойности Π½Π° Π³ΠΎΡ€Π½ΠΈΡ‚Π΅ Π±ΠΈΡ‚ΠΎΠ²Π΅, ΠΏΡ€ΠΎΡ†Π΅ΡΠΎΡ€ΡŠΡ‚ Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅. ΠœΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎΡ‚ΠΎ запълванС Π½Π° Π³ΠΎΡ€Π½ΠΈΡ‚Π΅ Π±ΠΈΡ‚ΠΎΠ²Π΅ Π²ΠΎΠ΄ΠΈ Π΄ΠΎ раздСлянС Π½Π° Π½Π°Π»ΠΈΡ‡Π½ΠΎΡ‚ΠΎ адрСсно пространство Π½Π° Π΄Π²Π° Π±Π»ΠΎΠΊΠ° - Π΄ΠΎΠ»Π΅Π½ (ΠΎΡ‚ 0 Π΄ΠΎ 00007FFFFFFFFFFFFF), Π² ΠΊΠΎΠΉΡ‚ΠΎ Π³ΠΎΡ€Π½ΠΈΡ‚Π΅ Π±ΠΈΡ‚ΠΎΠ²Π΅ са Π·Π°Π΄Π°Π΄Π΅Π½ΠΈ Π½Π° 800000000000, ΠΈ Π³ΠΎΡ€Π΅Π½ (ΠΎΡ‚ FFFF1 Π΄ΠΎ FFFFFFFFFFFFFFFFFF), Π² ΠΊΠΎΠΉΡ‚ΠΎ всички Π³ΠΎΡ€Π½ΠΈ Π±ΠΈΡ‚ΠΎΠ²Π΅ са Π·Π°Π΄Π°Π΄Π΅Π½ΠΈ Π½Π° XNUMX.

АдрСситС, ΠΏΠΎΠΏΠ°Π΄Π°Ρ‰ΠΈ Π² посочСнитС Π±Π»ΠΎΠΊΠΎΠ²Π΅, сС Π½Π°Ρ€ΠΈΡ‡Π°Ρ‚ ​​канонични, Π° Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΈΡ‚Π΅ адрСси с ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΎ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅ Π½Π° Π³ΠΎΡ€Π½ΠΈΡ‚Π΅ Π±ΠΈΡ‚ΠΎΠ²Π΅ сС Π½Π°Ρ€ΠΈΡ‡Π°Ρ‚ ​​нСканонични. Долният Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΎΡ‚ ΠΊΠ°Π½ΠΎΠ½ΠΈΡ‡Π½ΠΈ адрСси ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ сС разпрСдСля Π·Π° Π΄Π°Π½Π½ΠΈ Π·Π° процСса, Π° горният Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° Π΄Π°Π½Π½ΠΈ Π½Π° ядрото (Π΄ΠΎΡΡ‚ΡŠΠΏΡŠΡ‚ Π΄ΠΎ Ρ‚Π΅Π·ΠΈ адрСси ΠΎΡ‚ потрСбитСлското пространство Π΅ Π±Π»ΠΎΠΊΠΈΡ€Π°Π½ Π½Π° Π½ΠΈΠ²ΠΎ раздСлянС Π½Π° ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ).

ΠšΠ»Π°ΡΠΈΡ‡Π΅ΡΠΊΠ°Ρ‚Π° уязвимост Meltdown сС основава Π½Π° Ρ„Π°ΠΊΡ‚Π°, Ρ‡Π΅ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° спСкулативно изпълнСниС Π½Π° инструкции, ΠΏΡ€ΠΎΡ†Π΅ΡΠΎΡ€ΡŠΡ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Π»ΠΈΡ‡Π½Π° област с Π΄Π°Π½Π½ΠΈ ΠΈ слСд Ρ‚ΠΎΠ²Π° Π΄Π° ΠΎΡ‚Ρ…Π²ΡŠΡ€Π»ΠΈ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚Π°, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Π·Π°Π΄Π°Π΄Π΅Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ забраняват Ρ‚Π°ΠΊΡŠΠ² Π΄ΠΎΡΡ‚ΡŠΠΏ ΠΎΡ‚ процСса Π½Π° потрСбитСля. Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° спСкулативно ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΡΡ‚ Π±Π»ΠΎΠΊ Π΅ ΠΎΡ‚Π΄Π΅Π»Π΅Π½ ΠΎΡ‚ основния ΠΊΠΎΠ΄ Ρ‡Ρ€Π΅Π· условСн ΠΊΠ»ΠΎΠ½, ΠΊΠΎΠΉΡ‚ΠΎ Π² Ρ€Π΅Π°Π»Π½ΠΈ условия Π²ΠΈΠ½Π°Π³ΠΈ сС задСйства, Π½ΠΎ ΠΏΠΎΡ€Π°Π΄ΠΈ Ρ„Π°ΠΊΡ‚Π°, Ρ‡Π΅ условният ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° изчислСна стойност, която ΠΏΡ€ΠΎΡ†Π΅ΡΠΎΡ€ΡŠΡ‚ Π½Π΅ Π·Π½Π°Π΅ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° ΠΏΡ€Π΅Π²Π°Π½Ρ‚ΠΈΠ²Π½ΠΎΡ‚ΠΎ изпълнСниС Π½Π° ΠΊΠΎΠ΄Π°, всички ΠΎΠΏΡ†ΠΈΠΈ Π·Π° ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅ сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Ρ‚ спСкулативно.

Въй ΠΊΠ°Ρ‚ΠΎ спСкулативно ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΡ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ ΡΡŠΡ‰ΠΈΡ кСш ΠΊΠ°Ρ‚ΠΎ Π½ΠΎΡ€ΠΌΠ°Π»Π½ΠΎ ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Π½ΠΈΡ‚Π΅ инструкции, Π΅ възмоТно ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° спСкулативното изпълнСниС Π΄Π° сС Π·Π°Π΄Π°Π΄Π°Ρ‚ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ΠΈ Π² кСша, ΠΊΠΎΠΈΡ‚ΠΎ отразяват ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ Π±ΠΈΡ‚ΠΎΠ²Π΅ Π² частна област Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°, Π° слСд Ρ‚ΠΎΠ²Π° Π² Π½ΠΎΡ€ΠΌΠ°Π»Π½ΠΎ изпълняван ΠΊΠΎΠ΄ Π΄Π° сС ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈ тяхната стойност Ρ‡Ρ€Π΅Π· синхронизация Π°Π½Π°Π»ΠΈΠ· Π½Π° Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°Π½ΠΈ ΠΈ Π½Π΅ΠΊΠ΅ΡˆΠΈΡ€Π°Π½ΠΈ Π΄Π°Π½Π½ΠΈ.

Π₯арактСристика Π½Π° Π½ΠΎΠ²Π°Ρ‚Π° уязвимост, която засяга процСсоритС AMD Zen+ ΠΈ Zen 2, Π΅, Ρ‡Π΅ процСсоритС позволяват спСкулативни ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π·Π° Ρ‡Π΅Ρ‚Π΅Π½Π΅ ΠΈ запис, ΠΊΠΎΠΈΡ‚ΠΎ ΠΎΡΡŠΡ‰Π΅ΡΡ‚Π²ΡΠ²Π°Ρ‚ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Π½Π΅Π²Π°Π»ΠΈΠ΄Π½ΠΈ Π½Π΅ΠΊΠ°Π½ΠΎΠ½ΠΈΡ‡Π½ΠΈ адрСси, просто ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€Π°ΠΉΠΊΠΈ Π³ΠΎΡ€Π½ΠΈΡ‚Π΅ 16 Π±ΠΈΡ‚Π°. По Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½, ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° спСкулативно изпълнСниС Π½Π° ΠΊΠΎΠ΄, ΠΏΡ€ΠΎΡ†Π΅ΡΠΎΡ€ΡŠΡ‚ Π²ΠΈΠ½Π°Π³ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° само ΠΏΠΎ-нискитС 48 Π±ΠΈΡ‚Π°, Π° валидността Π½Π° адрСса сС провСрява ΠΎΡ‚Π΄Π΅Π»Π½ΠΎ. Ако ΠΏΡ€ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π°Π½Π΅ Π½Π° Π½Π΅ΠΊΠ°Π½ΠΎΠ½ΠΈΡ‡Π΅Π½ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π΅Π½ адрСс към физичСски адрСс Π² Π±ΡƒΡ„Π΅Ρ€Π° Π·Π° асоциативСн ΠΏΡ€Π΅Π²ΠΎΠ΄ (TLB) сС ΠΎΡ‚ΠΊΡ€ΠΈΠ΅ съвпадСниС Π² ΠΊΠ°Π½ΠΎΠ½ΠΈΡ‡Π½Π°Ρ‚Π° част Π½Π° адрСса, Ρ‚ΠΎΠ³Π°Π²Π° опСрацията Π·Π° спСкулативно Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ Ρ‰Π΅ Π²ΡŠΡ€Π½Π΅ стойността, Π±Π΅Π· Π΄Π° Π²Π·Π΅ΠΌΠ° ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅Ρ‚ΠΎ ΠΎΡ‚ Π³ΠΎΡ€Π½ΠΈΡ‚Π΅ 16 Π±ΠΈΡ‚Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ позволява заобикалянС Π½Π° сподСлянСто Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚ ΠΌΠ΅ΠΆΠ΄Ρƒ нишки. ВпослСдствиС опСрацията Ρ‰Π΅ сС счита Π·Π° Π½Π΅Π²Π°Π»ΠΈΠ΄Π½Π° ΠΈ Ρ‰Π΅ бъдС ΠΎΡ‚Ρ…Π²ΡŠΡ€Π»Π΅Π½Π°, Π½ΠΎ Π΄ΠΎΡΡ‚ΡŠΠΏΡŠΡ‚ Π΄ΠΎ ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Ρ‰Π΅ бъдС Π·Π°Π²ΡŠΡ€ΡˆΠ΅Π½ ΠΈ Π΄Π°Π½Π½ΠΈΡ‚Π΅ Ρ‰Π΅ сС ΠΎΠΊΠ°ΠΆΠ°Ρ‚ Π² кСша.

По Π²Ρ€Π΅ΠΌΠ΅ Π½Π° СкспСримСнта, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ°Ρ‚Π° Π·Π° опрСдСлянС Π½Π° ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° кСша FLUSH+RELOAD, изслСдоватСлитС успяха Π΄Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Ρ‚ ΠΊΠ°Π½Π°Π» Π·Π° скрит трансфСр Π½Π° Π΄Π°Π½Π½ΠΈ със скорост 125 Π±Π°ΠΉΡ‚Π° Π² сСкунда. Π’ допълнСниС към Ρ‡ΠΈΠΏΠΎΠ²Π΅Ρ‚Π΅ Π½Π° AMD, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ засяга ΠΈ всички процСсори Π½Π° Intel, ΠΊΠΎΠΈΡ‚ΠΎ са ΠΏΠΎΠ΄Π°Ρ‚Π»ΠΈΠ²ΠΈ Π½Π° класичСската уязвимост Meltdown. Π‘ΡŠΡ‰ΠΈΡ‚Π΅ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΠΎΠΌΠ°Π³Π°Ρ‚ Π·Π° Π±Π»ΠΎΠΊΠΈΡ€Π°Π½Π΅ Π½Π° Π°Ρ‚Π°ΠΊΠΈ Meltdown, ΠΊΠ°Ρ‚ΠΎ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° инструкции Π½Π° LFENCE, ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π·Π° Π·Π°Ρ‰ΠΈΡ‚Π° срСщу Ρ‚ΠΎΠ·ΠΈ Π½ΠΎΠ² Ρ‚ΠΈΠΏ Π°Ρ‚Π°ΠΊΠ°. НапримСр, Π°ΠΊΠΎ процСсор Π½Π° Intel Π²ΠΊΠ»ΡŽΡ‡Π²Π° Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€Π½Π° Π·Π°Ρ‰ΠΈΡ‚Π° срСщу Meltdown ΠΈΠ»ΠΈ систСмата ΠΈΠΌΠ° Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½Π° софтуСрна Π·Π°Ρ‰ΠΈΡ‚Π°, Ρ‚ΠΎΠ³Π°Π²Π° Ρ‚Π°ΠΊΠΈΠ²Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π½Π΅ са ΠΏΠΎΠ΄Π°Ρ‚Π»ΠΈΠ²ΠΈ Π½Π° новия Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π½Π° Π°Ρ‚Π°ΠΊΠ°.

Π’ ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ изслСдоватСлитС отбСлязват, Ρ‡Π΅ Π² сравнСниС с процСсоритС Π½Π° Intel, Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ‚Π° Π½Π° процСсоритС Π½Π° AMD ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π°Π²Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° Ρ€Π΅Π°Π»Π½ΠΈ Π°Ρ‚Π°ΠΊΠΈ, Π½ΠΎ Π½Π΅ ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π²Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π½ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄ Π² комбинация с Π΄Ρ€ΡƒΠ³ΠΈ ΠΌΠΈΠΊΡ€ΠΎΠ°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΠΈ Π°Ρ‚Π°ΠΊΠΈ Π·Π° повишаванС Π½Π° тяхната СфСктивност. По-спСциално, ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π°Ρ‚Π° Π°Ρ‚Π°ΠΊΠ° Π½Π΅ позволява Π΄Π° сС ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° областитС Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π½Π° ядрото ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ процСси, Π½ΠΎ Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π° Π΄ΠΎ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Π½Π΅ Π½Π° Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ нишки Π½Π° ΡΡŠΡ‰Π°Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°, изпълнявани Π² ΡΡŠΡ‰ΠΎΡ‚ΠΎ пространство Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π°Ρ‚Π° ΠΏΠ°ΠΌΠ΅Ρ‚.

Въй ΠΊΠ°Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° Π±Π΅Π· уязвимост ΠΈΠΌΠ° способността Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ своитС нишки, ΠΎΡ‚ практичСска Π³Π»Π΅Π΄Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ° ΠΌΠ΅Ρ‚ΠΎΠ΄ΡŠΡ‚ прСдставлява интСрСс Π·Π° заобикалянС Π½Π° изолацията Π½Π° ΠΏΡΡΡŠΡ‡Π½ΠΈΠΊΠ° ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° намСса Π² Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° Π΄Ρ€ΡƒΠ³ΠΈ нишки Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ позволяват ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Ρ‚Ρ€Π΅Ρ‚ΠΈ страни ΠΊΠΎΠ΄, ΠΊΠ°Ρ‚ΠΎ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΡƒΠ΅Π± Π±Ρ€Π°ΡƒΠ·ΡŠΡ€ΠΈ ΠΈ JIT Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»ΠΈ. Π˜Π·ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈΡ‚Π΅ изслСдваха уязвимостта Π½Π° JavaScript двигатСля Π½Π° SpiderMonkey ΠΈ ядрото Π½Π° Linux Π·Π° Π°Ρ‚Π°ΠΊΠ°, Π½ΠΎ Π½Π΅ ΠΎΡ‚ΠΊΡ€ΠΈΡ…Π° уязвими ΠΊΠΎΠ΄ΠΎΠ²ΠΈ послСдоватСлности, ΠΊΠΎΠΈΡ‚ΠΎ Π±ΠΈΡ…Π° ΠΌΠΎΠ³Π»ΠΈ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π·Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° Π°Ρ‚Π°ΠΊΠ°. Π’ допълнСниС към Π°Ρ‚Π°ΠΊΡƒΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° прилоТСния, ΠΌΠ΅Ρ‚ΠΎΠ΄ΡŠΡ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΈ Π·Π° форсиранС Π½Π° Π½Π΅ΠΏΡ€ΠΈΠ΅ΠΌΠ»ΠΈΠ²ΠΈ ΠΏΠΎΡ‚ΠΎΡ†ΠΈ ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΌΠΈΠΊΡ€ΠΎΠ°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΠΈΡ‚Π΅ Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈ Π½Π° процСсора, ΠΊΠ°Ρ‚ΠΎ ΡΡŠΡ‰Π΅Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π΄Ρ€ΡƒΠ³ΠΈ ΠΌΠΈΠΊΡ€ΠΎΠ°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΠΈ уязвимости.

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

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€