ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ Intel ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ Π΄Π²ΡΡ Π½ΠΎΠ²ΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡΡ Π² CPU Intel, Π²ΡΠ·Π²Π°Π½Π½ΡΡ ΡΡΠ΅ΡΠΊΠΎΠΉ Π΄Π°Π½Π½ΡΡ ΠΈΠ· ΠΊΡΡΠ° L1D (, L1DES β L1D Eviction Sampling) ΠΈ Π²Π΅ΠΊΡΠΎΡΠ½ΡΡ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ² (, VRS β Vector Register Sampling). Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ ΠΎΡΠ½ΠΎΡΡΡΡΡ ΠΊ ΠΊΠ»Π°ΡΡΡ (Microarchitectural Data Sampling) ΠΈ ΠΎΡΠ½ΠΎΠ²ΡΠ²Π°ΡΡΡΡ Π½Π° ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΠΎ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΌ ΠΊΠ°Π½Π°Π»Π°ΠΌ ΠΊ Π΄Π°Π½Π½ΡΠΌ Π² ΠΌΠΈΠΊΡΠΎΠ°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΡ ΡΡΡΡΠΊΡΡΡΠ°Ρ . AMD, ARM ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ Π½Π΅ ΠΏΠΎΠ΄Π²Π΅ΡΠΆΠ΅Π½Ρ.
ΠΠ°ΠΈΠ±ΠΎΠ»ΡΡΡΡ ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ L1DES, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΡΠ΅Π΄Π°Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠΎΠ² ΠΏΡΠΎΠΊΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
Π΄Π°Π½Π½ΡΡ
(cache line), Π²ΡΡΠ΅ΡΠ½ΡΠ΅ΠΌΡΡ
ΠΈΠ· ΠΊΡΡΠ° ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ (L1D), Π² Π±ΡΡΠ΅ΡΠ΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ (Fill Buffer), ΠΊΠΎΡΠΎΡΡΠΉ Π½Π° Π΄Π°Π½Π½ΠΎΠΌ ΡΡΠ°ΠΏΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΏΡΡΡΡΠΌ. ΠΠ»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΎΡΠ΅Π²ΡΠΈΡ
Π² Π±ΡΡΠ΅ΡΠ΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΡ ΠΌΠ΅ΡΠΎΠ΄Ρ Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΠΎ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΌ ΠΊΠ°Π½Π°Π»Π°ΠΌ, ΡΠ°Π½Π΅Π΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ Π² Π°ΡΠ°ΠΊΠ°Ρ
(Microarchitectural Data Samping) ΠΈ (Transactional Asynchronous Abort). Π‘ΡΡΡ ΡΠ°Π½Π΅Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π·Π°ΡΠΈΡΡ ΠΎΡ
MDS ΠΈ TAA Π² ΠΎΡΠΈΡΡΠΊΠ΅ ΠΌΠΈΠΊΡΠΎΠ°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΡ
Π±ΡΡΠ΅ΡΠΎΠ² ΠΏΠ΅ΡΠ΅Π΄ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°, Π½ΠΎ, ΠΊΠ°ΠΊ ΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ, ΠΏΡΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΡΡΠ»ΠΎΠ²ΠΈΡΡ
Π΄Π°Π½Π½ΡΠ΅ ΡΠΏΠ΅ΠΊΡΠ»ΡΡΠΈΠ²Π½ΠΎ ΡΠ±ΡΠ°ΡΡΠ²Π°ΡΡΡΡ Π² Π±ΡΡΠ΅ΡΡ ΠΏΠΎΡΠ»Π΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΎΡΠΈΡΡΠΊΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΠ΅ΡΠΎΠ΄Ρ MDS ΠΈ TAA ΠΎΡΡΠ°ΡΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΡ.

Π ΠΈΡΠΎΠ³Π΅ Π°ΡΠ°ΠΊΡΡΡΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ Π΄ΠΎΠ±ΠΈΡΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π²ΡΡΠ΅ΡΠ½Π΅Π½Π½ΡΡ ΠΈΠ· ΠΊΡΡΠ° ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ Π² Ρ ΠΎΠ΄Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π΄ΠΎ ΡΡΠΎΠ³ΠΎ Π·Π°Π½ΠΈΠΌΠ°Π²ΡΠ΅Π³ΠΎ ΡΠ΅ΠΊΡΡΠ΅Π΅ ΡΠ΄ΡΠΎ CPU, ΠΈΠ»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΡ ΡΡ Π² Π΄ΡΡΠ³ΠΈΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΠΎΡΠΎΠΊΠ°Ρ (hyperthread) Π½Π° ΡΠΎΠΌ ΠΆΠ΅ ΡΠ΄ΡΠ΅ CPU (ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ HyperThreading ΡΠ²ΠΎΠ΄ΠΈΡ Π½Π° Π½Π΅Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ Π°ΡΠ°ΠΊΠΈ). Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Π°ΡΠ°ΠΊΠΈ , L1DES Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π°Π΄ΡΠ΅ΡΠ° Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ, Π½ΠΎ Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠ°ΡΡΠΈΠ²Π½ΠΎ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ Π² Π΄ΡΡΠ³ΠΈΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΠΎΡΠΎΠΊΠ°Ρ , ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΎΠΉ ΠΈΠ»ΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ΠΌ Π² ΠΏΠ°ΠΌΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ.
ΠΠ° Π±Π°Π·Π΅ L1DES ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² Π°ΡΠ°ΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΈΠ·Π²Π»Π΅ΡΡ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈΠ· Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ², ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½ ΠΈ Π·Π°ΡΠΈΡΡΠ½Π½ΡΡ Π°Π½ΠΊΠ»Π°Π²ΠΎΠ² SGX.
- ΠΠΎΠΌΠ°Π½Π΄Π° VUSec ΠΌΠ΅ΡΠΎΠ΄ Π°ΡΠ°ΠΊΠΈ RIDL Π΄Π»Ρ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ L1DES. ΠΠΎΡΡΡΠΏΠ΅Π½ , ΠΊΠΎΡΠΎΡΡΠΉ Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΎΠ±Ρ ΠΎΠ΄ΠΈΡ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΡΠΉ Intel ΠΌΠ΅ΡΠΎΠ΄ Π·Π°ΡΠΈΡΡ ΠΎΡ MDS, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ VERW Π΄Π»Ρ ΠΎΡΠΈΡΡΠΊΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΌΠΈΠΊΡΠΎΠ°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΡ Π±ΡΡΠ΅ΡΠΎΠ² Π² ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΈΠ· ΡΠ΄ΡΠ° Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈΠ»ΠΈ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π³ΠΎΡΡΠ΅Π²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ (ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ Π½Π°ΡΡΠ°ΠΈΠ²Π°Π»ΠΈ, ΡΡΠΎ VERW (ΠΎΡΠΈΡΡΠΊΠΈ ΠΌΠΈΠΊΡΠΎΠ°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΡ Π±ΡΡΠ΅ΡΠΎΠ²) Π΄Π»Ρ Π·Π°ΡΠΈΡΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠΎΠ»Π½ΡΠΉ ΡΠ±ΡΠΎΡ ΠΊΡΡΠ° L1 ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°).
- ΠΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»Π° ΡΠ²ΠΎΠΉ c ΡΡΡΡΠΎΠΌ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ L1DES.
- ΠΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΈΠ· ΠΠΈΡΠΈΠ³Π°Π½ΡΠΊΠΎΠ³ΠΎ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅ΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π°ΡΠ°ΠΊΠΈ (), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΈΠ·Π²Π»Π΅ΡΡ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈΠ· ΡΠ΄ΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ
ΠΌΠ°ΡΠΈΠ½ ΠΈ Π·Π°ΡΠΈΡΡΠ½Π½ΡΡ
Π°Π½ΠΊΠ»Π°Π²ΠΎΠ² SGX. ΠΠ΅ΡΠΎΠ΄ Π±Π°Π·ΠΈΡΡΠ΅ΡΡΡ Π½Π° Ρ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠΎΠΌ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ (TAA, TSX Asynchronous Abort) Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ Π±ΡΡΠ΅ΡΠ° Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅ ΡΡΠ΅ΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ
ΠΈΠ· ΠΊΡΡΠ° L1D.
ΠΡΠΎΡΠ°Ρ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ VRS (Vector Register Sampling) Ρ ΡΡΠ΅ΡΠΊΠΎΠΉ Π² Π±ΡΡΠ΅Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ (Store Buffer) ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΡΠ΅Π½ΠΈΡ ΠΈΠ· Π²Π΅ΠΊΡΠΎΡΠ½ΡΡ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ², ΠΈΠ·ΠΌΠ΅Π½ΡΠ½Π½ΡΡ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π²Π΅ΠΊΡΠΎΡΠ½ΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ (SSE, AVX, AVX-512) Π½Π° ΡΠΎΠΌ ΠΆΠ΅ ΡΠ΄ΡΠ΅ CPU. Π£ΡΠ΅ΡΠΊΠ° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΏΡΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ΅Π΄ΠΊΠΎΠΌ ΡΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΠΎΠ±ΡΡΠΎΡΡΠ΅Π»ΡΡΡΠ² ΠΈ Π²ΡΠ·Π²Π°Π½Π° ΡΠ΅ΠΌ, ΡΡΠΎ ΡΠΏΠ΅ΠΊΡΠ»ΡΡΠΈΠ²Π½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠ°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡΠ°Ρ ΠΊ ΠΎΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π²Π΅ΠΊΡΠΎΡΠ½ΡΡ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ² Π² Π±ΡΡΠ΅ΡΠ΅ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ, Π·Π°ΠΏΠ°Π·Π΄ΡΠ²Π°Π΅Ρ ΠΈ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ ΠΎΡΠΈΡΡΠΊΠΈ Π±ΡΡΠ΅ΡΠ°, Π° Π½Π΅ Π΄ΠΎ Π½Π΅Ρ. ΠΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ Ρ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡΡ L1DES, ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π±ΡΡΠ΅ΡΠ° Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π·Π°ΡΠ΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π°ΡΠ°ΠΊ MDS ΠΈ TAA.
ΠΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΈΠ· Π³ΡΡΠΏΠΏΡ VUSec , ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²Π΅ΠΊΡΠΎΡΠ½ΡΡ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ², ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ Π² Π΄ΡΡΠ³ΠΎΠΌ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΏΠΎΡΠΎΠΊΠ΅ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΡΠ΄ΡΠ° CPU. ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ Intel ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ VRS ΠΊΠ°ΠΊ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΠ»ΠΎΠΆΠ½ΡΡ Π΄Π»Ρ ΠΎΡΡΡΠ΅ΡΡΠ²Π»Π΅Π½ΠΈΡ ΡΠ΅Π°Π»ΡΠ½ΡΡ Π°ΡΠ°ΠΊ ΠΈ ΠΏΡΠΈΡΠ²ΠΎΠΈΠ»Π° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ (2.8 Π‘VSS).
Π‘Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°Ρ
Π±ΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Ρ Intel Π² ΠΌΠ°Π΅ 2019 Π³ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Zombieload ΠΈΠ· ΠΡΠ°ΡΡΠΊΠΎΠ³ΠΎ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅ΡΠ° (ΠΠ²ΡΡΡΠΈΡ) ΠΈ Π³ΡΡΠΏΠΏΠΎΠΉ VUSec ΠΈΠ· ΠΠΌΡΡΠ΅ΡΠ΄Π°ΠΌΡΠΊΠΎΠ³ΠΎ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅ΡΠ°, ΠΈ ΠΏΠΎΠ·Π΄Π½Π΅Π΅, ΠΏΠΎΡΠ»Π΅ Π°Π½Π°Π»ΠΈΠ·Π° Π΄ΡΡΠ³ΠΈΡ
Π²Π΅ΠΊΡΠΎΡΠΎΠ² ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π°ΡΠ°ΠΊΠΈ MDS, ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Π±ΡΠ»ΠΈ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ. Π ΠΏΠ΅ΡΠ²ΡΠΉ ΠΎΡΡΡΡ MDS ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°Ρ
L1DES ΠΈ VRS Π½Π΅ Π±ΡΠ»Π° Π²ΠΊΠ»ΡΡΠ΅Π½Π° ΠΈΠ·-Π·Π° ΠΎΡΡΡΡΡΡΠ²ΠΈΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. ΠΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎ ΠΈ ΡΠ΅ΠΉΡΠ°Ρ, Π½ΠΎ ΠΎΠ³ΠΎΠ²ΠΎΡΡΠ½Π½ΡΠ΅ ΡΡΠΎΠΊΠΈ Π½Π΅ΡΠ°Π·Π³Π»Π°ΡΠ΅Π½ΠΈΡ ΠΈΡΡΠ΅ΠΊΠ»ΠΈ.
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΠ±Ρ
ΠΎΠ΄Π½ΡΡ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π·Π°ΡΠΈΡΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ HyperThreading. ΠΠ»Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΡΠ΄ΡΠ° ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΡΡΡ ΡΠ±ΡΠ°ΡΡΠ²Π°ΡΡ ΠΊΡΡ L1 ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° (MSR Π±ΠΈΡ MSR_IA32_FLUSH_CMD) ΠΈ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ TSX (MSR Π±ΠΈΡΡ MSR_IA32_TSX_CTRL ΠΈ MSR_TSX_FORCE_ABORT).
Intel Π²ΡΠΏΡΡΡΠΈΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ΄Π° Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠ² Π΄Π»Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π² Π±Π»ΠΈΠΆΠ°ΠΉΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ. Intel ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠΌΠ΅ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΡΡ Π² 2018 Π³ΠΎΠ΄Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π·Π°ΡΠΈΡΡ ΠΎΡ Π°ΡΠ°ΠΊΠΈ (L1 Terminal Fault) ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ L1DES ΠΈΠ· Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΉ. ΠΡΠ°ΠΊΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΡ Intel Core, Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΡΠ΅ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΡ (Sky, Kaby, Coffee, Whiskey, Amber Lake ΠΈ Ρ.ΠΏ.), Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Intel Xeon ΠΈ Xeon Scalable.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ , ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ Π°ΡΠ°ΠΊΠΈ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ Ρ ΡΡΠ° ΠΏΠ°ΡΠΎΠ»Ρ root ΠΈΠ· /etc/shadow ΠΏΡΠΈ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΠΎΠΏΡΡΠΊΠ°Ρ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ. ΠΡΠ»ΠΈ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΡΠΉ ΡΠΊΡΠΏΠ»ΠΎΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ» Ρ ΡΡ ΠΏΠ°ΡΠΎΠ»Ρ Π·Π° , Π° ΠΏΠΎΡΠ»Π΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ (TAA, TSX Asynchronous Abort) Π²ΡΠΏΠΎΠ»Π½ΡΠ» Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π·Π° , ΡΠΎ Π½ΠΎΠ²ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΡΠΎΠ²Π΅ΡΡΠ°Π΅Ρ Π°ΡΠ°ΠΊΡ Π·Π° 4 ΡΠ΅ΠΊΡΠ½Π΄Ρ.

ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
