Verifica la protección frente a Meltdown y Spectre con Powershell

La semana pasada os contaba acerca de las vulnerabilidades Meltdown y Spectre, que aquejan a la gran mayoría de procesadores Intel de los últimos años, así como a ciertos modelos de AMD y ARM. En dicho artículo ya os expliqué de qué formas podíamos saber además si estábamos en peligro y como aplicar actualizaciones en diferentes versiones de Windows y Linux.

Pero parece ser que incluso teniendo los parches del sistema operativo al día podríamos seguir siendo vulnerables, de alguna manera, a los problemas mencionados. El motivo es que necesitaríamos aplicar un nuevo firmware adicional, a nivel de BIOS / UEFI, para quedar protegidos al 100%. Este nuevo firmware debe proporcionarlo el fabricante del equipo.

Dicha actualización de BIOS / UEFI contiene el micro-código que nuestro modelo de CPU precisa

Pero antes de continuar con eso, vamos a ver cómo podemos aprovechar un script para verificar la vulnerabilidad Meltdown o Spectre, que Microsoft ha lanzado hace poco.

Verificar la protección frente a Meltdown con un script

Antes de continuar: este script que ejecutaremos mediante Powershell solo funciona por defecto en Windows 10, si queremos utilizarlo en Windows 8 y anteriores deberemos antes actualizar a Powershell 5.0. Comencemos.

Abriremos la consola de Powershell pulsando la combinación de teclas WIN + X y seleccionando:

Windows Powershell (administrador)

Abrir powershell Windows

También podemos abrir una consola de CMD y desde ahí escribir:

powershell.exe

Ahora vamos a instalar un módulo de Powershell para realizar la comprobación, Escribiremos lo siguiente en la línea de comandos:

Install-Module SpeculationControl

Seguramente ahora veamos un aviso para instalar un proveedor llamado NuGet, responderemos afirmativamente con una “S” (Si) o “Y” (Yes) si nuestro sistema está en inglés.

También recibiremos un aviso que indica que debemos aprobar este repositorio, responderemos igual que antes.

Install-Module SpeculationControl

Lo siguiente que haremos es guardar la ejecución del comando actual para poder reproducirlo más tarde.

$SavedExecutionPolicy = Get-ExecutionPolicy

$SavedExecutionPolicy = Get-ExecutionPolicy

Finalmente modificaremos temporalmente la política para permitir que nuestro script Powershell sea ejecutado:

Set-ExecutionPolicy RemoteSigned -Scope Currentuser

Set-ExecutionPolicy RemoteSigned -Scope Currentuser

Uso del Script SpeculationControl

Ahora lanzaremos nuestro script y para ello antes importaremos el módulo como sigue:

Import-Module SpeculationControl

Introduciremos lo siguiente y comenzará el análisis:

Get-SpeculationControlSettings

Nos fijaremos en los dos primeros elementos mencionados y su valor deberá ser Verdadero (en verde) para una protección del 100% frente a Meltdown y Spectre.

Get-SpeculationControlSettings

Explicación:

  • Soporte mediante hardware para mitigación de inyección de rama objetivo está presente: La primera opción debería estar idealmente activa (verdadero) porque indicaría que contamos con el firmware corregido. Este punto nos protegería por completo frente a ataques mediante el uso de Spectre.

Soporte de Windows para mitigación de inyección de rama objetivo está presente: Este valor debería estar habilitado e indica que nuestro equipo cuenta con los parches correctivos que protegen Windows 10 frente a Spectre y Meltdown.

No debemos olvidarnos ahora de devolver la política de ejecución de Powershell a su valor anterior, por seguridad:

Set-ExecutionPolicy $SavedExecutionPolicy -Scope Currentuser

¿Es posible conseguir el nuevo firmware para Spectre o Meltdown?

Teóricamente si, pero todo depende de la marca de nuestro equipo. En cualquier caso deberíamos darle importancia a este punto si en el paso anterior el comando Get-SpeculationControlSettings nos devolvió un “false”.

Cada fabricante tiene su propio método de entrega del parche, aunque no todos han sido publicados aún. Veamos algunos ejemplos de firmware puesto a disposición por las empresas:

  • Dell
  • Lenovo: clic sobre Drivers y Software e introduciremos nuestro identificador de modelo. Después buscaremos la sección BIOS/UEFI e instalaremos la versión más reciente (Enero 2018).
  • HP: cuenta con una larga lista de parches.

Verificar si el parche para Meltdown está instalado en Windows

Si habéis seguido las recomendaciones de mi anterior post o si tenéis las actualizaciones de Windows en automático es posible que ya tengáis instalado el parche correctivo. Y digo posible y no seguro porque, como comenté esta pasada semana, en muchos casos se están demorando las actualizaciones por problemas de compatibilidad de algunos antivirus y cuelgues en los equipos.

En AMD, por su parte, se ha detenido la actualización para Meltdown en ciertos casos.

Vamos a comprobar por lo tanto el estado de la actualización en Windows 10 (en versiones anteriores funciona de forma similar).

Escribiremos “actualizaciones” en la barra de búsqueda y seleccionaremos esta opción:

Estado de actualizaciones de Windows

Si vemos, como en mi caso, que contamos con la actualización KB4056892 es que todo marcha correctamente. En caso contrario, podemos descargarla manualmente.

KB4056892 actualización para Windows

Referente al tema de la compatibilidad de antivirus para el parche de Meltdown, recordad revisar si vuestro producto está actualizado en la siguiente lista.

Antes de despedirme os recomiendo leer esta entrada similar donde Xavier Caballé explica como realizar la comprobación en Windows Server. Espero que os sirva de ayuda esta información y ya sabéis: correciones y aportaciones son siempre bienvenidas 😉

Deja tu comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s