ΠΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½ΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° Π½ΠΎΠ² ΠΊΠ»Π°Ρ Π°ΡΠ°ΠΊΠΈ ΠΠΠ (ΠΠ½ΠΆΠ΅ΠΊΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡ Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅, 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 ΡΡΠ΅ΡΡ MDS Π°ΡΠ°ΠΊΠΈΡΠ΅ Π΅, ΡΠ΅ MDS ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ΡΠΎ Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΌΠΈΠΊΡΠΎΠ°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ½ΠΈΡΠ΅ ΡΡΡΡΠΊΡΡΡΠΈ, ΠΎΡΡΠ°Π²Π°ΡΠΈ Π² ΠΊΠ΅ΡΠ° ΡΠ»Π΅Π΄ ΡΠΏΠ΅ΠΊΡΠ»Π°ΡΠΈΠ²Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π³ΡΠ΅ΡΠΊΠΈ ΠΈΠ»ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ ΠΈ ΡΡΡ
ΡΠ°Π½ΡΠ²Π°Π½Π΅, Π΄ΠΎΠΊΠ°ΡΠΎ
LVI Π°ΡΠ°ΠΊΠΈΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ Π΄Π°Π½Π½ΠΈΡΠ΅ Π½Π° Π½Π°ΠΏΠ°Π΄Π°ΡΠ΅Π»Ρ Π΄Π° Π±ΡΠ΄Π°Ρ Π²ΠΌΡΠΊΠ½Π°ΡΠΈ Π² ΠΌΠΈΠΊΡΠΎΠ°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ½ΠΈ ΡΡΡΡΠΊΡΡΡΠΈ, Π·Π° Π΄Π° ΠΏΠΎΠ²Π»ΠΈΡΡΡ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π²Π°ΡΠΎΡΠΎ ΡΠΏΠ΅ΠΊΡΠ»Π°ΡΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ΄Π° Π½Π° ΠΆΠ΅ΡΡΠ²Π°ΡΠ°. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΡΠ΅Π·ΠΈ ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΈΠΈ, Π°ΡΠ°ΠΊΡΠ²Π°ΡΠΈΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·Π²Π»Π΅ΡΠ΅ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠ°ΡΡΠ½ΠΈ ΡΡΡΡΠΊΡΡΡΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ Π² Π΄ΡΡΠ³ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ, ΠΊΠΎΠ³Π°ΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΊΠΎΠ΄ Π½Π° ΡΠ΄ΡΠΎΡΠΎ Π½Π° ΡΠ΅Π»Π΅Π²ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΠΎΡ.
ΠΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠ°ΡΠΈΡΡΠ° Π² ΠΊΠΎΠ΄Π° Π½Π° ΠΏΡΠΎΡΠ΅ΡΠ° ΠΆΠ΅ΡΡΠ²Π° ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΡΡΠ΅ΡΠ½Π΅ ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎΡΡΠΈ ΠΎΡ ΠΊΠΎΠ΄ (Π΄ΠΆΠ°Π΄ΠΆΠΈ), Π² ΠΊΠΎΠΈΡΠΎ ΡΠ΅ Π·Π°ΡΠ΅ΠΆΠ΄Π° ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ°Π½Π° ΠΎΡ Π½Π°ΠΏΠ°Π΄Π°ΡΠ΅Π»Ρ ΡΡΠΎΠΉΠ½ΠΎΡΡ, ΠΈ Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ°Π·ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡ ΠΏΡΠΈΡΠΈΠ½ΡΠ²Π° ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ (Π³ΡΠ΅ΡΠΊΠ°, ΠΏΡΠ΅ΠΊΡΡΠ²Π°Π½Π΅ ΠΈΠ»ΠΈ ΠΏΠΎΠΌΠΎΡ), ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΎΡΡ
Π²ΡΡΠ»ΡΡ, ΡΠ΅Π·ΡΠ»ΡΠ°ΡΡΡ ΡΠ΅ ΠΎΡΡ
Π²ΡΡΠ»Ρ ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΡΠ° ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ. ΠΠΎΠ³Π°ΡΠΎ ΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π° ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, ΡΠ΅ ΠΏΠΎΡΠ²ΡΠ²Π° ΡΠΏΠ΅ΠΊΡΠ»Π°ΡΠΈΠ²Π΅Π½ ΠΏΡΠΎΠ·ΠΎΡΠ΅Ρ, ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΊΠΎΠΉΡΠΎ Π΄Π°Π½Π½ΠΈΡΠ΅, ΠΎΠ±ΡΠ°Π±ΠΎΡΠ΅Π½ΠΈ Π² ΠΏΡΠΈΡΡΡΠΊΠ°ΡΠ°, ΠΈΠ·ΡΠΈΡΠ°Ρ. ΠΠΎ-ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎ, ΠΏΡΠΎΡΠ΅ΡΠΎΡΡΡ Π·Π°ΠΏΠΎΡΠ²Π° Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° ΡΠ°ΡΡ ΠΎΡ ΠΊΠΎΠ΄ (ΠΏΡΠΈΡΡΡΠΊΠ°) Π² ΡΠΏΠ΅ΠΊΡΠ»Π°ΡΠΈΠ²Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ, ΡΠ»Π΅Π΄ ΠΊΠΎΠ΅ΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Ρ, ΡΠ΅ ΠΏΡΠΎΠ³Π½ΠΎΠ·Π°ΡΠ° Π½Π΅ Π΅ ΠΎΠΏΡΠ°Π²Π΄Π°Π½Π° ΠΈ Π²ΡΡΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ Π΄ΠΎ ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎΡΠΎ ΠΈΠΌ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅, Π½ΠΎ Π΄Π°Π½Π½ΠΈΡΠ΅, ΠΎΠ±ΡΠ°Π±ΠΎΡΠ΅Π½ΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠΏΠ΅ΠΊΡΠ»Π°ΡΠΈΠ²Π½ΠΎΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅, ΡΠ΅ Π΄Π΅ΠΏΠΎΠ·ΠΈΡΠ°Ρ Π² L1D ΠΊΠ΅ΡΠ° ΠΈ ΠΌΠΈΠΊΡΠΎΠ°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ½ΠΈ Π±ΡΡΠ΅ΡΠΈ ΠΈ Π΅ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π·Π° ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅ ΠΎΡ ΡΡΡ
Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΈΠ·Π²Π΅ΡΡΠ½ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈ Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΠΎΡΡΠ°ΡΡΡΠ½ΠΈ Π΄Π°Π½Π½ΠΈ ΡΡΠ΅Π· ΠΊΠ°Π½Π°Π»ΠΈ Π½Π° ΡΡΠ΅ΡΠΈ ΡΡΡΠ°Π½ΠΈ.
ΠΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΡΠΎ "assist", Π·Π° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΎΡ ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΡΠΎ "fault", ΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π° Π²ΡΡΡΠ΅ΡΠ½ΠΎ ΠΎΡ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ°, Π±Π΅Π· Π΄Π° ΡΠ΅ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Ρ ΡΠΎΡΡΡΠ΅ΡΠ½ΠΈ ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡΠΈ. ΠΠΎΠΌΠΎΡ ΠΌΠΎΠΆΠ΅ Π΄Π° Π²ΡΠ·Π½ΠΈΠΊΠ½Π΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ³Π°ΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ° Π±ΠΈΡΡΡ A (ΠΠΎΡΡΡΠΏΠ΅Π½) ΠΈΠ»ΠΈ D (ΠΡΡΡΠ΅Π½) Π² ΡΠ°Π±Π»ΠΈΡΠ°ΡΠ° Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°. ΠΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΡΡΡΠ΄Π½ΠΎΡΡ ΠΏΡΠΈ ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π°ΡΠ°ΠΊΠ° ΡΡΠ΅ΡΡ Π΄ΡΡΠ³ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ Π΅ ΠΊΠ°ΠΊ Π΄Π° ΡΠ΅ ΠΈΠ½ΠΈΡΠΈΠΈΡΠ° ΠΏΠΎΡΠ²Π°ΡΠ° Π½Π° ΠΏΠΎΠΌΠΎΡ ΡΡΠ΅Π· ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠ° ΠΆΠ΅ΡΡΠ²Π°. Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π½ΡΠΌΠ° Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΈ Π½Π°ΡΠΈΠ½ΠΈ Π·Π° ΡΠΎΠ²Π°, Π½ΠΎ Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ Π΄Π° Π±ΡΠ΄Π°Ρ Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈ Π² Π±ΡΠ΄Π΅ΡΠ΅. ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° Π°ΡΠ°ΠΊΠ° Π΄ΠΎΡΠ΅Π³Π° Π΅ ΠΏΠΎΡΠ²ΡΡΠ΄Π΅Π½Π° ΡΠ°ΠΌΠΎ Π·Π° Intel SGX Π°Π½ΠΊΠ»Π°Π²ΠΈ, Π΄ΡΡΠ³ΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠΈ ΡΠ° ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ½ΠΈ ΠΈΠ»ΠΈ Π²ΡΠ·ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌΠΈ Π² ΡΠΈΠ½ΡΠ΅ΡΠΈΡΠ½ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ (ΠΈΠ·ΠΈΡΠΊΠ²Π° Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ Π΄ΠΆΠ°Π΄ΠΆΠΈ ΠΊΡΠΌ ΠΊΠΎΠ΄Π°)
ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΈ Π²Π΅ΠΊΡΠΎΡΠΈ Π½Π° Π°ΡΠ°ΠΊΠ°:
- ΠΠ·ΡΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ ΡΡΡΡΠΊΡΡΡΠΈ Π½Π° ΡΠ΄ΡΠΎΡΠΎ Π² ΠΏΡΠΎΡΠ΅Ρ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎ Π½ΠΈΠ²ΠΎ. ΠΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° ΡΠ΄ΡΠΎΡΠΎ Π½Π° Linux ΡΡΠ΅ΡΡ Π°ΡΠ°ΠΊΠΈ Spectre 1, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΡΡ Π·Π° Π·Π°ΡΠΈΡΠ° SMAP (Supervisor Mode Access Prevention), Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π½Π°ΠΌΠ°Π»ΡΠ²Π°Ρ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡΠ° ΠΎΡ LVI Π°ΡΠ°ΠΊΠ°. ΠΠΎΠ±Π°Π²ΡΠ½Π΅ΡΠΎ Π½Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½Π° Π·Π°ΡΠΈΡΠ° ΠΊΡΠΌ ΡΠ΄ΡΠΎΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ, Π°ΠΊΠΎ Π² Π±ΡΠ΄Π΅ΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π½ΠΈ ΠΏΠΎ-ΠΏΡΠΎΡΡΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈ Π·Π° Π°ΡΠ°ΠΊΠ° Π½Π° LVI.
- ΠΠ·ΡΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ. ΠΡΠ°ΠΊΠ°ΡΠ° ΠΈΠ·ΠΈΡΠΊΠ²Π° Π½Π°Π»ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΠ°ΡΡΠΈ ΠΎΡ ΠΊΠΎΠ΄ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΈ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΌΠ΅ΡΠΎΠ΄ Π·Π° Ρ
Π²ΡΡΠ»ΡΠ½Π΅ Π½Π° ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π² ΡΠ΅Π»Π΅Π²ΠΈΡ ΠΏΡΠΎΡΠ΅Ρ.
- ΠΠ·ΡΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ Ρ
ΠΎΡΡ ΡΡΠ΅Π΄Π°ΡΠ° ΠΊΡΠΌ Π³ΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°. ΠΡΠ°ΠΊΠ°ΡΠ° Π΅ ΠΊΠ»Π°ΡΠΈΡΠΈΡΠΈΡΠ°Π½Π° ΠΊΠ°ΡΠΎ ΡΠ²ΡΡΠ΄Π΅ ΡΠ»ΠΎΠΆΠ½Π°, ΠΈΠ·ΠΈΡΠΊΠ²Π°ΡΠ° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΡΡΠ΄Π½ΠΈ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΡΠΏΠΊΠΈ ΠΈ ΠΏΡΠΎΠ³Π½ΠΎΠ·ΠΈ Π·Π° Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡΠ° Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°.
- ΠΠ·ΡΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΡΠ΅ΡΠΈ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° Π³ΠΎΡΡΠΈ. ΠΠ΅ΠΊΡΠΎΡΡΡ Π½Π° Π°ΡΠ°ΠΊΠ° Π΅ Π±Π»ΠΈΠ·ΠΎ Π΄ΠΎ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ·ΡΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ, Π½ΠΎ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΡΠ»ΠΎΠΆΠ½ΠΈ ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΈΠΈ Π·Π° Π·Π°ΠΎΠ±ΠΈΠΊΠ°Π»ΡΠ½Π΅ Π½Π° ΠΈΠ·ΠΎΠ»Π°ΡΠΈΡΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΈΡΡΠ΅ΠΌΠΈΡΠ΅ Π·Π° Π³ΠΎΡΡΠΈ.
ΠΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½ΠΎ ΠΎΡ ΠΈΠ·ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΌΠ°Π»ΠΊΠΎ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠΈ Ρ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΡ Π½Π° ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΡΠ΅ Π½Π° ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° Π°ΡΠ°ΠΊΠ°, Π½ΠΎ ΡΠ΅ Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ ΡΠ° ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡΠΈ Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΅Π°Π»Π½ΠΈ Π°ΡΠ°ΠΊΠΈ. ΠΡΡΠ²ΠΈΡΡ ΠΏΡΠΈΠΌΠ΅Ρ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΏΡΠ΅Π½Π°ΡΠΎΡΠΈΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠΏΠ΅ΠΊΡΠ»Π°ΡΠΈΠ²Π΅Π½ ΠΊΠΎΠ΄ Π² ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° ΠΆΠ΅ΡΡΠ²Π°ΡΠ°, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π½Π° ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠ°Π½ΠΎΡΠΎ ΠΊΡΠΌ Π²ΡΡΡΠ°Π½Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅ (ROP,ΠΡΠΈΠ΅Π½ΡΠΈΡΠ°Π½ΠΎ ΠΊΡΠΌ Π²ΡΡΡΠ°Π½Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅). Π ΡΠΎΠ·ΠΈ ΠΏΡΠΈΠΌΠ΅Ρ ΠΆΠ΅ΡΡΠ²Π°ΡΠ° Π΅ ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎ ΠΏΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ ΠΏΡΠΎΡΠ΅Ρ, ΡΡΠ΄ΡΡΠΆΠ°Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ Π΄ΠΆΠ°Π΄ΠΆΠΈ (ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ΡΠΎ Π½Π° Π°ΡΠ°ΠΊΠ° ΠΊΡΠΌ ΡΠ΅Π°Π»Π½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ Π½Π° ΡΡΠ΅ΡΠΈ ΡΡΡΠ°Π½ΠΈ Π΅ ΡΡΡΠ΄Π½ΠΎ). ΠΡΠΎΡΠΈΡΡ ΠΏΡΠΈΠΌΠ΅Ρ Π½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ΅ Π½Π°ΠΌΠ΅ΡΠΈΠΌ Π² ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΡΡΠ° ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° AES ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ Π² Intel SGX Π°Π½ΠΊΠ»Π°Π²Π° ΠΈ Π΄Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°ΠΌΠ΅ ΠΈΠ·ΡΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠΏΠ΅ΠΊΡΠ»Π°ΡΠΈΠ²Π½ΠΎΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π·Π° Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° Π½Π° ΠΊΠ»ΡΡΠ°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π·Π° ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru