ΠΠ° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈΡΠ΅ Ρ ΡΠΈΡΠΎΠΊ ΡΠΏΠ΅ΠΊΡΡΡ ΠΎΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ Armv8-A (Cortex-A) ΡΠΎΠ±ΡΡΠ²Π΅Π½Π° ΡΠ½ΠΈΠΊΠ°Π»Π½Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡ Π·Π° Π°ΡΠ°ΠΊΠ° ΡΡΠ΅Π· ΡΡΡΠ°Π½ΠΈΡΠ΅Π½ ΠΊΠ°Π½Π°Π» Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΠΏΠ΅ΠΊΡΠ»Π°ΡΠΈΠ²Π½ΠΈ ΠΈΠ·ΡΠΈΡΠ»ΠΈΡΠ΅Π»Π½ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ. ΠΠ° ΡΠΎΠ²Π° ΡΡΠΎΠ±ΡΠΈ ΡΠ°ΠΌΠ°ΡΠ° ARM ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈ ΠΏΠ°ΡΠΎΠ²Π΅ ΠΈ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° Π·Π° ΡΠΌΠ΅ΠΊΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΎΡΠΊΡΠΈΡΠ°ΡΠ° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡ. ΠΠΏΠ°ΡΠ½ΠΎΡΡΡΠ° Π½Π΅ Π΅ ΡΠΎΠ»ΠΊΠΎΠ²Π° Π³ΠΎΠ»ΡΠΌΠ°, Π½ΠΎ Π½Π΅ Π±ΠΈΠ²Π° Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π½Π΅Π±ΡΠ΅Π³Π²Π°, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈΡΠ΅ Ρ ARM Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΡΠ΅ ΡΡΠ΅ΡΠ°Ρ Π½Π°Π²ΡΡΠΊΡΠ΄Π΅, ΠΊΠΎΠ΅ΡΠΎ ΠΏΡΠ°Π²ΠΈ ΡΠΈΡΠΊΠ° ΠΎΡ ΠΈΠ·ΡΠΈΡΠ°Π½Π΅ Π½Π΅Π²ΠΎΠΎΠ±ΡΠ°Π·ΠΈΠΌ ΠΏΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΡ.

ΠΡΠΊΡΠΈΡΠ°ΡΠ° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡ ΠΎΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΈΡΠ΅ Π½Π° Google Π² ARM Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈ ΠΊΠΎΠ΄ΠΎΠ²ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Straight-Line Speculation (SLS) ΠΈ ΠΎΡΠΈΡΠΈΠ°Π»Π½ΠΎ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΠ΅ CVE-2020-13844. Π‘ΠΏΠΎΡΠ΅Π΄ ARM, ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠ° SLS Π΅ Π΅Π΄Π½Π° ΠΎΡ ΡΠΎΡΠΌΠΈΡΠ΅ Π½Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠ° Spectre, Π·Π° ΠΊΠΎΡΡΠΎ (Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠ° Meltdown) ΡΡΠ°Π½Π° ΡΠΈΡΠΎΠΊΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ ΠΏΡΠ΅Π· ΡΠ½ΡΠ°ΡΠΈ 2018 Π³ΠΎΠ΄ΠΈΠ½Π°. Π‘ Π΄ΡΡΠ³ΠΈ Π΄ΡΠΌΠΈ, ΡΠΎΠ²Π° Π΅ ΠΊΠ»Π°ΡΠΈΡΠ΅ΡΠΊΠ° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡ Π² ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΈΡΠ΅ Π½Π° ΡΠΏΠ΅ΠΊΡΠ»Π°ΡΠΈΠ²Π½ΠΈΡΠ΅ ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΡ Ρ Π°ΡΠ°ΠΊΠ° ΡΡΠ΅Π· ΡΡΡΠ°Π½ΠΈΡΠ½ΠΈ (ΠΏΠΎΠ±ΠΎΡΠ½ΠΈ) ΠΊΠ°Π½Π°Π»ΠΈ.
Π‘ΠΏΠ΅ΠΊΡΠ»Π°ΡΠΈΠ²Π½ΠΈΡΠ΅ ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΈΠ·ΠΈΡΠΊΠ²Π°Ρ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π΄Π°Π½Π½ΠΈ ΠΏΠΎ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΈ ΠΊΠ»ΠΎΠ½Π°, Π²ΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ Π²ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ ΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΎΡΡ Π²ΡΡΠ»Π΅Π½ΠΈ ΠΊΠ°ΡΠΎ Π½Π΅Π½ΡΠΆΠ½ΠΈ. ΠΡΠ°ΠΊΠΈΡΠ΅ ΡΡΠ΅Π· ΡΡΡΠ°Π½ΠΈΡΠ½ΠΈ ΠΊΠ°Π½Π°Π»ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ ΠΊΡΠ°ΠΆΠ±Π° Π½Π° ΡΠ°ΠΊΠΈΠ²Π° ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π½ΠΈ Π΄Π°Π½Π½ΠΈ, ΠΏΡΠ΅Π΄ΠΈ ΡΠ΅ Π΄Π° Π±ΡΠ΄Π°Ρ Π½Π°ΠΏΡΠ»Π½ΠΎ ΡΠ½ΠΈΡΠΎΠΆΠ΅Π½ΠΈ. Π ΡΠ΅Π·ΡΠ»ΡΠ°Ρ ΠΏΠΎΠ»ΡΡΠ°Π²Π°ΠΌΠ΅ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ ΠΈ ΡΠΈΡΠΊ ΠΎΡ ΠΈΠ·ΡΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ.
ΠΡΠ°ΠΊΠ°ΡΠ° Straight-Line Speculation ΡΡΠ΅ΡΡ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈΡΠ΅ Ρ ARM Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΏΡΠΈΠ½ΡΠΆΠ΄Π°Π²Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ° Π²ΡΠ΅ΠΊΠΈ ΠΏΡΡ ΡΠ»Π΅Π΄ ΠΏΡΠΎΠΌΡΠ½Π° Π² ΠΏΠΎΡΠΎΠΊΠ° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π΄Π° ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ ΠΊΡΠΌ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ, Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ°, Π²ΠΌΠ΅ΡΡΠΎ Π΄Π° ΡΠ»Π΅Π΄Π²Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈΡΠ΅ Π² Π½ΠΎΠ²ΠΈΡ ΠΏΠΎΡΠΎΠΊ ΠΊΠΎΠΌΠ°Π½Π΄. ΠΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΡΠΎΠ²Π° Π½Π΅ Π΅ Π½Π°ΠΉ-Π΄ΠΎΠ±ΡΠΈΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠΉ Π·Π° ΠΈΠ·Π±ΠΎΡ Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅, ΠΎΡ ΠΊΠΎΠΉΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π²ΡΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π»ΠΎΡΠΌΠΈΡΠ»Π΅Π½ΠΈΠΊ.
ΠΠ° ΡΠ΅ΡΡ Π½Π° ARM, ΡΡ Π½Π΅ ΡΠ°ΠΌΠΎ ΡΠ΅ Π΅ ΠΈΠ·Π΄Π°Π»Π° ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ, ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π·Π° ΠΈΠ·Π±ΡΠ³Π²Π°Π½Π΅ Π½Π° ΡΠΈΡΠΊΠ° ΠΎΡ ΠΈΠ·ΡΠΈΡΠ°Π½Π΅ ΡΡΠ΅Π· Π°ΡΠ°ΠΊΠ° Π½Π° Straight-Line Speculation, Π½ΠΎ ΡΡΡΠΎ ΡΠ°ΠΊΠ° Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΠ»Π° ΠΏΠ°ΡΠΎΠ²Π΅ Π·Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π° FreeBSD, OpenBSD, Trusted Firmware-A ΠΈ OP-TEE ΠΈ Π΅ ΠΈΠ·Π΄Π°Π»Π° ΠΏΠ°ΡΠΎΠ²Π΅ Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠΈΡΠ΅ GCC ΠΈ LLVM.
Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ° ΡΡΠΎΠ±ΡΠΈΡ Π°, ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠ°ΡΠΎΠ²Π΅ΡΠ΅ Π½ΡΠΌΠ° Π΄Π° ΡΠ΅ ΠΎΡΡΠ°Π·ΠΈ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° ARM ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈΡΠ΅, ΠΊΠ°ΠΊΡΠΎ ΡΡΠ°Π½Π° Ρ x86-ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΈΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ Intel Ρ Π±Π»ΠΎΠΊΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈΡΠ΅ Spectre ΠΈ Meltdown. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π°, Π·Π° ΡΠΎΠ²Π° ΡΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΠΎΡ ΡΡΠ΅ΡΠΈ ΠΈΠ·ΡΠΎΡΠ½ΠΈΡΠΈ, ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈ ΠΎΠ±Π΅ΠΊΡΠΈΠ²Π½Π° ΠΊΠ°ΡΡΠΈΠ½Π° Π·Π° Π½ΠΎΠ²Π°ΡΠ° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: 3dnews.ru
