CambioDigital-OL

0

Spectre y Meltdown:¿Qué son, cómo funcionan, qué está en riesgo?

hacker-hand-hero-sizeSpectre y Meltdown son los nombres dados a un trío de variaciones sobre una vulnerabilidad que afecta a casi todos los chips de ordenador fabricados en los últimos 20 años. Las fallas son tan profundas y generalizadas que los investigadores de seguridad las llaman catastróficas.

En los primeros días de 2018, la investigación publicada reveló que casi todos los chips de computadora fabricados en los últimos 20 años contienen fallas de seguridad de concepto, con variaciones específicas sobre esas fallas que se denominan Spectre y Meltdown. Las fallas surgen de las características incorporadas en los chips que les ayudan a correr más rápido, y aunque los parches de software están disponibles, pueden tener impactos en el rendimiento del sistema. Todavía no hay evidencia de que estas fallas hayan sido explotadas en la práctica, pero estas intrusiones serían difíciles de detectar, y las fallas son tan fundamentales y generalizadas que los investigadores de seguridad las están llamando catastróficas.

¿Qué son Spectre y Meltdown?
Spectre y Meltdown son los nombres que se dan a diferentes variantes de la misma vulnerabilidad fundamental subyacente que afecta a casi todos los chips de computadoras fabricados en los últimos 20 años y que, de ser utilizados, podrían permitir a los atacantes acceder a datos que antes se consideraban completamente protegidos. Los investigadores de seguridad descubrieron los defectos a finales de 2017 y los publicaron a principios de 2018. Técnicamente, hay tres variaciones en la vulnerabilidad, cada una con su propio número CVE; dos de esas variantes se agrupan como Spectre y la tercera se llama Meltdown.

Todas las variantes de esta vulnerabilidad subyacen en que un eventual programa malicioso obtenga acceso a datos a los que no debería acceder, y lo haga explotando dos técnicas importantes utilizadas para acelerar los chips de computadora, llamadas ejecución especulativa y caché.

¿Qué es la ejecución especulativa?
La ejecución especulativa implica esencialmente que  un chip que intenta predecir el futuro para trabajar más rápido. Si el chip sabe que un programa involucra múltiples ramas lógicas, comenzará a calcular las matemáticas para todas esas ramas antes de que el programa tenga que decidir entre ellas. Por ejemplo, si el programa dice:”Si A es verdadero, computa la función X; si A es falso, computa la función Y”, el chip puede empezar a computar ambas funciones X e Y en paralelo, antes de saber si A es verdadero o falso. Una vez que sabe si A es verdadero o falso, ya tiene una ventaja sobre lo que viene después, lo que acelera el procesamiento en general. O, en otra variante, si un chip aprende que un programa utiliza la misma función con frecuencia, puede utilizar el tiempo de inactividad para calcular esa función incluso cuando no se le ha pedido, sólo por que cree que eventualmente se le requerirá y ya la tendría a mano.

¿Qué es el caché?
El almacenamiento en caché es una técnica utilizada para acelerar el acceso a la memoria. Lleva un tiempo relativamente largo para que la CPU obtenga datos de la RAM, ubicada en un chip separado, por lo que hay un nicho especial de almacenamiento de memoria llamada caché de la CPU, incrustado en el propio chip de la CPU al que puede acceder muy rápidamente. Esta memoria se llena de datos que el chip necesitará pronto, o a menudo. Lo que es relevante para nuestra situación es que los datos que se obtienen por ejecución especulativa a menudo se almacenan en caché, lo que en parte hace que de la ejecución especulativa actúe como un acelerador.

El problema surge cuando el almacenamiento en caché y la ejecución especulativa comienzan a enfrentarse con la memoria protegida.

¿Qué es la memoria protegida?
La memoria protegida es uno de los conceptos fundamentales que subyacen a la seguridad informática. En esencia, ningún proceso en un ordenador debe poder acceder a los datos a menos que tenga permiso para ello. Esto permite a un programa mantener algunos de los datos privados de algunos de sus usuarios, y permite al sistema operativo impedir que cualquier programa vea los datos pertenecientes a otro. Para acceder a los datos, un proceso necesita someterse a una comprobación de privilegios, que determina si se permite o no ver esos datos.

Pero una comprobación de privilegios puede tardar (relativamente) mucho tiempo. Así que – y aquí esta es la clave de la vulnerabilidad que estamos discutiendo – mientras la CPU está esperando para saber si el proceso puede acceder a esos datos, gracias a la ejecución especulativa, comienza a trabajar con esos datos incluso antes de que reciba permiso para hacerlo. En teoría, esto sigue siendo seguro, porque los resultados de esa ejecución especulativa también están protegidos a nivel de hardware. El proceso no se permite verlo hasta que pasa la comprobación de privilegios, y si no pasa la comprobación, los datos se descartan.

El problema surge porque los datos protegidos se almacenan en la caché de la CPU aunque el proceso nunca reciba permiso para acceder a ellos. Y debido a que la memoria caché de la CPU puede ser accedida más rápidamente que la memoria normal, el proceso puede intentar acceder a ciertas ubicaciones de memoria para averiguar si los datos allí han sido almacenados en caché – todavía no será capaz de acceder a los datos, pero si los datos han sido almacenados en caché, su intento de leerlos será rechazado mucho más rápido de lo que sería de otro modo. Imagínelo como golpear una caja para ver si está hueca. Debido a la forma en que funciona la memoria del ordenador, sólo conocer las direcciones donde se almacenan los datos puede ayudarle a deducir cuáles son los datos. Esto es lo que se conoce como un ataque de canal lateral.

¿Cuál es la diferencia entre Spectre y Meltdown?
Si quieres una descripción mucho más técnica de cómo funcionan Spectre y Meltdown, deberías revisar el post en el sitio Project Zero de Google que mayormente profundizó sobre el tema. Para ser breve y sencillo, tanto Spectre como Meltdown podrían permitir a los atacantes potenciales acceder a datos a los que no deberían tener acceso utilizando las técnicas descritas anteriormente, pero sus efectos son algo diferentes:

Meltdown recibió su nombre porque “derrite” los límites de seguridad normalmente impuestos por el hardware. Al explotar Meltdown, un atacante puede utilizar un programa que se ejecuta en una máquina para obtener acceso a datos de toda la máquina que el programa no debería ser capaz de ver normalmente, incluyendo datos pertenecientes a otros programas y datos a los que sólo los administradores deberían tener acceso. Meltdown no requiere demasiado conocimiento de cómo funciona el programa que el atacante secuestra, pero sólo funciona con tipos específicos de chips Intel. Este es un problema bastante severo, pero los arreglos están siendo implementados.

Al explotar las variantes de Spectre, un atacante puede hacer que un programa revele algunos de sus propios datos que deberían haberse mantenido en secreto. Requiere un conocimiento más íntimo del funcionamiento interno del programa víctima, y no permite el acceso a los datos de otros programas, pero también funcionará en casi cualquier chip de computadora que exista. El nombre de Spectre proviene de la ejecución especulativa, pero también se deriva del hecho de que será mucho más difícil de detener – mientras que los parches están empezando a estar disponibles, otros ataques en la misma familia sin duda serán descubiertos. Esa es la otra razón del nombre: Spectre nos perseguirá durante algún tiempo.

¿Por qué son peligrosos Spectre y Meltdown?
Spectre y Meltdown abren posibilidades de ataques peligrosos. Por ejemplo, el código JavaScript de un sitio web podría usar Spectre para engañar a un navegador web y revelar información de usuario y contraseña. Los atacantes podrían explotar Meltdown para ver datos propiedad de otros usuarios e incluso otros servidores virtuales alojados en el mismo hardware, lo que es potencialmente desastroso para los servidores de cloud computing.

Pero más allá de los ataques específicos potenciales en sí mismos se encuentra el hecho de que los defectos son fundamentales para las plataformas de hardware que se ejecutan bajo el software que utilizamos todos los días. Incluso el código que es formalmente seguro como está escrito resulta vulnerable, porque las suposiciones subyacentes a los procesos de seguridad incorporados en el código -de hecho, incorporados en toda la programación de computadoras- han resultado ser falsas.

Parches de espectro y fusión
La vulnerabilidad fundamental existe a nivel de hardware y no se puede parchear. Sin embargo, la mayoría de los fabricantes están liberando parches de software que solucionan los problemas. El parche KAISER, desarrollado coincidentemente en 2017 para mejorar la seguridad de Linux, tiene el efecto secundario de prevenir los ataques Meltdown. Los principales proveedores de cloud computing han parcheado sus servidores. Los parches ya han sido lanzados por Intel, Microsoft, Apple y Google (ver más abajo) y más están en camino. J. M. de la OSC. Porup tiene un buen resumen de los pasos que debe tomar a corto plazo. Rendition Infosec también tiene un gran recurso en el establecimiento de una estrategia para su organización que, entre otras cosas, endurecerá sus sistemas y prácticas para evitar mayores daños si usted es víctima de un ataque explotando Spectre o Meltdown.

Dado que JavaScript en el navegador es un vector especialmente peligroso para los ataques de Spectre, también es importante mantener sus navegadores actualizados.

Notablemente, los sistemas más antiguos, particularmente Windows XP, casi nunca serán parcheados. También quedan en la estacada los millones de teléfonos Android de bajo costo de terceros que no recibirán actualizaciones de seguridad de Google, muchos de los cuales no son particularmente antiguos.

¿Cuándo obtendrá mi PC, Mac, iPhone, teléfono Android o navegador un parche para Meltdown y Spectre?
– A partir del 11 de enero, Microsoft ha lanzado parches de sistema operativo para la mayoría de las versiones de Windows a partir de Windows 7, que también parchea los navegadores Internet Explorer y Edge de la empresa. El enlace anterior también incluye un resumen de los enlaces a las actualizaciones de firmware de los fabricantes de hardware, que cubren todos los principales actores. Sin embargo, algunos sistemas AMD después de descargar los parches no se reiniciaron, por lo que estos parches se han retirado por el momento.

– Apple lanzó versiones parcheadas de sus sistemas operativos macOS, iOS y tvOS, así como su navegador Safari, el 3 de enero.

– Google ha publicado una lista de los modelos de Chromebook que han sido parcheados o no necesitarán parche (la mayoría de ellos), que serán parcheados pronto, pero lo que están descontinuados no verán parche.

– Firefox tiene un parche que será lanzado el 23 de enero y que por ahora está disponible en beta.

– El navegador Chrome de Google tiene un parche que se lanzará el 23 de enero. Mientras tanto, puede activar la función experimental de Aislamiento del sitio  para protegerse.

– La multitud de teléfonos Android hace que la pregunta de si su teléfono Android es o será parcheado es difícil de responder. La mayoría de los teléfonos vendidos directamente por Google o de gigantes como Samsung ya han sido parcheados o lo serán, pero muchos no lo serán. La empresa italiana RiCompo dispone de un sitio web que le ofrece información actualizada sobre muchas marcas y modelos diferentes.

¿Los parches Spectre y Meltdown dañan el rendimiento?
Estos parches generalmente mitigan las vulnerabilidades al alterar o desactivar la forma en que el código de software hace uso de la ejecución especulativa y las características de caché incorporadas en el hardware subyacente. La desventaja de esto, por supuesto, es que estas características fueron diseñadas para mejorar el rendimiento del sistema y, por lo tanto, modificar su entorno afectará su rendimiento. Si bien hubo informes iniciales de caídas de hasta el 30 por ciento, los benchmarks de Phoronix indican que entre 5 y el 10 por ciento, será lo más típico.

Josh Fruhlinger | IDG –Traducción Giorgio Baron

Ordenado por: Seguridad Tags: 

TOT

 

 

Contenidos recomendados...

Comparta esta publicación

Artículos relacionados

Escriba su comentario

Ud. tiene que estar conectado para publicar comentarios.

Red de publicaciones IDG en Latinoamérica: Computerworld Ecuador - Computerworld Colombia - CIO Perú // Contáctenos
© 2018 Computerworld Venezuela - All rights reserved ---- WordPress - Tema adaptado por GiorgioB