Nota: Si buscas información específica sobre cómo afecta a los productos de Sophos visita el Knowledgebase Article 128053.
En un futuro muy cercano vamos a ver actualizaciones de seguridad para Windows y Linux que afectarán a cómo estos sistemas operativos gestionan la memoria de los procesadores Intel.
Existe mucho interés sobre estos cambios ya que se producen a un nivel muy bajo y pueden afectar al rendimiento de los ordenadores, habiendo informes que dicen que puede llegar a ralentizar en un 20% determinados servidores.
Este bug parece afectar a la mayoría de CPUs de Intel vendidas en los últimos años, los procesadores de AMD tienen una configuración distinta y también son vulnerables pero no tan ampliamente.
¿Qué es lo que está ocurriendo?
En Linux, los próximos parches son conocidos coloquialmente como KPTI (Kernel Page Table Isolation), aunque también se le han dado los nombres de KAISER (Kernel Address Isolation to have Side-channels Efficiently Removed) y F**CKWIT (Forcefully Unmap Complete Kernel With Interrupt Trampolines).
En la mayor parte de los sistemas operativos modernos, existe un núcleo privilegiado, conocido como kernel, que controla todo lo demás: ejecuta y detiene programas, aplica la configuración de seguridad, gestiona la memoria para que los programas no se mezclen, controla el hardware del equipo como las memorias USB o las tarjetas de red, etc.
Todo lo demás, es decir, el software del usuario, se ejecuta en lo que se llama el espacio del usuario, donde los programas interactúan entre ellos bajo acuerdo.
Si un programa puede leer (o incluso peor: modificar) los datos de otro programa o interferir en sus operaciones, se convertiría en un serio problema de seguridad. Aún seria más peligroso si un programa del espacio del usuario pudiera acceder a los datos del kernel, ya que eso podría interferir con la seguridad e integridad de todo el ordenador.
Uno de los trabajos del kernel es mantener separados el propio kernel y el espacio del usuario, para que los programas del espacio del usuario no puedan tomar el control del kernel y así saltarse los controles de seguridad que evitan, por ejemplo, que se ejecute malware, robar datos, espiar el trafico de la red o enredar con el hardware.
La propia CPU da soporte para esta tarea. Los procesadores x86 y x64 proporcionan niveles de privilegio, implementados en el propio chip, que pueden ser usados para separar el kernel del espacio del usuario.
Intel llama a estos niveles de privilegio anillos, habiendo cuatro disponibles. La mayoría de los sistemas operativos solo emplean dos: el anillo 0, con más privilegios, para el kernel y el anillo 3, con menos privilegios, para el espacio del usuario.
En teoría, el propio procesador impide que los programas del anillo 3 pueden leer los datos del anillo 0, previniendo proactivamente a que los programas del espacio del usuario puedan espiar en el espacio del kernel, lo que podría filtrar detalles críticos del sistema.
En julio de 2017, un experto en seguridad realizó una investigación sobre este punto y como afectaba a la memoria cache. Sus investigaciones demostraron que enviando unas instrucciones específicas desde el espacio del usuario se podía acceder a la memoria cache del kernel que podría filtrar memoria privilegiada a programas del espacio del usuario.
Si quieres conocer los aspectos técnicos del problema puedes leer nuestro artículo en inglés en Naked Security.
El resto es historia
Esperamos que se publiquen actualizaciones en los próximos días para Linux y Windows.
Estos parches de seguridad son muy importantes para ordenadores multiusuario, como servidores que ejecutan varias maquinas virtuales, donde los usuarios o los sistemas operativos invitados pueden usar este problema para acceder a partes del sistema, como el sistema operativo del anfitrión o el de otros invitados del mismo servidor.
Sin embargo, como la memoria cache de la CPU está ahí para mejorar el rendimiento, cualquier cosa que afecte a su efectividad puede reducirlo.
A veces, mejorar la seguridad supone algún tipo de inconveniente como ocurre con la autenticación de doble factor que da más molestias que la normal o el uso de HTTPS que es más caro que el HTTP. En este caso la seguridad puede suponer que nuestro ordenador vaya más lento.
¿Qué hacer?
Gran parte de los detalles por ahora se mantienen en secreto. Esperamos que una vez se publiquen los parches se den a conocer todos los detalles sobre este problema.
Por ahora hay disponibles parches para Linux, pero que aún no están finalizados, por lo que solo los recomendamos para un entorno de pruebas.
Con los datos de que disponemos, parece que el riesgo de esta vulnerabilidad es moderado en servidores, y para ordenadores personales prácticamente nulo ya que para explotarlo tienen que poder ejecutar código en el ordenador, por lo que ya deberías de estar comprometido.
En ordenadores compartidos, como servidores empresariales o web que ejecutan varias maquinas virtuales de clientes en el mismo dispositivo físico, los riesgos son mucho mayores. Esta vulnerabilidad puede ayudar a un cliente poco fiable el espiar a otros usuarios que estén conectados al mismo tiempo, o influenciar otras máquinas virtuales alojadas en el mismo servidor.
La vulnerabilidad lleva ahí desde hace años y ha sido documentada desde hace meses por lo que no debe cundir el pánico. Aún así, te recomendamos que estés atento a las actualizaciones que saldrán muy posiblemente durante enero de 2018 y las apliques lo antes posible.
Firefox acaba de publicar una actualización para mitigar estos ataques. Ahora será mucho más difícil a JavaScript ejecutado en el navegador el medir pequeños tramos de tiempo efectivamente. La nueva versión de Firefox es la 57.0.4.
Para manteneros al día de las últimas amenazas haceros fans de nuestra página de Facebook o síguenos en Twitter para intercambiar experiencias en torno al mundo de la seguridad. Si deseas recibir nuestro boletín de seguridad en tu correo electrónico, suscríbete en la siguiente aplicación: