La vulnerabilidad actual del procesador Meltdown Intel se soluciona actualmente al habilitar el aislamiento de la tabla de páginas. Hay una pregunta sobre cómo desactivar esto: ¿Cómo deshabilitar el aislamiento de la tabla de páginas para recuperar el rendimiento perdido debido al parche de seguridad de la CPU Intel?
Mi pregunta es opuesta: ¿hay alguna forma de verificar en un sistema en ejecución si el mecanismo PTI es efectivo en el sistema y, por lo tanto, el sistema está protegido? Estoy buscando específicamente cat /proc/somethingo cat /sys/somethingno comprobando la versión del kernel o el parámetro de configuración o similares.

Grepping CONFIG_PAGE_TABLE_ISOLATION en la configuración del kernel como sugirió Raniz no ayuda en Ubuntu de escritorio, pero puede ayudar en instancias de la nube:
Puede verificar
/proc/cpuinfocomo JonasCz sugirió :O de
dmesg(gracias a Jason Creighton ):Puede compilar el programa de prueba de Raphael Carvalho para la detección de Meltdown:
en el sistema parcheado debería terminar con salida
Verifique con la herramienta de https://github.com/speed47/spectre-meltdown-checker :
En el sistema parcheado, debería mostrar lo siguiente:
¡No instale 4.4.0-108-generic en Xenial! ¡ Rompe la funcionalidad de arranque / reinicio / apagado / suspensión !
¡Instale 4.4.0-109-generic ( consulte USN-3522-3 para más detalles)!
Como Robie Basak ya escribió , hay una página sobre el estado de las vulnerabilidades de Spectre y Meltdown en Ubuntu .
También hay:
fuente
dmesg | grep isolation && echo "patched :)" || echo "unpatched :("comando que figura en la lista es innecesariamente peligroso : no muestra qué línea coincidió realmente, y también imprimiría felizmente "parcheado :)" si una otra instancia aleatoria de "aislamiento" coincidiera .../proc/cpuinfopara cpu_insecure). Si coloca eso en un script y tiene una CPU en el futuro donde el problema se soluciona en su microarquitectura,/proc/cpuinfoya no lo dirácpu_insecurey su script creerá que el kernel no está parcheado aunque esté parcheado . También recomendaría contra la tercera sugerencia, ya que es muy probable que haya una palabraisolationen ladmesgsalida en algún momento sin que se refiera al aislamiento de la tabla de páginas del núcleo.isolationcoincidirá con ambosKernel/User page tables isolation: enabledyKernel/User page tables isolation: disabled on command line.Ejecute el siguiente comando:
Si se muestra habilitado, entonces PTI está habilitado. Si no se muestra nada o ve 'deshabilitado' en el terminal, entonces PTI está deshabilitado. Ubuntu aún no ha publicado el parche, por lo que no mostrará ningún mensaje.
fuente
dmesgsalida. Vea/var/log/kern.log*si se remonta lo suficiente como para tener los mensajes de arranque. Ubuntu solía grabar ladmesgsalida del tiempo de arranque/var/log/dmesg, pero ya no parece hacerlo.dmesg: invalid option -- 'w'.-HTambién es inválido. Quitar las banderas funcionó bien para mí, como en esta respuestaPuede consultar con
cat /proc/cpuinfo, si informacpu_insecurebajo "errores", entonces PTI está habilitado.Si está en blanco (o simplemente no aparece en la lista
cpu_insecure), entonces lo más probable es que esté ejecutando un kernel que aún no ha sido parcheado (Ubuntu no lo ha hecho), o tiene un procesador AMD (para el cual esto posiblemente no estará habilitado, ya que No eres vulnerable).Actualmente, todas las CPU son tratadas como vulnerables en el último kernel 4.15.
fuente
cpu_insecurepara cualquier CPU x86; 4.14.12 y posteriores solo lo configurarán para las CPU Intel (incluidas las que sean demasiado antiguas o demasiado primitivas para ser vulnerables. Ambos lo configurarán incluso si KPTI está desactivado.)Encontré este gran script sh para probar vulnerabilidades Meltdown / specter en su sistema:
https://github.com/speed47/spectre-meltdown-checker
El script verifica su sistema con Meltdown conocido y parches de espectros en su sistema para decirle si estas vulnerabilidades ahora son mitigadas por su sistema operativo
fuente
Puede comprobar /proc/config.gz para
CONFIG_PAGE_TABLE_ISOLATION=ylo cual significa que el kernel fue compilado con KPTI.Esto está en mi parcheado sistema Arch Linux que ejecuta 4.14.11-1:
fuente
/proc/no está habilitada por defecto en los núcleos de Ubuntu. La solución (mucho menos elegante) es grepping/boot/config-$( uname -r )en su lugar.En mi instancia de AWS Ubuntu 14.04.5 LTS EC2, ejecuté
Debería decir:
Para la actualización hice:
Creo que esto también está bien:
Para verificar la versión del kernel:
Debe ser 3.13.0-139-genérico o más reciente.
fuente