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

ΠŸΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½ΠΎ информация Π·Π° Π½ΠΎΠ² клас Π°Ρ‚Π°ΠΊΠΈ ΠžΠ’Πš (Π˜Π½ΠΆΠ΅ΠΊΡ‚ΠΈΡ€Π°Π½Π΅ Π½Π° стойност Π½Π° Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅, CVE-2020 0551-) относно спСкулативния ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΡŠΠΌ Π·Π° изпълнСниС Π² процСсоритС Π½Π° Intel, ΠΊΠΎΠΉΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΈΠ·Ρ‚ΠΈΡ‡Π°Π½Π΅ Π½Π° ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π΅ ΠΈ сСкрСтни Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ Π°Π½ΠΊΠ»Π°Π²ΠΈ Π½Π° Intel SGX ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ процСси.

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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