Π˜Π½ΠΆΠ΅Π½Π΅Ρ€ Google ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ» ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΡƒΡŽ Π·Π°Ρ‰ΠΈΡ‚Ρƒ процСссоров ΠΎΡ‚ Π°Ρ‚Π°ΠΊΠΈ Ρ‚ΠΈΠΏΠ° LVI

НСкотороС врСмя Π½Π°Π·Π°Π΄ стало извСстно ΠΎ Π½ΠΎΠ²ΠΎΠΉ уязвимости спСкулятивной Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ процСссоров Intel, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½Π°Π·Π²Π°Π»ΠΈ Load Value Injection (LVI). Π£ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Intel Π΅ΡΡ‚ΡŒ своё ΠΌΠ½Π΅Π½ΠΈΠ΅ ΠΎΠ± опасности LVI ΠΈ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ΠΏΠΎ Π΅Ρ‘ ΡΠΌΡΠ³Ρ‡Π΅Π½ΠΈΡŽ. Π‘Π²ΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… Π°Ρ‚Π°ΠΊ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ» ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Google. Но Π·Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ придётся Ρ€Π°ΡΠΏΠ»Π°Ρ‚ΠΈΡ‚ΡŒΡΡ сниТСниСм ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ процСссора Π² срСднСм Π½Π° 7 %.

Π˜Π½ΠΆΠ΅Π½Π΅Ρ€ Google ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ» ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΡƒΡŽ Π·Π°Ρ‰ΠΈΡ‚Ρƒ процСссоров ΠΎΡ‚ Π°Ρ‚Π°ΠΊΠΈ Ρ‚ΠΈΠΏΠ° LVI

Π Π°Π½Π΅Π΅ ΠΌΡ‹ ΠΎΡ‚ΠΌΠ΅Ρ‡Π°Π»ΠΈ, Ρ‡Ρ‚ΠΎ ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ LVI кроСтся Π½Π΅ Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ΅, ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π½ΠΎΠΌ исслСдоватСлями, Π° Π² самом ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅ LVI-Π°Ρ‚Π°ΠΊΠΈ ΠΏΠΎ ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹ΠΌ ΠΊΠ°Π½Π°Π»Π°ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹Π» ΠΏΠΎΠΊΠ°Π·Π°Π½ Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅. Π’Π΅ΠΌ самым Π±Ρ‹Π»ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ Π½ΠΎΠ²ΠΎΠ΅ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ для ΡƒΠ³Ρ€ΠΎΠ·, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ€Π°Π½Π΅Π΅ Π½ΠΈΠΊΡ‚ΠΎ Π½Π΅ ΠΏΠΎΠ΄ΠΎΠ·Ρ€Π΅Π²Π°Π» (Π²ΠΎ всяком случаС, ΠΎΠ± этом Π½Π΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΎΡΡŒ Π² ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΠΎΠΌ пространствС). ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Ρ†Π΅Π½Π½ΠΎΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ спСциалиста Google Золя БридТСрса (Zola Bridges) Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ Π·Π°ΠΏΠ»Π°Ρ‚ΠΊΠ° смягчаСт ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ Π΅Ρ‰Ρ‘ Π΄Π°ΠΆΠ΅ нСизвСстных Π½ΠΎΠ²Ρ‹Ρ… Π°Ρ‚Π°ΠΊ ΠΏΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ LVI.

Π Π°Π½Π΅Π΅ Π² ассСмблСр ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° GNU (GNU Assembler) Π±Ρ‹Π»ΠΈ внСсСны измСнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ сниТали ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ уязвимости LVI. Π­Ρ‚ΠΈ измСнСния Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π»ΠΈΡΡŒ Π² Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π±Π°Ρ€ΡŒΠ΅Ρ€Π½Ρ‹Ρ… инструкций LFENCE, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ устанавливали ΡΡ‚Ρ€ΠΎΠ³ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ обращСниями ΠΊ памяти Π΄ΠΎ ΠΈ послС Π±Π°Ρ€ΡŒΠ΅Ρ€Π°. ВСстированиС ΠΏΠ°Ρ‚Ρ‡Π° Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· процСссоров Intel поколСния Kaby Lake ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΎ сниТСниС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π΄ΠΎ 22 %.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Google ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ» свой ΠΏΠ°Ρ‚Ρ‡ с Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ инструкций LFENCE Π² Π½Π°Π±ΠΎΡ€ компиляторов LLVM, Π° Π·Π°Ρ‰ΠΈΡ‚Ρƒ Π½Π°Π·Π²Π°Π» SESES (Speculative Execution Side Effect Suppression). ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ ΠΈΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ смягчаСт ΠΊΠ°ΠΊ ΡƒΠ³Ρ€ΠΎΠ·Ρ‹ LVI, Ρ‚Π°ΠΊ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Spectre V1/V4. РСализация SESES Π΄Π°Ρ‘Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ компилятору Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ инструкции LFENCE Π² Π½ΡƒΠΆΠ½Ρ‹Ρ… мСстах Π² процСссС Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ машинного ΠΊΠΎΠ΄Π°. НапримСр, ΠΏΠΎΠ΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΈΡ… ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ инструкциСй чтСния ΠΈΠ· памяти ΠΈΠ»ΠΈ записи Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ.

Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΠΈ LFENCE Π·Π°ΠΏΡ€Π΅Ρ‰Π°ΡŽΡ‚ ΡƒΠΏΡ€Π΅ΠΆΠ΄Π°ΡŽΡ‰Π΅Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ всСх ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… инструкций, ΠΏΠΎΠΊΠ° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ чтСния ΠΈΠ· памяти Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Ρ‹. ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ это влияСт Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ процСссоров. Π˜ΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ выяснил, Ρ‡Ρ‚ΠΎ Π² срСднСм Π·Π°Ρ‰ΠΈΡ‚Π° SESES сниТала ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ выполнСния Π·Π°Π΄Π°Ρ‡ с использованиСм Π·Π°Ρ‰ΠΈΡ‰Ρ‘Π½Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π½Π° 7,1 %. Разброс сниТСния ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΈ этом составлял ΠΎΡ‚ 4 Π΄ΠΎ 23 %. ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ³Π½ΠΎΠ· исслСдоватСлСй Π±Ρ‹Π» Π±ΠΎΠ»Π΅Π΅ пСссимистичным, прСдполагая сниТСниС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π΄ΠΎ 19 Ρ€Π°Π·.



Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: 3dnews.ru