ΠΡΡΠΏΠ° ΠΈΠ·ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΎΡ ETH Π¦ΡΡΠΈΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Ρ Π° Π½ΠΎΠ²Π° Π°ΡΠ°ΠΊΠ° ΡΡΠ΅ΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° ΡΠΏΠ΅ΠΊΡΠ»Π°ΡΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΡΠ²Π΅Π½ΠΈ ΡΠΊΠΎΠΊΠΎΠ²Π΅ Π² ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ°, ΠΊΠΎΠΉΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΈΠ·Π²Π»ΠΈΡΠ°ΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΡ ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π° ΡΠ΄ΡΠΎΡΠΎ ΠΈΠ»ΠΈ Π΄Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°ΡΠ΅ Π°ΡΠ°ΠΊΠ° ΡΡΠ΅ΡΡ Ρ ΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΠΎΡ Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ. Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈΡΠ΅ Π±ΡΡ Π° Ρ ΠΊΠΎΠ΄ΠΎΠ²ΠΎ ΠΈΠΌΠ΅ Retbleed (CVE-2022-29900, CVE-2022-29901) ΠΈ ΡΠ° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΠΏΠΎ ΠΏΡΠΈΡΠΎΠ΄Π° Π½Π° Π°ΡΠ°ΠΊΠΈΡΠ΅ Spectre-v2. Π Π°Π·Π»ΠΈΠΊΠ°ΡΠ° ΡΠ΅ ΡΠ²Π΅ΠΆΠ΄Π° Π΄ΠΎ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° ΡΠΏΠ΅ΠΊΡΠ»Π°ΡΠΈΠ²Π½ΠΎΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π΅Π½ ΠΊΠΎΠ΄ ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΡΠ° βretβ (Π²ΡΡΡΠ°Π½Π΅), ΠΊΠΎΡΡΠΎ ΠΈΠ·Π²Π»ΠΈΡΠ° Π°Π΄ΡΠ΅ΡΠ° Π·Π° ΡΠΊΠΎΠΊ ΠΎΡ ΡΡΠ΅ΠΊΠ°, Π²ΠΌΠ΅ΡΡΠΎ ΠΈΠ½Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΡΠΊΠ°ΡΠ°Π½Π΅ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΡΠ° βjmpβ, Π·Π°ΡΠ΅ΠΆΠ΄Π°ΠΉΠΊΠΈ Π°Π΄ΡΠ΅ΡΠ° ΠΎΡ ΠΏΠ°ΠΌΠ΅ΡΡΠ° ΠΈΠ»ΠΈ ΡΠ΅Π³ΠΈΡΡΡΡ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ°.
ΠΠ°ΠΏΠ°Π΄Π°ΡΠ΅Π»ΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ ΡΡΠ»ΠΎΠ²ΠΈΡ Π·Π° Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ ΠΏΡΠ΅Π΄Π²ΠΈΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΠΊΠΎΠΊ ΠΈ Π΄Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ° ΡΠ΅Π»Π΅Π½Π°ΡΠΎΡΠ΅Π½ ΡΠΏΠ΅ΠΊΡΠ»Π°ΡΠΈΠ²Π΅Π½ ΡΠΊΠΎΠΊ ΠΊΡΠΌ ΠΊΠΎΠ΄ΠΎΠ² Π±Π»ΠΎΠΊ, ΠΊΠΎΠΉΡΠΎ Π½Π΅ Π΅ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄Π΅Π½ ΠΎΡ Π»ΠΎΠ³ΠΈΠΊΠ°ΡΠ° Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ°. Π ΠΊΡΠ°ΠΉΠ½Π° ΡΠΌΠ΅ΡΠΊΠ° ΠΏΡΠΎΡΠ΅ΡΠΎΡΡΡ ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈ, ΡΠ΅ ΠΏΡΠΎΠ³Π½ΠΎΠ·Π°ΡΠ° Π·Π° ΡΠ°Π·ΠΊΠ»ΠΎΠ½ΡΠ²Π°Π½Π΅ Π½Π΅ Π΅ ΠΎΠΏΡΠ°Π²Π΄Π°Π½Π° ΠΈ ΡΠ΅ Π²ΡΡΠ½Π΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡΠ° Π΄ΠΎ ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎΡΠΎ ΠΉ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅, Π½ΠΎ Π΄Π°Π½Π½ΠΈΡΠ΅, ΠΎΠ±ΡΠ°Π±ΠΎΡΠ΅Π½ΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠΏΠ΅ΠΊΡΠ»Π°ΡΠΈΠ²Π½ΠΎΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅, ΡΠ΅ ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΡΡ Π² ΠΊΠ΅ΡΠ° ΠΈ ΠΌΠΈΠΊΡΠΎΠ°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΠΈΡΠ΅ Π±ΡΡΠ΅ΡΠΈ. ΠΠΊΠΎ ΠΏΠΎΠ³ΡΠ΅ΡΠ½ΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ Π±Π»ΠΎΠΊ ΠΈΠ·Π²ΡΡΡΠΈ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΏΠ°ΠΌΠ΅ΡΡΠ°, ΡΠΎΠ³Π°Π²Π° ΡΠΏΠ΅ΠΊΡΠ»Π°ΡΠΈΠ²Π½ΠΎΡΠΎ ΠΌΡ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ΅ Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π² ΠΎΠ±ΡΠΈΡ ΠΊΠ΅Ρ ΠΈ Π΄Π°Π½Π½ΠΈ, ΠΏΡΠΎΡΠ΅ΡΠ΅Π½ΠΈ ΠΎΡ ΠΏΠ°ΠΌΠ΅ΡΡΠ°.
ΠΠ° Π΄Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈ Π΄Π°Π½Π½ΠΈΡΠ΅, ΠΎΡΡΠ°Π½Π°Π»ΠΈ Π² ΠΊΠ΅ΡΠ° ΡΠ»Π΅Π΄ ΡΠΏΠ΅ΠΊΡΠ»Π°ΡΠΈΠ²Π½ΠΎΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, Π°ΡΠ°ΠΊΡΠ²Π°ΡΠΈΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΌΠ΅ΡΠΎΠ΄ΠΈ Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΠΎΡΡΠ°ΡΡΡΠ½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ ΡΡΠ΅Π· ΠΊΠ°Π½Π°Π»ΠΈ Π½Π° ΡΡΠ΅ΡΠΈ ΡΡΡΠ°Π½ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π΄Π° Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π²ΡΠ² Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΊΠ΅ΡΠΈΡΠ°Π½ΠΈ ΠΈ Π½Π΅ΠΊΠ΅ΡΠΈΡΠ°Π½ΠΈ Π΄Π°Π½Π½ΠΈ. ΠΠ° ΡΠ΅Π»Π΅Π½Π°ΡΠΎΡΠ΅Π½ΠΎ ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΡ Π·ΠΎΠ½ΠΈ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΎ Π½ΠΈΠ²ΠΎ Π½Π° ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΎΡ ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π° ΡΠ΄ΡΠΎΡΠΎ) ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ "Π΄ΠΆΠ°Π΄ΠΆΠΈ" - ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎΡΡΠΈ ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ, Π½Π°Π»ΠΈΡΠ½ΠΈ Π² ΡΠ΄ΡΠΎΡΠΎ, ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈ Π·Π° ΡΠΏΠ΅ΠΊΡΠ»Π°ΡΠΈΠ²Π½ΠΎ ΡΠ΅ΡΠ΅Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ ΠΏΠ°ΠΌΠ΅ΡΡΠ°, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ Π²ΡΠ½ΡΠ½ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΏΠΎΠ²Π»ΠΈΡΠ½ΠΈ ΠΎΡ Π½Π°ΠΏΠ°Π΄Π°ΡΠ΅Π».
ΠΠ° Π·Π°ΡΠΈΡΠ° ΡΡΠ΅ΡΡ ΠΊΠ»Π°ΡΠΈΡΠ΅ΡΠΊΠΈΡΠ΅ Π°ΡΠ°ΠΊΠΈ Π½Π° ΠΊΠ»Π°ΡΠ° Spectre, ΠΊΠΎΠΈΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΡΡΠ»ΠΎΠ²Π½ΠΈ ΠΈ ΠΈΠ½Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π·Π° ΡΠ°Π·ΠΊΠ»ΠΎΠ½ΡΠ²Π°Π½Π΅, ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΡΠ΅Ρ Π½ΠΈΠΊΠ°ΡΠ° "retpoline", Π±Π°Π·ΠΈΡΠ°Π½Π° Π½Π° Π·Π°ΠΌΡΠ½Π° Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ Π·Π° ΠΊΠΎΡΠ²Π΅Π½ΠΎ ΡΠ°Π·ΠΊΠ»ΠΎΠ½ΡΠ²Π°Π½Π΅ Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΡΠ° "ret", Π·Π° ΠΊΠΎΡΡΠΎ Π΅ ΠΎΡΠ΄Π΅Π»Π΅Π½ Π±Π»ΠΎΠΊ Π·Π° ΠΏΡΠΎΠ³Π½ΠΎΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΡΡΠ΅ΠΊΠ° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π² ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ, Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π±Π»ΠΎΠΊ Π·Π° ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΡΠ°Π·ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΡ. ΠΡΠΈ Π²ΡΠ²Π΅ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° retpoline ΠΏΡΠ΅Π· 2018 Π³. ΡΠ΅ ΡΠΌΡΡΠ°ΡΠ΅, ΡΠ΅ Π°Π΄ΡΠ΅ΡΠ½ΠΈΡΠ΅ ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΈΠΈ, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Π½Π° Spectre, Π½Π΅ ΡΠ° ΠΏΡΠ°ΠΊΡΠΈΡΠ½ΠΈ Π·Π° ΡΠΏΠ΅ΠΊΡΠ»Π°ΡΠΈΠ²Π½ΠΎ ΡΠ°Π·ΠΊΠ»ΠΎΠ½ΡΠ²Π°Π½Π΅ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΡΠ° βretβ.
ΠΠ·ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈΡΠ΅, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΈΠ»ΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° Π·Π° Π°ΡΠ°ΠΊΠ° Retbleed, Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠ°Ρ Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΌΠΈΠΊΡΠΎΠ°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ Π·Π° ΠΈΠ½ΠΈΡΠΈΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΏΠ΅ΠΊΡΠ»Π°ΡΠΈΠ²Π΅Π½ ΠΏΡΠ΅Ρ ΠΎΠ΄ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΡΠ° βretβ ΠΈ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Ρ Π° Π³ΠΎΡΠΎΠ² Π½Π°Π±ΠΎΡ ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎΡΡΠΈ ΠΎΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ (Π΄ΠΆΠ°Π΄ΠΆΠΈ), ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠ° Π² ΡΠ΄ΡΠΎΡΠΎ Π½Π° Linux, Π² ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΏΠΎΡΠ²ΡΠ²Π°Ρ ΡΠ°ΠΊΠΈΠ²Π° ΡΡΠ»ΠΎΠ²ΠΈΡ.
Π Ρ ΠΎΠ΄Π° Π½Π° ΠΏΡΠΎΡΡΠ²Π°Π½Π΅ΡΠΎ Π±Π΅ΡΠ΅ ΠΏΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ ΡΠ°Π±ΠΎΡΠ΅Ρ Π΅ΠΊΡΠΏΠ»ΠΎΠΉΡ, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈ Ρ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ Π½Π° Intel ΠΎΡ Π½Π΅ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½ ΠΏΡΠΎΡΠ΅Ρ Π² ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π΄Π° ΠΈΠ·Π²Π»ΠΈΡΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈ Π΄Π°Π½Π½ΠΈ ΠΎΡ ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π° ΡΠ΄ΡΠΎΡΠΎ ΡΡΡ ΡΠΊΠΎΡΠΎΡΡ ΠΎΡ 219 Π±Π°ΠΉΡΠ° Π² ΡΠ΅ΠΊΡΠ½Π΄Π° ΠΈ 98% ΡΠΎΡΠ½ΠΎΡΡ. ΠΡΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈΡΠ΅ Π½Π° AMD Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡΠ° Π½Π° Π΅ΠΊΡΠΏΠ»ΠΎΠΉΡΠ° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-Π²ΠΈΡΠΎΠΊΠ° - ΡΠΊΠΎΡΠΎΡΡΡΠ° Π½Π° ΠΈΠ·ΡΠΈΡΠ°Π½Π΅ Π΅ 3.9 KB Π² ΡΠ΅ΠΊΡΠ½Π΄Π°. ΠΠ°ΡΠΎ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎΠΉ ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΊΠ°ΠΊ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ Π΅ΠΊΡΠΏΠ»ΠΎΠΉΡ Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠ°ΠΉΠ»Π° /etc/shadow. ΠΡΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Ρ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ Intel Π°ΡΠ°ΠΊΠ°ΡΠ° Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° Ρ Π΅ΡΠ° Π½Π° root ΠΏΠ°ΡΠΎΠ»Π°ΡΠ° Π΅ ΠΈΠ·Π²ΡΡΡΠ΅Π½Π° Π·Π° 28 ΠΌΠΈΠ½ΡΡΠΈ, Π° ΠΏΡΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Ρ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ AMD Π·Π° 6 ΠΌΠΈΠ½ΡΡΠΈ.
ΠΡΠ°ΠΊΠ°ΡΠ° Π±Π΅ΡΠ΅ ΠΏΠΎΡΠ²ΡΡΠ΄Π΅Π½Π° Π·Π° 6-8 ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ Π½Π° Intel, ΠΏΡΡΠ½Π°ΡΠΈ ΠΏΡΠ΅Π΄ΠΈ ΡΡΠ΅ΡΠΎΡΠΎ ΡΡΠΈΠΌΠ΅ΡΠ΅ΡΠΈΠ΅ Π½Π° 3 Π³. (Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Skylake), ΠΈ AMD ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° ΠΌΠΈΠΊΡΠΎΠ°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ Zen 2019, Zen 1+ ΠΈ Zen 1, ΠΊΠΎΠΈΡΠΎ Π±ΡΡ Π° ΠΏΡΡΠ½Π°ΡΠΈ ΠΏΡΠ΅Π΄ΠΈ Π²ΡΠΎΡΠΎΡΠΎ ΡΡΠΈΠΌΠ΅ΡΠ΅ΡΠΈΠ΅ Π½Π° 2 Π³. ΠΡΠΈ ΠΏΠΎ-Π½ΠΎΠ²ΠΈΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ, ΠΊΠ°ΡΠΎ AMD Zen2021 ΠΈ Intel Alder Lake, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΏΡΠΈ ARM ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈΡΠ΅, ΠΏΡΠΎΠ±Π»Π΅ΠΌΡΡ ΡΠ΅ Π±Π»ΠΎΠΊΠΈΡΠ° ΠΎΡ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈΡΠ΅ Π·Π°ΡΠΈΡΠ½ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π·Π° IBRS (Indirect Branch Restricted Speculation) ΠΏΠΎΠΌΠ°Π³Π° Π·Π° Π·Π°ΡΠΈΡΠ° ΡΡΠ΅ΡΡ Π°ΡΠ°ΠΊΠ°.
ΠΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ Π΅ Π½Π°Π±ΠΎΡ ΠΎΡ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π·Π° ΡΠ΄ΡΠΎΡΠΎ Π½Π° Linux ΠΈ Ρ ΠΈΠΏΠ΅ΡΠ²Π°ΠΉΠ·ΠΎΡΠ° Xen, ΠΊΠΎΠΈΡΠΎ Π±Π»ΠΎΠΊΠΈΡΠ°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ½ΠΎ Π½Π° ΠΏΠΎ-ΡΡΠ°ΡΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ. ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π°ΡΠ° ΠΊΠΎΡΠ΅ΠΊΡΠΈΡ Π·Π° ΡΠ΄ΡΠΎΡΠΎ Π½Π° Linux ΠΏΡΠΎΠΌΠ΅Π½Ρ 68 ΡΠ°ΠΉΠ»Π°, Π΄ΠΎΠ±Π°Π²Ρ 1783 ΡΠ΅Π΄Π° ΠΈ ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π° 387 ΡΠ΅Π΄Π°. ΠΠ° ΡΡΠΆΠ°Π»Π΅Π½ΠΈΠ΅, Π·Π°ΡΠΈΡΠ°ΡΠ° Π²ΠΎΠ΄ΠΈ Π΄ΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΈ ΡΠ΅ΠΆΠΈΠΉΠ½ΠΈ ΡΠ°Π·Ρ ΠΎΠ΄ΠΈ - Π² ΡΠ΅ΠΊΡΡΠΎΠ²Π΅ΡΠ΅, ΠΈΠ·Π²ΡΡΡΠ΅Π½ΠΈ Π²ΡΡΡ Ρ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ AMD ΠΈ Intel, Π²Π»ΠΎΡΠ°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° ΡΠ΅ ΠΎΡΠ΅Π½ΡΠ²Π° ΠΎΡ 14% Π΄ΠΎ 39%. ΠΠΎ-ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Π½ΠΎ Π΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π°ΡΠΈΡΠ°, Π±Π°Π·ΠΈΡΠ°Π½Π° Π½Π° IBRS ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ, Π½Π°Π»ΠΈΡΠ½ΠΈ Π² Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ Π½Π° Intel ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½ΠΈ ΠΎΡ ΡΠ΄ΡΠΎΡΠΎ Π½Π° Linux 4.19.
ΠΡΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈΡΠ΅ Π½Π° Intel ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° Π·Π°ΠΌΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° Π°Π΄ΡΠ΅Ρ Π·Π° ΡΠΏΠ΅ΠΊΡΠ»Π°ΡΠΈΠ²Π΅Π½ ΠΈΠ½Π΄ΠΈΡΠ΅ΠΊΡΠ΅Π½ ΠΊΠ»ΠΎΠ½ ΠΏΠΎΡΠ°Π΄ΠΈ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΡΠΎ Π²ΡΠ·Π½ΠΈΠΊΠ²Π°, ΠΊΠΎΠ³Π°ΡΠΎ Π²ΡΠ·Π½ΠΈΠΊΠ½Π΅ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΡΠ΅Π½ ΠΏΠΎΡΠΎΠΊ Π² Π±ΡΡΠ΅ΡΠ° Π·Π° Π²ΡΡΡΠ°Π½Π΅ Π½Π° ΡΡΠ΅ΠΊΠ°. ΠΠΎΠ³Π°ΡΠΎ Π²ΡΠ·Π½ΠΈΠΊΠ½Π°Ρ ΡΠ°ΠΊΠΈΠ²Π° ΡΡΠ»ΠΎΠ²ΠΈΡ, ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΡΠ° ret Π·Π°ΠΏΠΎΡΠ²Π° Π΄Π° ΠΏΡΠΈΠ»Π°Π³Π° Π»ΠΎΠ³ΠΈΠΊΠ° Π·Π° ΠΈΠ·Π±ΠΎΡ Π½Π° Π°Π΄ΡΠ΅Ρ, ΠΏΠΎΠ΄ΠΎΠ±Π½Π° Π½Π° ΡΠ°Π·ΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° ΠΏΡΠΈ ΠΊΠΎΠ½Π²Π΅Π½ΡΠΈΠΎΠ½Π°Π»Π½ΠΈΡΠ΅ ΠΈΠ½Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΈ ΡΠΊΠΎΠΊΠΎΠ²Π΅. Π ΡΠ΄ΡΠΎΡΠΎ Π½Π° Linux ΡΠ° ΠΎΡΠΊΡΠΈΡΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ Ρ ΠΈΠ»ΡΠ΄Π° ΠΌΠ΅ΡΡΠ°, ΠΊΠΎΠΈΡΠΎ ΡΡΠ·Π΄Π°Π²Π°Ρ ΡΡΠ»ΠΎΠ²ΠΈΡ Π·Π° ΠΈΠ½ΠΈΡΠΈΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°ΠΊΡΠ² ΠΎΠ±ΡΠ°ΡΠ΅Π½ ΠΏΠΎΡΠΎΠΊ ΠΈ ΡΠ° Π΄ΠΎΡΡΡΠΏΠ½ΠΈ ΡΡΠ΅Π· ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½ΠΈΡ.
ΠΡΠΈ AMD ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈΡΠ΅ ΡΠΏΠ΅ΠΊΡΠ»Π°ΡΠΈΠ²Π½ΠΎΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΡΠ° βretβ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° Π±Π΅Π· ΠΏΡΠ΅ΠΏΡΠ°ΡΠΊΠ° ΠΊΡΠΌ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅Π½ Π·Π° ΡΡΠ΅ΠΊΠ° Π±ΡΡΠ΅Ρ (Return Address Stack), Π° Π±Π»ΠΎΠΊΡΡ Π·Π° ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΡΠ°Π·ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΡ ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΡΠ° βretβ Π½Π΅ ΠΊΠ°ΡΠΎ Π²ΡΡΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ», Π° ΠΊΠ°ΡΠΎ ΠΈΠ½Π΄ΠΈΡΠ΅ΠΊΡΠ΅Π½ ΠΊΠ»ΠΎΠ½ ΠΈ, ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΎ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π΄Π°Π½Π½ΠΈΡΠ΅ Π·Π° ΠΏΡΠΎΠ³Π½ΠΎΠ·ΠΈΡΠ°Π½Π΅, ΠΊΠΎΠ³Π°ΡΠΎ ΠΏΡΠΎΠ³Π½ΠΎΠ·ΠΈΡΠ° ΠΈΠ½Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΈ ΠΏΡΠ΅Ρ ΠΎΠ΄ΠΈ. ΠΡΠΈ ΡΠ΅Π·ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΡΠΊΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ "ret", ΠΊΠΎΡΡΠΎ Π΅ Π΄ΠΎΡΡΡΠΏΠ½Π° ΡΡΠ΅Π· ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎ ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½Π΅.
ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈΡΠ΅ Π½Π° AMD ΡΡΡΠΎ ΠΈΠΌΠ°Ρ Π΄ΡΡΠ³ ΠΏΡΠΎΠ±Π»Π΅ΠΌ (CVE-2022-23825, ΠΎΠ±ΡΡΠΊΠ²Π°Π½Π΅ Π½Π° ΡΠΈΠΏΠ° ΡΠ°Π·ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅), ΡΠ²ΡΡΠ·Π°Π½ Ρ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΈΠΊΡΠΈΠ²Π½ΠΈ ΡΠ°Π·ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΡ - ΡΡΠ»ΠΎΠ²ΠΈΡ Π·Π° ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΡΠ°Π·ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΡ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π²ΡΠ·Π½ΠΈΠΊΠ½Π°Ρ Π΄ΠΎΡΠΈ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π·Π° ΡΠ°Π·ΠΊΠ»ΠΎΠ½ΡΠ²Π°Π½Π΅, ΠΊΠΎΠ΅ΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΏΠΎΠ²Π»ΠΈΡΠ΅ΡΠ΅ Π½Π° Π±ΡΡΠ΅ΡΠ° Π·Π° ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΡΠ°Π·ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΡ Π±Π΅Π· ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ "ret". Π’Π°Π·ΠΈ ΡΡΠ½ΠΊΡΠΈΡ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΡΡΠ»ΠΎΠΆΠ½ΡΠ²Π° ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ΡΠΎ Π½Π° Π·Π°ΡΠΈΡΠ°ΡΠ° ΠΈ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΏΠΎ-Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΠ·ΡΠΈΡΡΠ²Π°Π½Π΅ Π½Π° Π±ΡΡΠ΅ΡΠ° Π·Π° ΠΏΡΠΎΠ³Π½ΠΎΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°Π·ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΡΡΠ°. ΠΠΎΠ±Π°Π²ΡΠ½Π΅ΡΠΎ Π½Π° ΠΏΡΠ»Π½Π° Π·Π°ΡΠΈΡΠ° ΠΊΡΠΌ ΡΠ΄ΡΠΎΡΠΎ ΡΠ΅ ΠΎΡΠ°ΠΊΠ²Π° Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ 209% ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅ΠΆΠΈΠΉΠ½ΠΈΡΠ΅ ΡΠ°Π·Ρ
ΠΎΠ΄ΠΈ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru