Las vulnerabilidades del procesador ponen en riesgo las cargas de trabajo virtuales



El colapso y las vulnerabilidades de Specter probablemente llevarán a los clientes a hacer concesiones entre el rendimiento y la seguridad de las aplicaciones, especialmente las aplicaciones virtuales y basadas en la nube.

En enero de 2018, un consorcio de investigadores de seguridad de organizaciones como Google, Cyberus Technological innovation y varias universidades revelaron dos vulnerabilidades con nombres ominosos que se encuentran en casi todos los procesadores de computadoras modernos. Estas vulnerabilidades abrieron las compuertas para investigar fallas en algunas de las protecciones de seguridad más fundamentales que se encuentran en los procesadores de computadoras. Meltdown, Spectre y otras vulnerabilidades relacionadas son significativamente más peligrosas y útiles para un atacante en un entorno virtual en comparación con un servidor o escritorio no digital. En respuesta, espero ver que Intel y AMD eventualmente creen líneas de procesador separadas para proteger las aplicaciones en la nube de esta amenaza.

La carrera de velocidad del procesador
Los procesadores modernos manejan docenas, si no cientos de aplicaciones simultáneamente. Miles de millones de transistores empaquetados en múltiples núcleos les permiten cambiar sin problemas y automáticamente entre hilos de ejecución según sea necesario. Por lo basic, imponen un conjunto de reglas sobre esta danza de aplicaciones, incluida una muy grande: el procesador debe evitar que las aplicaciones accedan a los datos de otras aplicaciones en ejecución. Meltdown y Spectre permiten que las aplicaciones maliciosas rompan esta regla.

El poder de procesamiento continúa aumentando cada año, pero ya no a las mismas tasas que solíamos ver cuando Ley de Moore Todavía es cierto. Los fabricantes de procesadores tienen que usar «trucos» inteligentes para obtener más rendimiento de sus dispositivos a medida que se topan con los límites de la tecnología de transistores. Uno de estos trucos es una técnica de optimización llamada ejecución especulativa.

Ejecución especulativa: más rápida pero defectuosa
En pocas palabras, las rutas de ejecución de aplicaciones a menudo contienen muchas bifurcaciones o ramas, donde pueden ir por una de las múltiples rutas de código según el resultado de un cálculo. El procesador no sabe qué rama seguirá la aplicación hasta que entire el cálculo, pero puede ahorrar tiempo al adivinar el resultado y continuar la ejecución por ese camino mientras espera el resultado del cálculo. Si adivinó correctamente, ya tiene una ventaja y ahorra unos pocos microsegundos. Si adivinó incorrectamente, simplemente descarta el trabajo que comenzó y continúa por el camino correcto.

Meltdown y Spectre abusan de la ejecución especulativa, aunque de maneras ligeramente diferentes. Si bien la explicación técnica podría tomar un artículo completo en sí mismo, la historia corta es que usan la ejecución especulativa para cargar memoria restringida en la memoria caché del procesador y luego usan algunos trucos para identificar con precisión el contenido de esa memoria incluso después de que el proceso reconoce que no debería poder leerlo directamente. La memoria restringida podría incluir desde una contraseña administrativa hasta claves criptográficas confidenciales en un servidor internet.

Espectro y deshielo en la nube
Si bien expandir el impacto potencial del malware en una computadora de escritorio o en un servidor no virtualizado nunca es bueno, Meltdown y Spectre se vuelven mucho más peligrosos en la nube y los entornos virtuales. Un atacante con ejecución de código en un escritorio o servidor físico generalmente tiene formas mucho más fáciles de elevar sus privilegios y acceder a datos confidenciales desde otras aplicaciones. Usar Meltdown o Spectre sería excesivo.

Pero en un entorno virtual, una sola pieza de components (por ejemplo, una instancia de EC2 en un centro de datos de AWS) puede albergar múltiples inquilinos diferentes, cada uno de los cuales espera que sus aplicaciones y servicios estén completamente aislados de los otros inquilinos con los que comparten Los recursos. Por lo general, el hipervisor (el software package de administración que maneja la virtualización de una sola pieza de components en múltiples servidores virtuales) tiene estrictos controles de seguridad para imponer el aislamiento del inquilino.

Pero Specter y Meltdown omiten por completo estas protecciones de software al apuntar al components en sí. Un atacante con acceso a una aplicación en un servidor en la nube podría robar datos de todas las demás aplicaciones utilizando un recurso compartido en el mismo components físico, ¡sin importar cuán buena sea la seguridad de esas otras aplicaciones!

Desde la divulgación de Meltdown y Spectre, los investigadores han encontrado varias variantes y otras vulnerabilidades que abusan de la ejecución especulativa para acceder a la memoria restringida. Intel y AMD, los dos mayores fabricantes de procesadores, han estado jugando un juego de gato y ratón para solucionar estos defectos, generalmente a costa del rendimiento del procesador. La pérdida de rendimiento ha sido de hasta el 30% en casos extremos. Esto ha llevado a muchos usuarios de escritorio, que se ven menos afectados por Specter, Meltdown y similares, a deshabilitar las opciones de seguridad para retener más potencia de procesamiento.

Como resolver el problema
La mitigación de este tipo de vulnerabilidad en un entorno de nube donde la seguridad es primordial varía de difícil a imposible. Parchear estas vulnerabilidades requiere actualizaciones difíciles de microcódigo para el procesador en sí. Debido a estos desafíos, es probable que nos encaminemos hacia un futuro en el que Intel y AMD fabriquen diferentes clases de procesadores que se centren en la seguridad o la velocidad.

La seguridad cibernética se trata de compensaciones de riesgo. Las computadoras de escritorio y los servidores no virtualizados tienen menos que perder de un atacante que explota con éxito una vulnerabilidad equivalent a Meltdown que los entornos virtuales, donde una vulnerabilidad podría ser un desastre. Dado que su riesgo es sustancialmente menor, podrían beneficiarse de permanecer vulnerables a cambio de un rendimiento del procesador significativamente mejor. Los procesadores utilizados en entornos virtuales probablemente cambiarían de sentido: priorice la seguridad sobre la velocidad eliminando por completo la ejecución especulativa (o posiblemente algo ligeramente menos drástico). Esto podría conducir a diferentes líneas de procesador, una centrada en la seguridad con un rendimiento ligeramente degradado y otra centrada en la velocidad de ejecución pura que corre el riesgo de ser víctima de ataques de ejecución especulativos.

Los investigadores ya han abierto la caja de Pandora para vulnerabilidades de seguridad del procesador y los días están claramente contados para la ejecución especulativa en su forma genuine. Desde las revelaciones originales de Meltdown y Spectre, los investigadores han descubierto fallas graves adicionales casi cada dos meses. A este ritmo, algo tendrá que cambiar para mantener seguras las aplicaciones en la nube. Queda por ver si será una remodelación fundamental en todos los procesadores o una división en diferentes líneas centradas en la seguridad y el rendimiento.

Contenido relacionado:

Marc Laliberte es analista de seguridad sénior en WatchGuard Systems. Especializados en protocolos de seguridad de redes y tecnologías de World wide web de las cosas, las responsabilidades diarias de Marc incluyen investigar e informar sobre las últimas amenazas de seguridad de la información y … Ver biografía completa

Más ideas





Enlace a la noticia unique