Página principal Sobre mi Premios recibidos Links de Interés Contacto Blogs de referencia

Translate

domingo, 14 de enero de 2018

Textual description of firstImageUrl

Windows 2012 R2: Proteger un servidor contra la vulnerabilidad del canal lateral de ejecución especulativa (Spectre - Meltdown).

En la actualidad, han aparecido una nueva clase de vulnerabilidades que se conocen como ataques de ejecución especulativa al canal lateral, y que afectan a toda la industria de microprocesadores y sistemas operativos modernos.

Esta vulnerabilidad afecta a sistemas operativos, como pueden ser Microsoft Windows, Android, iOS, MacOS y a los procesadores de las marcas  Intel, AMD y ARM.

Una ejecución especulativa es una forma de optimizar, en la que un sistema informático lleva a cabo una tarea antes de saber si realmente será  necesaria o no. Esto lo hace con la intención de evitar el tiempo de espera que supondría realizar la tarea después de saber que es realmente necesaria. 

Recientemente ha sido identificada una vulnerabilidad en ciertos métodos de análisis de software que cuando se usan de forma maliciosa, podrían llegar a ejecutar tareas en nuestro equipo sin mostrar ningún indicio y recopilar nuestra información confidencial de manera no autorizada. Esta vulnerabilidad, a menudo es conocida como Side-Channel Analysis Method, Spectre o Meltdown.

Información de la vulnerabilidad publicada por distintos fabricantes de hardware.
Para solucionar el problema, lo primero que tenemos que hacer será actualizar el firmware de nuestro hardware. A continuación, encontrareis los enlaces a los firmware de todos los equipos de la marca Hewlett Packard, Lenovo, DELL/EMC,  Fujitsu y Huawei afectados a día de hoy, no obstante, el trabajo es continuo y no está concluido por lo que la afectación de otros productos y/o nuevas soluciones pueden ir apareciendo publicadas de forma adicional en un futuro. Os aconsejo ir consultando los enlaces si vuestro equipo no figura en los listados a día de hoy.

Estaciones de trabajo Hewlett Packard.
Servidores Hewlett Packard.
Servidores Fujitsu.
Servidores Huawei.
Servidores y Estaciones de trabajo Lenovo.
Dell
Para otros fabricantes os aconsejo contactéis con el soporte técnico, para que os dirijan a los enlaces correspondientes. Desde pantallazos.es intentaremos ir complementando este artículo.

Una vez actualizado el Hardware de nuestro equipo, deberemos instalar todas las actualizaciones del Sistema operativo

Información publicada por los principales fabricantes de sistemas operativos desde donde obtener las actualizaciones.
En el caso de sistemas operativos Windows tendremos que aplicar todas las actualizaciones disponibles de sistema operativo, incluidas en las actualizaciones de seguridad de Microsoft Windows de enero de 2018.

Podremos consultar el Microsoft Security Advisory ADV180002 para obtener actualizaciones de Windows necesarias.
Pero, en primer lugar deberemos verificar si nuestro equipo está afectado o no por la vulnerabilidad.  Descargaremos, de la página oficial de Microsoft el script que nos permitirá realizar la validación del canal lateral de ejecución especulativa.

Una vez descargado el archivo, lo descomprimiremos en una carpeta local del disco duro de nuestro servidor, en el enlace que encontrareis a continuación podréis descargar el script que necesitamos.
También, podéis acceder al canal de YouTube de Pantallazos.es, donde encontrareis un vídeo tutorial en el realizamos la comprobación del canal lateral de ejecución especulativa en un servidor Microsoft Windows 2012 R2.



Podéis acceder y suscribiros al canal de Youtube de Pantallazos.es en el enlace que mostramos a continuación:
Seguidamente, abriremos una nueva ventana de  PowerShell con permisos administrativos. Una vez nos encontremos en la ventana de PowerShell, ejecutaremos el comando Get-ExecutionPolicy para saber que política de ejecución tiene actualmente nuestro servidor asignada.

Comprobaremos que en el servidor de nuestro laboratorio, la política de ejecución está configurada en Unrestricted. Salvaremos la configuración de la política actual en una variable de entorno, y procederemos a modificar la configuración actual por RemoteSigned.

La política de ejecución que necesitamos para el proceso de validación es RemoteSigned, si ya la tenéis configurada en vuestro equipo podéis saltar los dos pasos siguientes.

Procederemos a salvar la configuración de la política actual en una variable de entorno, para no tener que recordar la política que teníamos asignada al finalizar la validación, y, acto seguido modificaremos la configuración por RemoteSigned

Para guardar el valor a una variable de nuestro entorno escribiremos lo siguiente:

$SaveExecutionPolicy = Get-ExecutionPolicy

Para cambiar la política de ejecución de nuestro servidor usaremos el cmdlet Set-ExecutionPolicy.

Set-ExecutionPolicy, nos permitirá definir qué scripts de Windows PowerShell se le permitirán ejecutar a nuestro servidor. Windows PowerShell tiene cuatro políticas de ejecución diferentes:
  • Restricted o Restringido: no se pueden ejecutar scripts.
  • AllSigned: solo se pueden ejecutar scripts firmados por un editor de confianza.
  • RemoteSigned: las secuencias de comandos descargadas deben estar firmadas por un editor de confianza antes de poder ejecutarlas.
  • Unrestricted o Sin restricciones: sin restricciones; todos los scripts de Windows PowerShell se pueden ejecutar.
La construcción final del cmdled será la siguiente:

Set-ExecutionPolicy RemoteSigned -Scope Currentuser

Seguidamente, comprobaremos que nuestra política de ejecución ha cambiado usando nuevamente Get-ExecutionPolicy. Si todo es correcto, cambiaremos nuestro directorio actual y nos dirigiremos al path al dónde hemos guardado el script de validación que hemos descargado de la página oficial de Microsoft en los pasos anteriores.

Una vez nos encontremos en el directorio, importaremos el modulo, usando el cmdled que mostramos a continuación:

Import-Module .\SpeculationControl.psd1

En este momento, estaremos en disposición de ejecutar el comando que nos realizará la verificación de nuestro servidor.

Get-SpeculationControlSettings

El resultado de este script de PowerShell tendrá el aspecto que podéis ver en la imagen.

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 optimization is enabled: True

Las protecciones habilitadas figuran en el resultado como True. Si las tenemos el False, como es el caso en nuestro laboratorio tendremos trabajo por delante a actualizar nuestro servidor.

Una vez terminado el trabajo no hemos de olvidar de devolver la política de ejecución de nuestro servidor a su estado original.

Podemos usar la variable de entorno que hemos creado en los pasos anteriores:

Set-ExecutionPolicy $SaveExecutionPolicy -Scope Currentuser

O simplemente construir el comando del modo siguiente:

Set-ExecutionPolicy Unrestricted -Scope Currentuser


Espero os sea de utilidad.



No hay comentarios:

Publicar un comentario