ΠΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΈΠ· ΠΡΠ°ΡΡΠΊΠΎΠ³ΠΎ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅ΡΠ° (ΠΠ²ΡΡΡΠΈΡ) ΡΠ°ΡΠΊΡΡΠ»ΠΈ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ Π½ΠΎΠ²ΠΎΠΌ ΠΌΠ΅ΡΠΎΠ΄Π΅ Π°ΡΠ°ΠΊΠΈ ΠΏΠΎ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΌ ΠΊΠ°Π½Π°Π»Π°ΠΌ ZombieLoad 2.0 (CVE-2019-11135), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅ΠΌ ΠΈΠ·Π²Π»Π΅ΡΡ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈΠ· Π΄ΡΡΠ³ΠΈΡ
ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ², ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ
ΠΌΠ°ΡΠΈΠ½ ΠΈ Π·Π°ΡΠΈΡΡΠ½Π½ΡΡ
Π°Π½ΠΊΠ»Π°Π²ΠΎΠ² (TEE, Trusted Execution Environment). ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Π·Π°ΡΡΠ°Π³ΠΈΠ²Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΡ Intel. ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π΄Π»Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Ρ Π²ΠΎ Π²ΡΠ΅ΡΠ°ΡΠ½Π΅ΠΌ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ΄Π°.
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΠΊΠ»Π°ΡΡΡ MDS (Microarchitectural Data Sampling) ΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠΎΠ΄Π΅ΡΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠΌ ΠΎΠ±Π½Π°ΡΠΎΠ΄ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π² ΠΌΠ°Π΅ Π°ΡΠ°ΠΊΠΈ ZombieLoad. ZombieLoad 2.0, ΠΊΠ°ΠΊ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ Π°ΡΠ°ΠΊΠΈ ΠΊΠ»Π°ΡΡΠ° MDS, ΠΎΡΠ½ΠΎΠ²ΡΠ²Π°ΡΡΡΡ Π½Π° ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΠΎ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΌ ΠΊΠ°Π½Π°Π»Π°ΠΌ ΠΊ Π΄Π°Π½Π½ΡΠΌ Π² ΠΌΠΈΠΊΡΠΎΠ°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΡ
ΡΡΡΡΠΊΡΡΡΠ°Ρ
(Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Π±ΡΡΠ΅ΡΠ°Ρ
Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ (Line Fill Buffer) ΠΈ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ (Store Buffer), Π² ΠΊΠΎΡΠΎΡΡΡ
Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠΎΡ
ΡΠ°Π½ΡΡΡΡΡ Π΄Π°Π½Π½ΡΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Load ΠΈ Store).
ΠΠΎΠ²ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ Π°ΡΠ°ΠΊΠΈ Zombieload ΠΎΡΠ½ΠΎΠ²ΡΠ²Π°Π΅ΡΡΡ Π½Π° ΡΡΠ΅ΡΠΊΠ΅, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡΠ΅ΠΉ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠ° Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ (TAA, TSX Asynchronous Abort), ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π² ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΈ TSX (Transactional Synchronization Extensions), ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠ΅ΠΌ ΡΡΠ΅Π΄ΡΡΠ²Π° Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΎΠ½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΡΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅ΠΉ ΠΏΠΎΠ²ΡΡΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π·Π° ΡΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π»ΠΈΡΠ½ΠΈΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ (ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ Π°ΡΠΎΠΌΠ°ΡΠ½ΡΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π»ΠΈΠ±ΠΎ ΠΏΡΠΈΠ½ΡΡΡ, Π»ΠΈΠ±ΠΎ ΠΏΡΠ΅ΡΠ²Π°Π½Ρ). Π ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ, ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΡΠ΅ Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΎΠ½Π½ΡΠΌ ΡΠ΅Π³ΠΈΠΎΠ½ΠΎΠΌ ΠΏΠ°ΠΌΡΡΠΈ, ΠΎΡΠΊΠ°ΡΡΠ²Π°ΡΡΡΡ.
ΠΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎ, ΠΈ Π² ΡΡΠΎ Π²ΡΠ΅ΠΌΡ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠΎΡΠΎΠΊΠΈ ΠΌΠΎΠ³ΡΡ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ ΠΊΡΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΎΡΠ±ΡΠ°ΡΡΠ²Π°Π΅ΠΌΠΎΠΌ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΎΠ½Π½ΠΎΠΌ ΡΠ΅Π³ΠΈΠΎΠ½Π΅ ΠΏΠ°ΠΌΡΡΠΈ. Π ΠΌΠΎΠΌΠ΅Π½Ρ ΠΎΡ Π½Π°ΡΠ°Π»Π° Π΄ΠΎ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π½Π΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠ΅ ΡΠΈΡΡΠ°ΡΠΈΠΉ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ Π² Ρ
ΠΎΠ΄Π΅ ΡΠΏΠ΅ΠΊΡΠ»ΡΡΠΈΠ²Π½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ
ΠΌΠΈΠΊΡΠΎΠ°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΡ
Π±ΡΡΠ΅ΡΠΎΠ² ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΈΡ
Π² ΡΠΏΠ΅ΠΊΡΠ»ΡΡΠΈΠ²Π½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ. ΠΠ°ΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ Π±ΡΠ΄Π΅Ρ Π²ΡΡΠ²Π»Π΅Π½, Π° ΡΠΏΠ΅ΠΊΡΠ»ΡΡΠΈΠ²Π½Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΎΡΠ±ΡΠΎΡΠ΅Π½Π°, Π½ΠΎ Π΄Π°Π½Π½ΡΠ΅ ΠΎΡΡΠ°Π½ΡΡΡΡ Π² ΠΊΡΡΠ΅ ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½Ρ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΊΡΡΠ° ΠΏΠΎ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΌ ΠΊΠ°Π½Π°Π»Π°ΠΌ.
ΠΡΠ°ΠΊΠ° ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊ ΠΎΡΠΊΡΡΡΠΈΡ TSX ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΠ»ΠΎΠ²ΠΈΠΉ Π΄Π»Ρ ΠΈΡ
Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ, Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΡ Π΄Π»Ρ ΡΡΠ΅ΡΠΊΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ
Π±ΡΡΠ΅ΡΠΎΠ², ΡΠΏΠ΅ΠΊΡΠ»ΡΡΠΈΠ²Π½ΠΎ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΡΡ
Π΄Π°Π½Π½ΡΠΌΠΈ ΠΈΠ· Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ
Π½Π° ΡΠΎΠΌ ΠΆΠ΅ ΡΠ΄ΡΠ΅ CPU ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΡΠ΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ. Π£ΡΠ΅ΡΠΊΠ° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π° ΡΠ΅ΠΊΡΡΠΈΠΌ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΠ΄ΡΠΎΠΌ CPU (Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΊΠΎΠ΄ Π°ΡΠ°ΠΊΡΡΡΠ΅Π³ΠΎ), Π½ΠΎ ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΌΠΈΠΊΡΠΎΠ°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΠ΅ Π±ΡΡΠ΅ΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠ°Π·Π½ΡΠΌΠΈ ΠΏΠΎΡΠΎΠΊΠ°ΠΌΠΈ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ Hyper-Threading, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΡΠΊΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Ρ ΠΏΠ°ΠΌΡΡΡΡ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ
Π² Π΄ΡΡΠ³ΠΈΡ
ΠΏΠΎΡΠΎΠΊΠ°Ρ
CPU.
ΠΡΠ°ΠΊΠ΅ ΠΏΠΎΠ΄Π²Π΅ΡΠΆΠ΅Π½Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π²ΠΎΡΡΠΌΠΎΠ³ΠΎ, Π΄Π΅Π²ΡΡΠΎΠ³ΠΎ ΠΈ Π΄Π΅ΡΡΡΠΎΠ³ΠΎ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ² Intel Core, Π° ΡΠ°ΠΊΠΆΠ΅ Intel Pentium Gold, Intel Celeron 5000, Intel Xeon E, Intel Xeon W ΠΈ Π²ΡΠΎΡΠΎΠ΅ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅ Intel Xeon Scalable. Π ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Π°ΡΠ°ΠΊΠ΅ ΠΏΠΎΠ΄Π²Π΅ΡΠΆΠ΅Π½Ρ ΠΈ Π½ΠΎΠ²ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΡ Intel Π½Π° Π±Π°Π·Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ Π² Π°ΠΏΡΠ΅Π»Π΅ ΠΌΠΈΠΊΡΠΎΠ°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ Cascade Lake, ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ Π½Π΅ ΠΏΠΎΠ΄Π²Π΅ΡΠΆΠ΅Π½Π½ΠΎΠΉ Π°ΡΠ°ΠΊΠ°ΠΌ RIDL ΠΈ Fallout. ΠΡΠΎΠΌΠ΅ Zombieload 2.0 ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΡΠ°ΠΊΠΆΠ΅ Π²ΡΡΠ²ΠΈΠ»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠ±Ρ
ΠΎΠ΄Π° ΡΠ°Π½Π΅Π΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΡΡ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π·Π°ΡΠΈΡΡ ΠΎΡ MDS-Π°ΡΠ°ΠΊ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΡ
Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ VERW Π΄Π»Ρ ΠΎΡΠΈΡΡΠΊΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΌΠΈΠΊΡΠΎΠ°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΡ
Π±ΡΡΠ΅ΡΠΎΠ² Π² ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΈΠ· ΡΠ΄ΡΠ° Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈΠ»ΠΈ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π³ΠΎΡΡΠ΅Π²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅.
Π ΠΎΡΡΡΡΠ΅ Intel ΡΡΠ²Π΅ΡΠΆΠ΄Π°Π΅ΡΡΡ, ΡΡΠΎ Π² ΡΠΈΡΡΠ΅ΠΌΠ°Ρ
Ρ ΡΠ°Π·Π½ΠΎΡΠΎΠ΄Π½ΠΎΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠΎΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ Π°ΡΠ°ΠΊΠΈ Π·Π°ΡΡΡΠ΄Π½Π΅Π½Π°, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠ΅ΡΠΊΠ° ΠΈΠ· ΠΌΠΈΠΊΡΠΎΠ°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΡ
ΡΡΡΡΠΊΡΡΡ ΠΎΡ
Π²Π°ΡΡΠ²Π°Π΅Ρ Π²ΡΡ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΈ Π°ΡΠ°ΠΊΡΡΡΠΈΠΉ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π²Π»ΠΈΡΡΡ Π½Π° ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅ΠΌΡΡ
Π΄Π°Π½Π½ΡΡ
, Ρ.Π΅. ΠΌΠΎΠΆΠ΅Ρ Π»ΠΈΡΡ Π½Π°ΠΊΠ°ΠΏΠ»ΠΈΠ²Π°ΡΡ Π²ΡΠΏΠ»ΡΠ²Π°ΡΡΠΈΠ΅ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΡΠ΅ΡΠΊΠΈ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΈ ΠΏΡΡΠ°ΡΡΡΡ Π²ΡΡΠ²ΠΈΡΡ ΡΡΠ΅Π΄ΠΈ ΡΡΠΈΡ
Π΄Π°Π½Π½ΡΡ
ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, Π±Π΅Π· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ΅Π»Π΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΠΎ ΠΏΠ΅ΡΠ΅Ρ
Π²Π°ΡΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌΠΈ Π°Π΄ΡΠ΅ΡΠ°ΠΌΠΈ ΠΏΠ°ΠΌΡΡΠΈ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ ΠΏΡΠΎΡΠΎΡΠΈΠΏ ΡΠΊΡΠΏΠ»ΠΎΠΈΡΠ°, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ Π² Linux ΠΈ Windows, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π°ΡΠ°ΠΊΠΈ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Ρ
ΡΡΠ° ΠΏΠ°ΡΠΎΠ»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ root.
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π°ΡΠ°ΠΊΠΈ ΠΈΠ· Π³ΠΎΡΡΠ΅Π²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π΄Π»Ρ Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΈΠ³ΡΡΠΈΡΡΡΡ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡ
Π΄ΡΡΠ³ΠΈΡ
Π³ΠΎΡΡΠ΅Π²ΡΡ
ΡΠΈΡΡΠ΅ΠΌ, Ρ
ΠΎΡΡ-ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ, Π³ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΠ° ΠΈ Π°Π½ΠΊΠ»Π°Π²ΠΎΠ² Intel SGX.
ΠΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π»Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½Ρ Π² ΠΊΠΎΠ΄ΠΎΠ²ΡΡ Π±Π°Π·Ρ ΡΠ΄ΡΠ° Linux ΠΈ Π²ΠΎΡΠ»ΠΈ Π² ΡΠΎΡΡΠ°Π² Π²ΡΠΏΡΡΠΊΠΎΠ² 5.3.11, 4.19.84, 4.14.154, 4.9.201 ΠΈ 4.4.201. ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Ρ ΡΠ΄ΡΠΎΠΌ ΠΈ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ΄ΠΎΠΌ ΡΠ°ΠΊΠΆΠ΅ ΡΠΆΠ΅ Π²ΡΠΏΡΡΠ΅Π½Ρ Π΄Π»Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ
Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠ² (Debian, SUSE/openSUSE, Ubuntu, RHEL, Fedora, FreeBSD). ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Π±ΡΠ»Π° Π²ΡΡΠ²Π»Π΅Π½Π° Π² Π°ΠΏΡΠ΅Π»Π΅ ΠΈ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π±ΡΠ»ΠΎ ΡΠΊΠΎΠΎΡΠ΄ΠΈΠ½ΠΈΡΠΎΠ²Π°Π½ΠΎ Intel Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ
ΡΠΈΡΡΠ΅ΠΌ.
ΠΡΠΎΡΡΠ΅ΠΉΡΠΈΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½ΠΈΡ Zombieload 2.0 ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ TSX Π² CPU. ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ΅ Π΄Π»Ρ ΡΠ΄ΡΠ° Linux ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² Π·Π°ΡΠΈΡΡ. ΠΠ΅ΡΠ²ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ «tsx=on/off/auto», ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΡΠΏΡΠ°Π²Π»ΡΡΡ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ TSX Π² CPU (Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ auto ΠΎΡΠΊΠ»ΡΡΠ°Π΅Ρ TSX ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΠ·Π²ΠΈΠΌΡΡ
CPU). ΠΡΠΎΡΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ Π·Π°ΡΠΈΡΡ Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ «tsx_async_abort=off/full/full,nosmt» ΠΈ ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° ΠΎΡΠΈΡΡΠΊΠ΅ ΠΌΠΈΠΊΡΠΎΠ°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΡ
Π±ΡΡΠ΅ΡΠΎΠ², Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° (ΡΠ»Π°Π³ nosmt Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΠΊΠ»ΡΡΠ°Π΅Ρ SMT/Hyper-Threads). ΠΠ»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΏΠΎΠ΄Π²Π΅ΡΠΆΠ΅Π½Π½ΠΎΡΡΠΈ ΡΠΈΡΡΠ΅ΠΌΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Π² sysfs ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ «/sys/devices/system/cpu/vulnerabilities/tsx_async_abort».
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π² ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ΄Π° ΡΡΡΡΠ°Π½Π΅Π½Π° Π΅ΡΡ ΠΎΠ΄Π½Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ (CVE-2018-12207) Π² ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°Ρ
Intel, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°ΠΊΠΆΠ΅ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½Π° Π² ΡΠ²Π΅ΠΆΠ΅ΠΌ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΡΠ΄ΡΠ° Linux. Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π΅ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌΡ Π°ΡΠ°ΠΊΡΡΡΠ΅ΠΌΡ ΠΈΠ½ΠΈΡΠΈΠΈΡΠΎΠ²Π°ΡΡ ΠΎΡΠΊΠ°Π· Π² ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΠΈ, ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡΠΈΠΉ ΠΊ Π·Π°Π²ΠΈΡΠ°Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ «Machine Check Error».
ΠΡΠ°ΠΊΠ° Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π° ΠΈΠ· Π³ΠΎΡΡΠ΅Π²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru