LVI β€” Π½ΠΎΠ² клас Π°Ρ‚Π°ΠΊΠΈ Π²ΡŠΡ€Ρ…Ρƒ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Π½Π° спСкулативното изпълнСниС Π² CPU

ОбявСни Π΄Π°Π½Π½ΠΈ Π·Π° Π½ΠΎΠ² клас Π°Ρ‚Π°ΠΊΠΈ LVI (Load Value Injection, CVE-2020-0551) Π²ΡŠΡ€Ρ…Ρƒ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° спСкулативно изпълнСниС Π² CPU Intel, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π·Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΈΠ·Ρ‚ΠΈΡ‡Π°Π½Π΅ Π½Π° ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π΅ ΠΈ сСкрСтни Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ Intel SGX Π°Π½ΠΊΠ»Π°Π²ΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ процСси.

Новият клас Π°Ρ‚Π°ΠΊΠΈ Π΅ Π±Π°Π·ΠΈΡ€Π°Π½ Π½Π° ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ†ΠΈΠΈ с ΡΡŠΡ‰ΠΈΡ‚Π΅ ΠΌΠΈΠΊΡ€ΠΎΠ°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΠΈ структури, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΏΡ€ΠΈ Π°Ρ‚Π°ΠΊΠΈΡ‚Π΅ MDS (Microarchitectural Data Sampling), Spectre ΠΈ Meltdown.Π’ ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½ΠΎΠ²ΠΈΡ‚Π΅ Π°Ρ‚Π°ΠΊΠΈ Π½Π΅ сС Π±Π»ΠΎΠΊΠΈΡ€Π°Ρ‚ ΠΎΡ‚ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ Π·Π° Π·Π°Ρ‰ΠΈΡ‚Π° срСщу Meltdown, Spectre, MDS ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Π°Ρ‚Π°ΠΊΠΈ. Π—Π° Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½Π° Π·Π°Ρ‰ΠΈΡ‚Π° срСщу LVI Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ въвСТданС Π½Π° Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€Π½ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² CPU. ΠŸΡ€ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° Π·Π°Ρ‰ΠΈΡ‚Π° ΠΏΠΎ софтуСрСн ΠΏΡŠΡ‚, Ρ‡Ρ€Π΅Π· добавянС Π½Π° инструкции LFENCE слСд всяка опСрация Π½Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ ΠΎΡ‚ ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° ΠΈ подмяна Π½Π° инструкциитС RET с POP, LFENCE ΠΈ JMP, сС фиксират Ρ‚Π²ΡŠΡ€Π΄Π΅ Π³ΠΎΠ»Π΅ΠΌΠΈ Ρ€Π°Π·Ρ…ΠΎΠ΄ΠΈ – ΠΏΠΎ ΠΎΡ†Π΅Π½ΠΊΠΈ Π½Π° изслСдоватСлитС, ΠΏΡŠΠ»Π½Π°Ρ‚Π° софтуСрна Π·Π°Ρ‰ΠΈΡ‚Π° Ρ‰Π΅ Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ намаляванС Π½Π° производитСлността с 2-19 ΠΏΡŠΡ‚ΠΈ.

Частично, трудността ΠΏΡ€ΠΈ Π±Π»ΠΎΠΊΠΈΡ€Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° сС компСнсира ΠΎΡ‚ Ρ‚ΠΎΠ²Π°, Ρ‡Π΅ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π°Ρ‚Π°ΠΊΠ°Ρ‚Π° носи ΠΏΡ€Π΅Π΄ΠΈΠΌΠ½ΠΎ Ρ‚Π΅ΠΎΡ€Π΅Ρ‚ΠΈΡ‡Π΅Π½, ΠΎΡ‚ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅Π½ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ (Π°Ρ‚Π°ΠΊΠ°Ρ‚Π° Π΅ Ρ‚Π΅ΠΎΡ€Π΅Ρ‚ΠΈΡ‡Π½ΠΎ възмоТна, Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Ρ‚Ρ€ΡƒΠ΄Π½Π° Π·Π° Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ ΠΈ сС Π²ΡŠΠ·ΠΏΡ€ΠΎΠΈΠ·Π²Π΅ΠΆΠ΄Π° само Π² синтСтични тСстовС).
Компания Intel ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π½Π° ΡƒΠΌΠ΅Ρ€Π΅Π½ΠΎ Π½ΠΈΠ²ΠΎ Π½Π° опасност (5.6 ΠΎΡ‚ 10) ΠΈ пусна ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π½Π° Ρ„ΡŠΡ€ΠΌΡƒΠ΅Ρ€Π° ΠΈ SDK Π·Π° срСдата SGX, Π² ΠΊΠΎΠΈΡ‚ΠΎ сС ΠΎΠΏΠΈΡ‚Π²Π°Ρ‚ Π΄Π° Π±Π»ΠΎΠΊΠΈΡ€Π°Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π°Ρ‚Π° Π°Ρ‚Π°ΠΊΠ° ΠΏΠΎ Π·Π°ΠΎΠ±ΠΈΠΊΠΎΠ»Π΅Π½ ΠΏΡŠΡ‚. ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ Π·Π° Π°Ρ‚Π°ΠΊΠ° Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° са ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈΠΌΠΈ само Π·Π° процСсори Intel, Π½ΠΎ Π½Π΅ сС ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π²Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° LVI Π΄Π° бъдС Π°Π΄Π°ΠΏΡ‚ΠΈΡ€Π°Π½Π° ΠΈ Π·Π° Π΄Ρ€ΡƒΠ³ΠΈ процСсори, Π½Π° ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΠΏΡ€ΠΈΠ»Π°Π³Π°Ρ‚ Π°Ρ‚Π°ΠΊΠΈ ΠΎΡ‚ клас Meltdown.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ‚Π° бСшС установСна ΠΏΡ€Π΅Π· Π°ΠΏΡ€ΠΈΠ» ΠΌΠΈΠ½Π°Π»Π°Ρ‚Π° Π³ΠΎΠ΄ΠΈΠ½Π° ΠΎΡ‚ изслСдоватСля Π”ΠΆΠΎ Π’Π°Π½ Π‘Π°Π»ΠΊ (Jo Van Bulck) ΠΎΡ‚ Π›ΡŒΠΎΠ²Π΅Π½ΡΠΊΠΈΡ унивСрситСт, слСд ΠΊΠΎΠ΅Ρ‚ΠΎ с участиСто Π½Π° 9 изслСдоватСли ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈ унивСрситСти, бяха Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π΅Π½ΠΈ ΠΏΠ΅Ρ‚ основни ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π·Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° Π°Ρ‚Π°ΠΊΠΈ, всСки ΠΎΡ‚ ΠΊΠΎΠΈΡ‚ΠΎ допуска ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΠΎ-спСцифични Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΈ.НСзависимо, ΠΏΡ€Π΅Π· Ρ„Π΅Π²Ρ€ΡƒΠ°Ρ€ΠΈ Ρ‚Π°Π·ΠΈ Π³ΠΎΠ΄ΠΈΠ½Π° изслСдоватСли ΠΎΡ‚ компанията Bitdefender ΡΡŠΡ‰ΠΎ ΠΎΡ‚ΠΊΡ€ΠΈΡ…Π° констатираха Π΅Π΄ΠΈΠ½ ΠΎΡ‚ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΈΡ‚Π΅ Π½Π° Π°Ρ‚Π°ΠΊΠ° LVI ΠΈ Π³ΠΎ ΡΡŠΠΎΠ±Ρ‰ΠΈΡ…Π° Π½Π° Intel. Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΈΡ‚Π΅ Π½Π° Π°Ρ‚Π°ΠΊΠΈΡ‚Π΅ сС Ρ€Π°Π·Π»ΠΈΡ‡Π°Π²Π°Ρ‚ ΠΏΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΌΠΈΠΊΡ€ΠΎΠ°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΠΈ структури, ΠΊΠ°Ρ‚ΠΎ Π±ΡƒΡ„Π΅Ρ€ Π·Π° запамСтяванС (SB, Store Buffer), Π±ΡƒΡ„Π΅Ρ€ Π·Π° запълванС (LFB, Line Fill Buffer), Π±ΡƒΡ„Π΅Ρ€ Π·Π° смяна Π½Π° контСкста FPU ΠΈ кСш ΠΎΡ‚ ΠΏΡŠΡ€Π²ΠΎ Π½ΠΈΠ²ΠΎ (L1D), ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ ΠΏΡ€Π΅Π΄ΠΈ Ρ‚ΠΎΠ²Π° Π² Ρ‚Π°ΠΊΠΈΠ²Π° Π°Ρ‚Π°ΠΊΠΈ ΠΊΠ°Ρ‚ΠΎ ZombieLoad, RIDL, Fallout, LazyFP., Foreshadow. ΠΈ Meltdown.

LVI - Π½ΠΎΠ² клас Π°Ρ‚Π°ΠΊΠΈ срСщу ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Π½Π° спСкулативно изпълнСниС Π² CPU

ΠžΡΠ½ΠΎΠ²Π½ΠΎΡ‚ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅. LVI Π°Ρ‚Π°ΠΊΠΈΡ‚Π΅ MDS Π΅, Ρ‡Π΅ MDS ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠ°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΠΈ структури, ΠΊΠΎΠΈΡ‚ΠΎ остават Π² кСша слСд спСкулативна ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ (fault) ΠΈΠ»ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ load ΠΈ store, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ
Π°Ρ‚Π°ΠΊΠΈΡ‚Π΅ LVI позволяват подмяна Π½Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ attacker Π² ΠΌΠΈΠΊΡ€ΠΎΠ°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΠΈ структури, с Ρ†Π΅Π» влияниС Π²ΡŠΡ€Ρ…Ρƒ слСдващото спСкулативно изпълнСниС Π½Π° ΠΊΠΎΠ΄Π° Π½Π° ΠΆΠ΅Ρ€Ρ‚Π²Π°Ρ‚Π°. Π§Ρ€Π΅Π· посочСнитС ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ†ΠΈΠΈ, атакуващият ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·Π²Π»Π΅Ρ‡Π΅ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Π·Π°ΠΊΡ€ΠΈΡ‚ΠΈ структури ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΈ процСси ΠΏΡ€ΠΈ изпълнСниС Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ ΠΊΠΎΠ΄ Π½Π° цСлСвия CPU.

LVI - Π½ΠΎΠ² клас Π°Ρ‚Π°ΠΊΠΈ срСщу ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Π½Π° спСкулативно изпълнСниС Π² CPU

Π—Π° Сксплоатация Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π² ΠΊΠΎΠ΄Π° Π½Π° процСса-ΠΆΠ΅Ρ€Ρ‚Π²Π° трябва Π΄Π° ΠΏΡ€ΠΈΡΡŠΡΡ‚Π²Π°Ρ‚ спСциални послСдоватСлности ΠΎΡ‚ ΠΊΠΎΠ΄ (gadgets), Π² ΠΊΠΎΠΈΡ‚ΠΎ сС Π·Π°Ρ€Π΅ΠΆΠ΄Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€Π°Π½Π° ΠΎΡ‚ атакуващия стойност, Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ‚Π°Π·ΠΈ стойност Π²ΠΎΠ΄ΠΈ Π΄ΠΎ възникванС Π½Π° ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ (fault, abort ΠΈΠ»ΠΈ assist), ΠΊΠΎΠΈΡ‚ΠΎ ΠΎΡ‚Ρ…Π²ΡŠΡ€Π»ΡΡ‚ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚Π° ΠΈ ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ инструкциитС ΠΎΡ‚Π½ΠΎΠ²ΠΎ. ΠŸΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅Ρ‚ΠΎ възниква спСкулативСн ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ†, Π² ΠΊΠΎΠΉΡ‚ΠΎ сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° ΠΈΠ·Ρ‚ΠΈΡ‡Π°Π½Π΅ Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½ΠΈΡ‚Π΅ Π² Π³Π°Π΄ΠΆΠ΅Ρ‚Π° Π΄Π°Π½Π½ΠΈ. Π’ частност, ΠΏΡ€ΠΎΡ†Π΅ΡΠΎΡ€ΡŠΡ‚ Π·Π°ΠΏΠΎΡ‡Π²Π° Π΄Π° изпълнява Π² спСкулативСн Ρ€Π΅ΠΆΠΈΠΌ част ΠΎΡ‚ ΠΊΠΎΠ΄Π° (Π³Π°Π΄ΠΆΠ΅Ρ‚), слСд ΠΊΠΎΠ΅Ρ‚ΠΎ установява, Ρ‡Π΅ прСдсказаниСто Π½Π΅ сС Π΅ ΠΎΠΏΡ€Π°Π²Π΄Π°Π»ΠΎ ΠΈ отмСня ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ Π΄ΠΎ ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎΡ‚ΠΎ ΠΈΠΌ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅, Π½ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π΅Π½ΠΈΡ‚Π΅ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° спСкулативното изпълнСниС Π΄Π°Π½Π½ΠΈ остават Π² кСша L1D ΠΈ ΠΌΠΈΠΊΡ€ΠΎΠ°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΠΈΡ‚Π΅ Π±ΡƒΡ„Π΅Ρ€ΠΈ ΠΈ са Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΈ Π·Π° ΠΈΠ·Π²Π»ΠΈΡ‡Π°Π½Π΅ ΠΎΡ‚ тях с извСстни ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ Π·Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΈ Π΄Π°Π½Π½ΠΈ Ρ‡Ρ€Π΅Π· странични ΠΊΠ°Π½Π°Π»ΠΈ.

Π˜Π·ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Β«assistΒ», Π·Π° Ρ€Π°Π·Π»ΠΈΠΊΠ° ΠΎΡ‚ Β«faultΒ», сС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π° Π²ΡŠΡ‚Ρ€Π΅ Π² процСсора Π±Π΅Π· ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° софтуСрни ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ. Assist ΠΌΠΎΠΆΠ΅ Π΄Π° възникнС, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° сС ΠΎΠ±Π½ΠΎΠ²ΠΈ Π±ΠΈΡ‚ A (Accessed) ΠΈΠ»ΠΈ D (Dirty) Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π° Π·Π° страници Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°. ΠžΡΠ½ΠΎΠ²Π½Π°Ρ‚Π° трудност ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ²Π΅ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π°Ρ‚Π°ΠΊΠ° Π²ΡŠΡ€Ρ…Ρƒ Π΄Ρ€ΡƒΠ³ΠΈ процСси Π΅ ΠΊΠ°ΠΊ Π΄Π° сС ΠΈΠ½ΠΈΡ†ΠΈΡ€Π° Π²ΡŠΠ·Π½ΠΈΠΊΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° assist, ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€Π°ΠΉΠΊΠΈ процСса Π½Π° ΠΆΠ΅Ρ€Ρ‚Π²Π°Ρ‚Π°. Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π½Π΅ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‚ Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ Π·Π° Ρ‚ΠΎΠ²Π°, Π½ΠΎ Π² Π±ΡŠΠ΄Π΅Ρ‰Π΅ Π½Π΅ Π΅ ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ Π½Π°ΠΌΠ΅Ρ€Π΅Π½ΠΈ. Π’ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° Π°Ρ‚Π°ΠΊΠ°Ρ‚Π° към ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π΅ ΠΏΠΎΡ‚Π²ΡŠΡ€Π΄Π΅Π½Π° само Π·Π° Π°Π½ΠΊΠ»Π°Π²ΠΈ Π½Π° Intel SGX, Π΄Ρ€ΡƒΠ³ΠΈ сцСнарии остават Ρ‚Π΅ΠΎΡ€Π΅Ρ‚ΠΈΡ‡Π½ΠΈ ΠΈΠ»ΠΈ Π²ΡŠΠ·ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌΠΈ Π² синтСтични условия (Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΅ добавянС Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ gadgets Π² ΠΊΠΎΠ΄Π°)

LVI - Π½ΠΎΠ² клас Π°Ρ‚Π°ΠΊΠΈ срСщу ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Π½Π° спСкулативно изпълнСниС Π² CPU

LVI - Π½ΠΎΠ² клас Π°Ρ‚Π°ΠΊΠΈ срСщу ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Π½Π° спСкулативно изпълнСниС Π² CPU

Π’ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΈ Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΈ Π½Π° Π°Ρ‚Π°ΠΊΠΈ:

  • Π˜Π·Ρ‚ΠΈΡ‡Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ ядрСни структури към потрСбитСлския процСс. Π‘ΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰Π°Ρ‚Π° Π·Π°Ρ‰ΠΈΡ‚Π° Π² ядрото Π½Π° Linux срСщу Π°Ρ‚Π°ΠΊΠΈ ΠΎΡ‚ клас Spectre 1, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡŠΡ‚ Π·Π° Π·Π°Ρ‰ΠΈΡ‚Π° SMAP (ΠŸΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΡΠ²Π°Π½Π΅ Π½Π° Π΄ΠΎΡΡ‚ΡŠΠΏ Π² Ρ€Π΅ΠΆΠΈΠΌ Π½Π° Π½Π°Π΄Π·ΠΎΡ€) Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ намаляват вСроятността ΠΎΡ‚ Π°Ρ‚Π°ΠΊΠ° LVI. Π”ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½Π° Π·Π°Ρ‰ΠΈΡ‚Π° Π² ядрото ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ°, Π°ΠΊΠΎ Π² Π±ΡŠΠ΄Π΅Ρ‰Π΅ сС открият ΠΏΠΎ-прости ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ Π·Π° Π°Ρ‚Π°ΠΊΠ° LVI.
  • Π˜Π·Ρ‚ΠΈΡ‡Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ процСси. Π—Π° Π°Ρ‚Π°ΠΊΠ°Ρ‚Π° Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π½Π° спСцифични Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΈ ΠΎΡ‚ ΠΊΠΎΠ΄ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΈ опрСдСлянС Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π·Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π² цСлСвия процСс.
  • Π˜Π·Ρ‚ΠΈΡ‡Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ хост срСда Π² гостуваща систСма. Атаката Π΅ класифицирана ΠΊΠ°Ρ‚ΠΎ ΠΏΡ€Π΅ΠΊΠ°Π»Π΅Π½ΠΎ слоТна, изискваща ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Ρ‚Ρ€ΡƒΠ΄Π½ΠΈ ΡΡ‚ΡŠΠΏΠΊΠΈ ΠΈ прСдсказванС Π½Π° активността Π² систСмата.
  • Π˜Π·Ρ‚ΠΈΡ‡Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ процСси Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ гостуващи систСми. Π’Π΅ΠΊΡ‚ΠΎΡ€ΡŠΡ‚ Π½Π° Π°Ρ‚Π°ΠΊΠ°Ρ‚Π° Π΅ близък Π΄ΠΎ организацията Π½Π° ΠΈΠ·Ρ‚ΠΈΡ‡Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ процСси, Π½ΠΎ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ изисква ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° слоТни ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ†ΠΈΠΈ Π·Π° заобикалянС Π½Π° изолацията ΠΌΠ΅ΠΆΠ΄Ρƒ гостуващитС систСми.

Π˜Π·ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈΡ‚Π΅ оповСстиха ΡΡŠΡ€Π²ΡŠΡ€Π°, Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° сС ΠΈΠ·Π±Π°Π²ΠΈΡ‚Π΅ ΠΎΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с "Ρ€Π°Π·Π΄ΡƒΠ²Π°Π½Π΅Ρ‚ΠΎ" Π½Π° индСкситС с Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ. Ясно Π΅, Ρ‡Π΅ Π°ΠΊΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° си ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚Π΅ всСки Π΄Π΅Π½ Π΄Π° пускатС Π½ΠΎΠ² ΡΡŠΡ€Π²ΡŠΡ€, Π²Π°ΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ Π²Π΅Ρ‡Π΅ Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ Π½Π° съвсСм Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎ Ρ€Π°Π²Π½ΠΈΡ‰Π΅. ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠΈ с дСмонстрация Π½Π° ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΡ‚Π΅ Π½Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° Π°Ρ‚Π°ΠΊΠ°, Π½ΠΎ Ρ‚Π΅ всС ΠΎΡ‰Π΅ Π½Π΅ са подходящи Π·Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° Ρ€Π΅Π°Π»Π½ΠΈ Π°Ρ‚Π°ΠΊΠΈ. ΠŸΡŠΡ€Π²ΠΈΡΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ позволява прСнасочванС Π½Π° спСкулативното изпълнСниС Π½Π° ΠΊΠΎΠ΄ Π² процСса-ΠΆΠ΅Ρ€Ρ‚Π²Π° ΠΏΠΎ аналогия с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅Ρ‚ΠΎ, основано Π½Π° Π²Ρ€ΡŠΡ‰Π°Π½Π΅ (ROP, Return-Oriented Programming). Π’ Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΆΠ΅Ρ€Ρ‚Π²Π°Ρ‚Π° Π΅ спСциално ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²Π΅Π½ процСс, ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Ρ‰ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈΡ‚Π΅ Π³Π°Π΄ΠΆΠ΅Ρ‚ΠΈ (ΠΏΡ€ΠΈΠ»Π°Π³Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π°Ρ‚Π°ΠΊΠ°Ρ‚Π° към Ρ€Π΅Π°Π»Π½ΠΈ Ρ‚Ρ€Π΅Ρ‚ΠΈ страни процСси Π΅ Π·Π°Ρ‚Ρ€ΡƒΠ΄Π½Π΅Π½ΠΎ). Вторият ΠΏΡ€ΠΈΠΌΠ΅Ρ€ позволява намСсванС Π² изчислСнията ΠΏΡ€ΠΈ ΡˆΠΈΡ„Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° AES Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° Π°Π½ΠΊΠ»Π°Π²Π° Intel SGX ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΈΠ·Ρ‚ΠΈΡ‡Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° спСкулативното изпълнСниС Π½Π° инструкции Π·Π° Π²ΡŠΠ·ΡΡ‚Π°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° стойността Π½Π° използвания Π·Π° ΡˆΠΈΡ„Ρ€ΠΈΡ€Π°Π½Π΅ ΠΊΠ»ΡŽΡ‡.


ΠŸΡƒΡΠ½Π΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅ΠΎΡ‚ΠΎ

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

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