ΠΠ° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈΡΠ΅ Π½Π° ΡΠΈΡΠΎΠΊ ΡΠΏΠ΅ΠΊΡΡΡ ΠΎΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ 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
