Aprende a verificar si el procesador de tu servidor basado en Unix es vulnerable a Spectre y Meltdown con un simple script de shell.

Cómo verificar si tu procesador de servidor Linux/Ubuntu es vulnerable a Spectre y Meltdown

El 3 de enero de 2018, el equipo de Project Zero en Google anunció el "descubrimiento" de los exploits Meltdown y Spectre dirigidos a procesadores creados por Intel, AMD y ARM, que utilizan el "tiempo de caché de datos de CPU" para "filtrar información de errores ejecución especulada ”, con la afirmación de que“ Casi todas las computadoras fabricadas desde 1995 tienen fallas peligrosas ”. Meltdown y Spectre son vulnerabilidades de seguridad en las unidades de procesamiento central (CPU) Intel de 64 bits que otorgan acceso a la memoria del sistema privilegiada a procesos no autorizados y permiten que los ataques cibernéticos engañen a los programas sin errores para que filtren datos confidenciales.

Aunque, como se mencionó, el problema se remonta a 1995, solo está saliendo hasta la fecha, sin embargo, la historia detrás de esto es compleja y no la discutiremos aquí. Una cosa es segura, muchos administradores de servidores entraron en pánico una vez que vieron esta controversia en el periódico digital e inmediatamente buscaron una solución. Sin embargo, antes de aplicar una solución, es posible que desee saber si es vulnerable al problema, ¿verdad? La respuesta más común será "ciertamente, sí" . Sin embargo, solo para (perder algo de tiempo en su trabajo) asegúrese de que puede confirmar este problema usted mismo con la ayuda del script de shell spectre-meltdown-checker.

En este artículo, le mostraremos cómo detectar si el procesador de su servidor es vulnerable a Meltdown y Spectre con la ayuda de un script de shell de código abierto.

1. Descarga spectre-meltdown-checker.sh

Specter-meltdown-checker es un script de shell muy simple que indica si su instalación de Linux / Ubuntu es vulnerable contra los 3 CVE de "ejecución especulativa" que se hicieron públicos a principios de 2018. Sin opciones, inspeccionará su kernel en ejecución. También puede especificar una imagen del kernel en la línea de comandos, si desea inspeccionar un kernel que no está ejecutando. La secuencia de comandos hará todo lo posible para detectar mitigaciones, incluidos los parches que no son de vanilla, independientemente del número de versión del kernel anunciado.

Descargo de responsabilidad

El script spectre-meltdown-checker tiene un descargo de responsabilidad muy claro que debe leer antes de usarlo en tu servidor:

Esta herramienta hace todo lo posible para determinar si su sistema es inmune (o cuenta con las mitigaciones adecuadas) para las
vulnerabilidades de "ejecución especulativa" denominadas colectivamente. No intenta ejecutar ningún tipo de exploit y no puede garantizar
que su sistema sea seguro, sino que le ayuda a verificar si su sistema tiene implementadas las mitigaciones correctas conocidas.
Sin embargo, también podrían existir algunas mitigaciones en su kernel que este script no sabe (todavía) cómo detectar, o podría
detectar falsamente mitigaciones que al final no funcionan como se esperaba (por ejemplo, en kernels retroportados o modificados) .
La exposición de su sistema también depende de su CPU. A partir de ahora, los procesadores AMD y ARM están marcados como inmunes a algunos o todos estos
vulnerabilidades (excepto algunos modelos ARM específicos). Se cree que todos los procesadores Intel fabricados desde alrededor de 1995 son vulnerables.
Cualquiera que sea el procesador que se utilice, se puede buscar más información del fabricante de ese procesador y / o del dispositivo
en el que se ejecuta.
Dado que la naturaleza de las vulnerabilidades descubiertas es bastante nueva, se puede esperar
que el panorama de los procesadores vulnerables cambie con el tiempo, por lo que este script asume que todas las CPU son vulnerables, excepto si el fabricante
indica explícitamente lo contrario en un anuncio público verificable.
Esta herramienta ha sido lanzada con la esperanza de que sea útil, pero no la use para sacar conclusiones precipitadas sobre su seguridad.

Si estás de acuerdo con el descargo de responsabilidad, ¡comencemos! Obviamente, para ejecutar el script necesitará su fuente, puede descargar el archivo sh del repositorio o puede descargarlo usando wget:

wget https://raw.githubusercontent.com/speed47/spectre-meltdown-checker/master/spectre-meltdown-checker.sh

O si prefieres usar Curl:

curl https://raw.githubusercontent.com/speed47/spectre-meltdown-checker/master/spectre-meltdown-checker.sh --output spectre-meltdown-checker.sh

You can save the script wherever you want as long as you can access the directory later. For more information about this useful script, please visit the official repository at Github.

Puede guardar la secuencia de comandos donde quiera siempre que pueda acceder al directorio más tarde. Para obtener más información sobre este útil script, visite el repositorio oficial en Github .

2. Dar permiso de ejecución al archivo

A continuación, como el script es de una fuente de terceros, no tendrá los permisos correctos, específicamente agregando los permisos ejecutables con chmod:

Nota

Puedes omitir este paso si puedes ejecutar el archivo usando sudo bash ./spectre-meltdown-checker.sh en el tercer paso.

chmod +x ./spectre-meltdown-checker.sh

Ahora el archivo debería ser ejecutable desde la terminal.

3. Ejecuta el script

De acuerdo con los permisos que tenga para el archivo, es posible que pueda ejecutarlo usando el siguiente comando (si usó chmod + x):

sudo ./spectre-meltdown-checker.sh

De lo contrario, sin agregar permisos al archivo, simplemente ejecute el script usando sudo bash:

sudo bash ./spectre-meltdown-checker.sh

Esto iniciará la herramienta y en cuestión de segundos sabrá si tu procesador es vulnerable a Spectre o Meltdown:

Spectre Meltdown Vulnerability Checker

Ambos exploits están dirigidos al "kernel", una parte esencialmente invisible del sistema operativo de su dispositivo que es quizás el componente de software más vital en tu computadora (teléfono o tableta). Es el intermediario para todas sus aplicaciones y partes básicas de su computadora: el procesador, la memoria y el dispositivo en sí (piense en el teclado y el panel táctil de una computadora portátil o el botón de encendido en su teléfono). Dicho esto, aunque este artículo no tiene como objetivo resolver el problema, sino cómo detectarlo, dicho brevemente, su problema podría resolverse actualizando el kernel de su servidor. Digital Ocean publicó un útil artículo sobre cómo solucionar estas fallas , que básicamente consiste en actualizar el software de su sistema, principalmente el Kernel (yum, apt-get, dnf).

Para obtener más información sobre Spectre y Meltdown, asegúrese de consultar el artículo del blog de Google Zero o el sitio web de Spectre Attack aquí .

Que te diviertas ❤️!


Ingeniero de Software Senior en EPAM Anywhere. Interesado en la programación desde los 14 años, Carlos es un programador autodidacta, fundador y autor de la mayoría de los artículos de Our Code World.

Conviertete en un programador más sociable

Patrocinadores