Como activar Retpoline en Windows 10 (Spectre)

Autor
Juan. M Espinal
Fecha de publicación
12.03.2019
Ilość komentarzy
0

El año pasado salto la noticia de que los microprocesadores Intel y AMD se vieron afectado por una de las mayores vulneraciones de seguridad recordadas ya que lo millones de usuarios vieron como sus dispositivos se vieron afectados por los ya populares Spectre y Meltdown. Estas vulnerabilidades de hardware permiten a los programas robar datos que se procesan en tu ordenador.

activa retpoline en Windows 10 para mejorar el rendimiento del procesador tras Spectre

Relacionado: Como evitar la vulnerabilidad Spectre en Google Chrome (Navegador Web)

Tras la primera vulnerabilidad, se conoció una segunda conocida como Spectre 2. Si bien este agujero de seguridad se soluciono rápidamente, lo cierto es que el rendimiento de los ordenadores se vio afectado muy negativamente. Para reducir el impacto de rendimiento fue lanzado Retpoline el cual reduce considerablemente la caída de rendimiento provocada por los parches anti-Spectre y anti-Meltdown.

Sin Retpoline la caída de rendimiento podría llegar hasta el 30%, sin embargo, tras la activación de Retpoline este porcentaje no debería ser de más de 1-2%.

Windows 10, tras las últimas actualizaciones, incorpora Retpoline de manera predeterminada. No obstante, los usuarios deberás activar esta función de manera manual para mitigar el impacto negativo de las soluciones para paliar la vulnerabilidad de Spectre y Meltdown.

Realmente, Retpoline es una técnica de modificación binaria desarrollada por Google. Retpoline se usa para protegerse contra la vulnerabilidad "Branch target injection", también conocida como "Spectre". Microsoft está desplegando esto en varias fases. Y debido a la complejidad de su implementación, los beneficios de rendimiento están disponibles a partir de Windows 10 v1809 o versiones posteriores. Para habilitar manualmente Retpoline en Windows, asegúrese de contar la actualización KB4482887.

A continuación os mostramos paso a paso como activar manualmente Retpoline en Windows 10:

Como activar Retpoline en Windows 10 (mejorar rendimiento del Micro-procesador)

A continuación, agregue las siguientes actualizaciones de configuración de registro:

Para usuarios de Windows 10:

- Abre el CMD (Símbolo del Sistema) Ejecutándolo como administrador.  

- Una vez mostrada la interfaz negra del CMD deberás introducir y ejecutar los siguientes comandos:

reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 0x400

Retpoline mejora el rendimiento de tu ordenador con windows 10 tras la vulnerabilidad de Spectre

- Pulsa Enter para ejecutar el comando y a continuación introduce el este segundo:

reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 0x400

- Vuelve a pulsar la tecla Enter para ejecutar este segundo comando para renglón seguido proceder al reinicio de tu ordenador y listo. A partir de ese momento, Retpoline estará activo y el rendimiento de tu ordenador mejorarás considerablemente.

 

Para usuarios servidores de Windows 10:

- Igualmente tendrás que abrir el CMD con derechos de administrador.

- Una vez que dentro del CMD deberás introducir y ejecutar los siguientes comandos en el siguiente orden:

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 0x401

- Tras ejecutar el segundo comando, deberás hacer cerrar el CMD y reiniciar tu ordenador para que las mejoras de rendimiento surtan efecto.

 

Cómo comprobar que Retpoline en Windows 10 está activado correctamente.

Para confirmar si Retpoline está activado y funcionando correctamente, puedes usar el comando Get-SpeculationControlSettings en PowerShell cmdlet.

- Primeramente tendrás que descargar el script para PowerShell desde el siguiente enlace: SpeculationControlSettings.

- Una vez descargado, deberás descomprimir el script y abre la herramienta PowerShell.

- Cuando esté abierto el PowerShell deberás ejecutar los siguientes comandos en el orden indicado:

PS C:\> Install-Module -Name SpeculationControl
PS> # Save the current execution policy so it can be reset
PS> $SaveExecutionPolicy = Get-ExecutionPolicy
PS> Set-ExecutionPolicy RemoteSigned -Scope Currentuser
PS> Import-Module SpeculationControl
PS> Get-SpeculationControlSettings
PS> # Reset the execution policy to the original state
PS> Set-ExecutionPolicy $SaveExecutionPolicy -Scope Currentuser

Tras la ejecución hará que PowerShell te muestre un mensaje similar o igual al siguiente:

Spectre disminuye el rendimiento de tu procesador Intel y con Retpoline podrás recuperarlo

PS C:\> Import-Module SpeculationControl

PS C:\> Get-SpeculationControlSettings

For more information about the output below, please refer to https://support.microsoft.com/en-in/help/4074629

 

Speculation control settings for CVE-2017-5715 [branch target injection]

 

Hardware support for branch target injection mitigation is present: True

Windows OS support for branch target injection mitigation is present: True

Windows OS support for branch target injection mitigation is enabled: True

 

Speculation control settings for CVE-2017-5754 [rogue data cache load]

 

Hardware requires kernel VA shadowing: True

Windows OS support for kernel VA shadow is present: True

Windows OS support for kernel VA shadow is enabled: True

Windows OS support for PCID performance optimization is enabled: True [not required for security]

 

Speculation control settings for CVE-2018-3639 [speculative store bypass]

 

Hardware is vulnerable to speculative store bypass: True

Hardware support for speculative store bypass disable is present: False

Windows OS support for speculative store bypass disable is present: True

Windows OS support for speculative store bypass disable is enabled system-wide: False

 

Speculation control settings for CVE-2018-3620 [L1 terminal fault]

 

Hardware is vulnerable to L1 terminal fault: True

Windows OS support for L1 terminal fault mitigation is present: True

Windows OS support for L1 terminal fault mitigation is enabled: True

 

 

BTIHardwarePresent                  : True

BTIWindowsSupportPresent            : True

BTIWindowsSupportEnabled            : True

BTIDisabledBySystemPolicy           : False

BTIDisabledByNoHardwareSupport      : False

BTIKernelRetpolineEnabled           : True

BTIKernelImportOptimizationEnabled  : True

KVAShadowRequired                   : True

KVAShadowWindowsSupportPresent      : True

KVAShadowWindowsSupportEnabled      : True

KVAShadowPcidEnabled                : True

SSBDWindowsSupportPresent           : True

SSBDHardwareVulnerable              : True

SSBDHardwarePresent                 : False

SSBDWindowsSupportEnabledSystemWide : False

L1TFHardwareVulnerable              : True

L1TFWindowsSupportPresent           : True

L1TFWindowsSupportEnabled           : True

L1TFInvalidPteBit                   : 45

L1DFlushSupported                   : False

Este mensaje revela el estado de las mitigaciones configurables de Windows para varias vulnerabilidades del canal lateral de ejecución especulativa. Incluye la variante Spectre 2 y Meltdown.

Retpoline es una optimización del rendimiento para la variante Spectre 2. La clave es que requiere que tanto el hardware como el sistema operativo posean y tengan activa, la vulnerabilidad "Branch target injection" (Spectre). Debes tener en cuenta que Skylake y las generaciones posteriores de procesadores Intel no son compatibles con Retpoline. En estos casos solo tendrán habilitada la optimización de importación en estos modelos de procesadores.

En futuras actualizaciones, esta característica vendrá habilitada por defecto. Microsoft está trabajando en una solución que ya no requerirá Retpoline. La próxima generación de hardware debería poder arreglar eso, pero hasta entonces las actualizaciones solucionarán las vulnerabilidades.

Únete a la discusión

comments powered by Disqus