Компания Microsoft, как известно, достаточно давно и активно тестирует так называемый Retpoline, новый метод минимизации влияния пресловутой уязвимости Spectre variant 2. И, похоже, какие-то результаты уже есть, поскольку с выпуском 1 марта обновления KB4482887 Retpoline теперь включен в Windows 10 version 1809.
К слову, проверить, насколько Windows на вашем компе защищена от этой самой уязвимости Spectre, можно с помощью специальной утилитки InSpectre, о которой мы уже писали в одном из наших предыдущих постов.
Если в общем, то от предыдущих «методов смягчения», применяемых Microsoft в Windows, новый Retpoline отличается, в первую очередь, производительностью. По данным разработчика, в частности приложения Office в Windows 10 благодаря Retpoline стартуют примерно на 25% шустрее.
When all relevant kernel-mode binaries are compiled with retpoline, we’ve measured ~25% speedup in Office app launch times and up to 1.5-2x improved throughput in the Diskspd (storage) and NTttcp (networking) benchmarks on Broadwell CPUs in our lab.
Однако даже после установки обновления KB4482887 на комп Retpoline по умолчанию остается отключенным. Потому если есть желание поэкспериментировать и/или не дожидаться пока в Microsoft завершает программу тестирования, и если у вас есть доступ к учетной записи Администратора системы, то Retpоline включить можно вручную. Благо сделать это не сложно, но возможно только при условии, что у вас установлены ОС Windows 10 v.1809 и обновление KB4482887.
Так что, далее — о том,..
как включить Retpoline в Windows 10
Для этого:
- открываем командную строку Windows 10 от имени Администратора (это важно) и по очереди вводим следующие две команды:
reg add «HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management» /v FeatureSettingsOverride /t REG_DWORD /d 0x400
на запрос разрешить перезапись имеющихся значений жмем Y
reg add «HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management» /v FeatureSettingsOverrideMask /t REG_DWORD /d 0x400
на запрос разрешить перезапись имеющихся значений тоже жмем Y
- перезагружаем компьютер.
как включить Retpoline в Windows 10 Server
Сделать это можно следующим образом:
- тоже открываем командную строку от имени Администратора и вводим такие две команды:
reg add «HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management» /v FeatureSettingsOverride /t REG_DWORD /d 0x400
и
reg add «HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management» /v FeatureSettingsOverrideMask /t REG_DWORD /d 0x401
- перезагружаем компьютер.
Это всё. В завершение отметим еще несколько моментов. Во-первых, необходимые изменения при должной квалификации можно внести также посредством Редактора реестра Windows 10. Во-вторых, согласно данным Microsoft, серия Skylake и более новые процессоры Intel Retpоline не поддерживают. И в-третьих, проверить текущий статус Retpоline в системе можно с помощью предложенного Microsoft скрипта Get-SpeculationControlSettings PowerShell cmdlet (линк). Значение True для BTIKernelRetpolineEnabled и BTIKernelImportOptimizationEnabled означает, что Retpoline активирован:
[irp]