Se confirma la gran amenaza que presentan las vulnerabilidades en CPUs Meltdown y Spectre para la seguridad de la información

Spectre y Meltdown aprovechan vulnerabilidades de los procesadores más populares.

Como un mal augurio de lo que enfrentaremos durante el 2018 en el ámbito de la seguridad de la información, el 3 de enero pasado diversos medios comenzaron a reportar un par de vulnerabilidades críticas que afectan a todos los procesadores utilizados en la industria de tecnologías de información y comunicación: Meltdown Spectre (Graz University of Technology, 2018). En ello radica el enorme impacto y la respuesta de la prensa especializada en torno a este par de vulnerabilidades, pues prácticamente ninguna plataforma de cómputo está libre del riesgo que representan.

Si leemos atentamente los boletines de prensa publicados por Intel (2018), ARM Holdings (2018) y Advanced Micro Devices (AMD) (2018), bien pudiera parecer un tanto limitada la capacidad destructiva de este par de vulnerabilidades, pues lo que realmente permiten es que un programa pueda espiar y leer la información de otro ejecutándose en la misma computadora (Spectre), o leer la información “protegida” en el kernel o núcleo (Meltdown).

En ambos casos, el programa atacante debe ser ejecutado en el sistema operativo, y ello limita la capacidad de que las vulnerabilidades sean explotadas; nadie ejecuta un programa en su propia computadora para dañarla, a menos que esté “disfrazado de una promesa” para poder ver fotografías susceptibles de daño moral para alguna celebridad, una advertencia acerca de una supuesta infección del sistema o cualquier otro engaño que los hackers usen para tratar de vulnerar la seguridad de nuestro sistema través de la ingeniería social.

La información que pueda ser vulnerada por un programa atacante pudiera no ser trivial o de importancia sólo para el programa específico; pudiera ser valiosa como: contraseñas, números de tarjetas de crédito, contenido de correos electrónicos o datos desencriptados de una conversación privada. Debemos reconocer que el abuso de estas vulnerabilidades será mayor al combinarse con otras que ya existen.

Antes de continuar con la descripción de las vulnerabilidades y su mitigación, es importante que conozcamos primero algunas definiciones básicas.

¿Qué es el kernel de un sistema operativo?

Wikipedia (2017) describe al kernel o núcleo, como el software que constituye una parte fundamental del sistema operativo, y se define como la parte que se ejecuta en modo privilegiado, con acceso total y absoluto a todos los recursos del equipo.

Vulnerabilidad

La vulnerabilidad es una condición operativa de riesgo que existe en un sistema informático, y que puede ser aprovechada para interrumpir, degradar su operación o exponer, modificar o destruir información. Por ejemplo, en los años 70, ciertos vehículos con transmisión manual al volante, a partir de ciertas condiciones de operación (lubricación insuficiente o desgaste) podían bloquear las varillas de la palanca y dejar al vehículo atorado en una posición.

Exploit

Es un software que, mediante estructuras de datos o secuencias de instrucciones determinadas, persigue establecer las condiciones para aprovecharse de alguna vulnerabilidad de un sistema informático, con la finalidad de comprometer su seguridad.

Spectre y Meltdown son vulnerabilidades encontradas en las funcionalidades de ejecución especulativa (speculative execution, en inglés) en la mayoría de los procesadores modernos. El desempeño de una computadora depende en gran medida de qué tan rápido un procesador pueda ejecutar las tareas que se le solicitan; y aunque éstos han incrementado su capacidad siguiendo la Ley de Moore (Computer History Museum, 2016) por más de 5 décadas, la realidad es que los programas muchas veces no sacan provecho completamente de la capacidad del CPU, y les lleva tiempo solicitar la ejecución de instrucciones de un programa.

La ejecución especulativa trata de adivinar cuáles instrucciones serán solicitadas por un programa, para entonces ejecutarlas y tener listos los resultados cuando el programa los solicite; todo ello aprovechando el tiempo que el procesador permanece ocioso.

Si la especulación no es acertada después de un tiempo determinado, los datos y resultados se desechan. Es precisamente en este tiempo, y por la manera que el procesador maneja estos datos, que la vulnerabilidad existe; y es posible para un exploit acceder a esta información.

Ya existen pruebas de concepto desarrolladas por empresas de seguridad que confirman los riesgos de ambas vulnerabilidades; inclusive la empresa Mozilla, de acuerdo con Cimpanu (2018), ha confirmado que ambas vulnerabilidades pueden ser explotadas remotamente vía JavaScript. Se ha especulado que Meltdown afecta procesadores Intel, y que Spectre a los 3 fabricantes, pero ello podría cambiar en el futuro conforme se conozcan más detalles de las vulnerabilidades.

¿Quién reportó Meltdown?

Meltdown fue independientemente descubierto y reportado por tres equipos de investigadores de seguridad:

  • Jann Horn (Google Project Zero),
  • Werner Haas, Thomas Prescher (Cyberus Technology),
  • Daniel Gruss, Moritz Lipp, Stefan Mangard, Michael Schwarz (Graz University of Technology)

¿Quién reportó Spectre?

Spectre fue independientemente descubierto y reportado por dos personas:

  • Jann Horn (Google Project Zero) y
  • Paul Kocher con colaboración de: Daniel Genkin (University of Pennsylvania and University of Maryland), Mike Hamburg (Rambus), Moritz Lipp (Graz University of Technology), y Yuval Yarom (University of Adelaide and Data61)

Si bien es cierto que un exploit específico para aprovechar estas vulnerabilidades requiere un nivel de expertise muy elevado, ello no significa que los hackers no intenten desarrollarlo. Dos factores influyen, en gran medida, para que un grupo de hackers persiga a una de las empresas anteriores.

  1. El botín es muy grande; el mercado de procesadores a nivel mundial está dominado por Intel, AMD y ARM. Los procesadores que éstas producen, en gran medida, comparten los mismos códigos de instrucciones a lo largo de toda la familia de productos, entre otros motivos, para mantener compatibilidad. Las diferencias en cada línea de producto residen en la capacidad de procesamiento y el consumo de energía.
  2. Los grupos de hackers no operan de forma aislada; existe un enorme mercado a nivel mundial para exploits. Mantener actualizados los arsenales de armas cibernéticas de las potencias bélicas, como lo evidenció WikiLeaks en 2017 con la divulgación de Vault 7: CIA Hacking Tools Revealed, o incrementar la funcionalidad en software espía como el Pegasus de la empresa israelí fabricante de armas cibernéticas NSO Group (Crunchbase, 2018). 

Ambos factores proporcionan una cantidad considerable de dinero para volver atractivo el arduo trabajo de desarrollar exploits.

El secreto mejor guardado de 2017

Investigadores de seguridad de Google y otras empresas de seguridad, notificaron a Intel, ARM y AMD los hallazgos acerca de ambas vulnerabilidades en junio de 2017, e inmediatamente ejecutaron las acciones para mitigar el impacto de estas vulnerabilidades; no fue sino hasta hace unos días, de acuerdo con John Leyden y Chris Williams (2018) que los medios especializados comenzaron a reportar el tema luego de la liberación de parches para el Kernel de Linux Kaiser (Kernel Address Isolation to have Side-channels Efficiently Removed, en inglés), en donde se describieron los mecanismos de protección incorporados y el impacto que tendrían, el cual puede llegar representar hasta un 30% de pérdida de desempeño.

Podemos considerar como hecho que, una vez divulgado el origen de estas vulnerabilidades, comenzarán a aparecer exploits que se incorporarán a virus informáticos o a ataques a la medida en un corto plazo. Afortunadamente, los parches de sistemas operativos están “a la vuelta de la esquina”, y en algunos casos ya fueron desplegados; como es el caso de Linux con Kaiser.

Apple ya ha desplegado “parches” para mitigar el impacto en estas vulnerabilidades; Microsoft anunció que la segunda semana de 2018 fueron liberados parches de emergencia, y advierte a usuarios con antivirus de terceros que deben actualizarlos para permitir que se actualicen sus equipos.

¿Cómo podemos protegernos de estas amenazas?

Para los equipos de cómputo de escritorio, laptops, tabletas, smartphones y servidores hay que estar pendientes de las actualizaciones y parches del sistema operativo. Estar conscientes de que en las próximas semanas empezarán a aparecer los exploits en virus informáticos o ataques, nos permitirá estar en alerta ante nuevas vulnerabilidades similares o inspiradas en Spectre y Meltdown.

El reto y riesgo mayor reside en los equipos con sistemas operativos obsoletos y sin soporte, los cuales indudablemente recibirán parches de forma tardía o simplemente no los recibirán. También los dispositivos de aplicación específica en red que no tengan soporte directo por actualizaciones automáticas estarán en riesgo. Será necesario identificarlos, respaldarlos y, de ser posible, tratar de actualizarlos.

Recomendaciones generales

  • Es muy IMPORTANTE respaldar regularmente su sistema, computadora o dispositivo. Recuerde seguir la regla del 3-2-1 para respaldar su información:
    3 copias de la información.
    2 medios distintos de almacenamiento (disco duro, disco óptico (DVD, BluRay), nube pública (Google Cloud, AWS S3, Microsoft Azure, Apple iCloud, etc.).
    1 copia de la información en un domicilio distinto al del dispositivo.
  • Instale, ejecute periódicamente y mantenga actualizados los programas antivirus y el Anti-malware.
  • Conozca y comprenda los riesgos de navegar en internet.
  • Utilice contraseñas que no sean de fácil deducción; no use la misma contraseña para todas sus cuentas o dispositivos.
  • Si un correo electrónico, ventana emergente o un sitio web le parece sospechoso, o incluso tiene dudas de su autenticidad, no abra el correo y no dé clic en la ventana emergente; mejor salga de la página web y repórtela.
  • No instale un software, plugins o extensiones, a menos de que tenga certeza que provienen de una fuente confiable.
  • No se deje engañar por llamadas sospechosas de personas que se hagan pasar por empleados de bancos, comercios o técnicos de Microsoft o Apple que ofrezcan apoyo, promocionen ofertas, digan que pueden corregir algún problema en su dispositivo o notifiquen el uso ilegal del sistema operativo.
  • Mantenga su sistema operativo y aplicaciones actualizadas. Es recomendable configurar su sistema para que se actualice de manera automática.
  • Utilice las mismas precauciones en su teléfono móvil, como lo haría con su computadora, cuando navegue en internet.

Si sospecha que ya se ha infectado:

  • Apague su dispositivo inmediatamente, y póngase en contacto con su área de soporte técnico o con un profesional confiable de TI.
  •  Reporte los ataques cibernéticos a las áreas de soporte técnico de su trabajo, escuela o proveedor de servicios de TI.

Referencias bibliográficas

Sobre el autor

Ing. Alejandro Martínez Varela
Coordinador de Diseño de TI  en la Coordinación General de Tecnologías de Información

Twitter: @amvarela

Autor de la nota
Ing. Alejandro Martínez Varela