Guía de Windows Server para protegerse contra vulnerabilidades del canal lateral de ejecución especulativa

Se aplica: Windows Server 2016 Version 1709Windows Server 2012 R2 StandardWindows Server 2012 Standard Más

Resumen


Microsoft es consciente de una nueva clase de vulnerabilidades publicadas que se conocen como “ataques de canal lateral de ejecución especulativa” que  afectan a muchos procesadores, incluidos Intel, AMD y ARM.

Nota Este problema también afecta a otros sistemas operativos, como Android, Chrome, iOS y MacOS. Por ello, aconsejamos a los clientes que pidan asistencia a dichos proveedores.

Microsoft ha publicado varias actualizaciones para ayudar a mitigar estas vulnerabilidades. Así mismo, también ha tomado medidas para proteger sus servicios en la nube. Para obtener más detalles, consulte las secciones siguientes:

Microsoft todavía no ha recibido información que indique que estas vulnerabilidades se han utilizado para atacar a los clientes. Microsoft está trabajando estrechamente con asociados del sector, como fabricantes de chips, fabricantes de equipos originales de hardware y proveedores de aplicaciones, para proteger a los clientes. Para poder disfrutar de todas las protecciones disponibles, se requieren actualizaciones de firmware (microcódigo) y software. Esto incluye microcódigo de los OEM del dispositivo y, en algunos casos, actualizaciones del software antivirus.

En este artículo, se abordan las siguientes vulnerabilidades:

Para obtener más información sobre esta clase de vulnerabilidades, consulte ADV180002 y ADV180012.

Microsoft proporciona información de contacto de otros proveedores para ayudarle a encontrar soporte técnico. Dicha información de contacto puede cambiar sin notificación previa. Microsoft no garantiza la precisión de esta información de contacto de terceros.

Acciones recomendadas


Los clientes deben tomar las siguientes medidas para ayudar a protegerse contra estas vulnerabilidades:

  1. Aplique todas las actualizaciones disponibles del sistema operativo Windows, incluidas las actualizaciones de seguridad de Windows mensuales. Para obtener información sobre  cómo habilitar estas actualizaciones, consulte el artículo 4072699 de Microsoft Knowledge Base.
  2. Aplique las actualizaciones de firmware (microcódigo) correspondientes del fabricante del dispositivo (OEM).
  3. Evalúe el riesgo de su entorno en función de la información que figura en los avisos de seguridad de Microsoft ADV180002 y ADV180012, y en este artículo de Knowledge Base.
  4. Adopte las medidas necesarias según los avisos y la información de la clave del Registro que se proporciona en el artículo de Knowledge Base.

Habilitar las protecciones en Windows Server


Las mitigaciones para CVE-2017-5753 están habilitadas en Windows Server de manera predeterminada y no hay una opción disponible para que el administrador  las deshabilite. Las mitigaciones para las otras tres vulnerabilidades que se describen en este artículo están deshabilitadas de manera predeterminada. Los clientes que desean que  todas las protecciones estén disponibles contra estas vulnerabilidades deben realizar  cambios en la clave del Registro para  habilitar estas  mitigaciones.

La habilitación de estas mitigaciones puede afectar al rendimiento. La escala de impactos en el rendimiento depende de varios factores, como el conjunto de chips del host físico y las cargas de trabajo que se ejecutan. Recomendamos que los clientes evalúen el impacto en el rendimiento de su entorno y realicen cualquier ajuste necesario.

Su servidor correrá un mayor riesgo si se encuentra en una de las siguientes categorías:

  • Hosts de Hyper-V: –se necesita protección contra ataques de máquina virtual a máquina virtual y de máquina virtual a host.
  • Hosts de servicios de escritorio remoto (RDSH): –se necesita protección contra ataques de una sesión a otra y de una sesión al host.
  • Hosts físicos o de las máquinas virtuales que ejecutan un código que no es de confianza, como contenedores o extensiones que no son de confianza para la base de datos, contenido web que no es de confianza o cargas de trabajo que ejecutan un código que proviene de orígenes externos: se necesita protección contra ataques de un proceso que no es de confianza a otro proceso o de un proceso que no es de confianza al kernel.

Use la siguiente configuración de la clave del Registro para habilitar estas mitigaciones en el servidor y reinicie el sistema para aplicar los cambios.

Habilitar mitigaciones para CVE-2017-5715 (variante 2 de Spectre) y CVE-2017-5754 (Meltdown)


Importante Esta sección, método o tarea contiene pasos que le indican cómo modificar el Registro. Sin embargo, se pueden producir problemas graves si modifica el Registro incorrectamente. Por tanto, asegúrese de que sigue estos pasos cuidadosamente. Para mayor protección, realice una copia de seguridad del Registro antes de modificarlo. De esta manera podrá restaurar el Registro en caso de que se produzca un problema. Para obtener más información acerca de cómo realizar una copia de seguridad y restaurar el Registro, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

322756 Cómo realizar una copia de seguridad y restaurar el Registro en Windows

Para habilitar mitigaciones para CVE-2017-5715 (variante 2 de Spectre) y CVE-2017-5754 (Meltdown)

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

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f

reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization" /v MinVmVersionForCpuBasedMitigations /t REG_SZ /d "1.0" /f

Si se trata de un host de Hyper-V y se han aplicado las actualizaciones del firmware: apague por completo todas las máquinas virtuales. Esto permite que se aplique la mitigación relacionada con el firmware en el host antes de que se inicien las máquinas. Por lo tanto, las máquinas virtuales también se actualizan cuando se reinician.

Reinicie el servidor para que los cambios surtan efecto.

Para deshabilitar mitigaciones para CVE-2017-5715 (variante 2 de Spectre) y CVE-2017-5754 (Meltdown)

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 3 /f

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f

Reinicie el servidor para que los cambios surtan efecto.

(No es necesario que modifique MinVmVersionForCpuBasedMitigations).


Notas

Deshabilitar mitigaciones para CVE-2017-5715 (variante 2 de Spectre)


Mientras Intel realiza pruebas del nuevo microcódigo, lo actualiza y lo implementa, ofrecemos una nueva opción para los usuarios avanzados de los dispositivos afectados para deshabilitar y habilitar manualmente la mitigación contra la variante 2 de Spectre (CVE-2017-5715,  – “Inserción de destino de bifurcación”) de manera independiente a través de unos cambios en la configuración del  registro.

Si instaló el microcódigo,  pero desea deshabilitar la mitigación de CVE-2017-5715 debido a problemas de reinicios inesperados  o de estabilidad del sistema, siga las siguientes instrucciones.

Para deshabilitar la variante 2: (CVE-2017-5715: mitigación de "inserción de destino bifurcación").

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 1 /f

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f

Para habilitar la variante 2: Mitigación (CVE-2017-5715 – “Inserción de destino de bifurcación”) :

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

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f

reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization" /v MinVmVersionForCpuBasedMitigations /t REG_SZ /d "1.0" /f


Nota
 Deshabilitar y habilitar la mitigación de la variante 2 a través de cambios de la configuración del Registro requiere derechos de administrador y reinicio.

Habilitar Indirect Branch Prediction Barrier (IBPB) para la variante 2 de Spectre en procesadores (CPU) AMD


Algunos procesadores AMD (CPU) ofrecen una característica de control de rama indirecta para mitigar las inserciones de destino de rama indirectas a través de un mecanismo Indirect Branch Prediction Barrier (IBPB). (Para obtener más información, consulte la pregunta frecuente n.º 15 en ADV180002, Instrucciones de arquitectura de AMD en torno al control indirecto de rama y Actualizaciones de seguridad de AMD).

Siga estas instrucciones para controlar IBPB a la hora de cambiar de un contexto de usuario a un contexto de kernel:

Para habilitar el uso de  Indirect Branch Prediction Barrier (IBPB) al cambiar  de un contexto de usuario a un contexto de kernel:

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 64 /f

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f


Nota
 Para habilitar el uso de Indirect Branch Prediction Barrier (IBPB) a través de los cambios de configuración del Registro, se necesitan derechos administrativos y un reinicio.

Habilitar mitigaciones para CVE-2018-3639 (derivación de almacenamiento especulativo), CVE-2017-5715 (variante 2 de Spectre) y CVE-2017-5754 (Meltdown)



Para habilitar mitigaciones para CVE-2018-3639 (derivación de almacenamiento especulativo), CVE-2017-5715 (variante 2 de Spectre) y CVE-2017-5754 (Meltdown):

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 8 /f

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f

reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization" /v MinVmVersionForCpuBasedMitigations /t REG_SZ /d "1.0" /f

Para deshabilitar mitigaciones para CVE-2018-3639 (derivación de almacenamiento especulativo) y mitigaciones para CVE-2017-5715 (variante 2 de Spectre) y CVE-2017-5754 (Meltdown)

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 3 /f

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f


Nota
Estos cambios en el Registro requieren derechos de administrador y un reinicio.

Verificar si las protecciones están habilitadas


Para ayudar a los clientes a comprobar que se han habilitado las protecciones  adecuadas, Microsoft ha publicado un script de PowerShell que los clientes pueden ejecutar en sus sistemas. Instale y ejecute el script mediante la ejecución de los comandos siguientes.

Verificación de PowerShell mediante la Galería de PowerShell (Windows Server 2016 o WMF 5.0/5.1)

Instale el módulo de PowerShell:

PS> Install-Module SpeculationControl

Ejecute el módulo de PowerShell para verificar si las  protecciones están habilitadas:

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

Verificación de PowerShell con una descarga de Technet (versiones anteriores de SO o versiones anteriores de WMF)

Instale el módulo PowerShell desde Technet ScriptCenter:

  1. Vaya a https://aka.ms/SpeculationControlPS.
  2. Descargue SpeculationControl.zip en una carpeta local.
  3. Extraiga el contenido en una carpeta local. Por ejemplo: C:\ADV180002

Ejecute el módulo de PowerShell para verificar si las protecciones están habilitadas:

Inicie PowerShell y, luego, utilice el ejemplo anterior para copiar y ejecutar los siguientes comandos:

PS> # Save the current execution policy so it can be reset

PS> $SaveExecutionPolicy = Get-ExecutionPolicy

PS> Set-ExecutionPolicy RemoteSigned -Scope Currentuser

PS> CD C:\ADV180002\SpeculationControl

PS> Import-Module .\SpeculationControl.psd1

PS> Get-SpeculationControlSettings

PS> # Reset the execution policy to the original state

PS> Set-ExecutionPolicy $SaveExecutionPolicy -Scope Currentuser


Para obtener una explicación detallada de la salida del script de PowerShell, consulte el
artículo 4074629 de Knowledge Base

Preguntas más frecuentes


No me ofrecieron las actualizaciones de seguridad de Windows que se publicaron en enero y febrero de 2018. ¿Qué debo hacer?

A fin de evitar que los dispositivos de los clientes se vean afectados negativamente, las actualizaciones de seguridad de Windows que se publicaron en enero y febrero de  2018  no se ofrecieron a todos los clientes. Para obtener información detallada, consulte el artículo 4072699 de Microsoft Knowledge Base.

Referencias