Google y Microsoft detectan brecha en la ejecución especulativa de los procesadores

By in
21883
Google y Microsoft detectan brecha en la ejecución especulativa de los procesadores

Funcionalidad especulativa en procesadores podría facilitar a malware leer datos pertenecientes a otro software, incluyendo contraseñas. La incidencia ha sido denominada “la cuarta brecha” de los procesadores.

Diario TI 24/05/18 10:00:07

Expertos en seguridad de Google y Microsoft han detectado, por su cuenta y paralelamente, una nueva vulnerabilidad en los procesadores de AMD, ARM, Intel e IBM. La brecha ha sido identificada como Speculative Store Bypass (SSB) y constituye una variante de las vulnerabiliddes Meltdown y Spectre debido a que reside en la funcionalidad especulativa de los procesadores.

La vulnerabilidad, identificada por Microsoft como (CVE-2018-3639), puede en principio ser explotada mediante navegadores modernos con soporte para compilación Just-in-Time de JavaScript, proceso que genera código específico.

Revelación coordinada 
Los científicos de Google y Microsoft coordinaron la publicación de los detalles de la vulnerabilidad, en cooperación con fabricantes de procesadores, sistemas operativos y navegadores, con el fin de mitigar la potencial explotación de la vulnerabilidad SSB.

Según Microsoft, Internet Explorer, Edge y otros navegadores populares ya han sido parcheados. Asimismo, la empresa ha desarrollado soluciones a nivel de sistema operativo y microcódigo.

Intel, en tanto, informa que las versiones beta de actualizaciones de microcódigo han sido distribuidas entre fabricantes de sistemas y socios comerciales participantes en su ecosistema. Las actualizaciones dotan a los procesadores de soporte para una función denominada Speculative Store Bypass Disable (SSBD), que impediría la explotación de la vulnerabilidad SSB.

AMD, ARM e IBM se suman 
AMD, ARM e Intel también han publicado información sobre el grado de exposición que sus respectivos productos tienen frente a SSB. La vulnerabilidad afecta, en general, a todos los kernels de procesadores que soportan que las instrucciones sean ejecutadas de manera no secuencial. Aunque ARM precisa que una mínima parte de sus kernels Cortex están afectados, a la lista se suman los procesadores basados en la arquitectura ARM fabricados por otras empresas.

El factor especulativo 
Aunque en esta oportunidad la vulnerabilidad está relacionada con la forma en que los procesadores intentan “adivinar” o especular, sobre lo que un determinado programa hará en una etapa posterior de la ejecución, para así discernir o calcular anticipadamente algunos valores, con el fin de facilitar las cosas y que los resultados estén listos para cuando, eventualmente, se les necesite. Si el proceso “adivina” correctamente, se mejora considerablemente el rendimiento del sistema. Durante el proceso, un procesador puede ejecutar numerosas instrucciones de lectura y escritura (también conocidas como carga y almacenamiento, dependiendo de la fuente) que operan hacia la misma “dirección” de la memoria. Si en la lista de instrucciones hay indistintamente comandos de lectura y escritura, en principio todas las instrucciones de escrituras serán ejecutadas primero, de forma que las instrucciones de lectura reciban datos totalmente actualizados.

Sin embargo, para que el proceso sea más efectivo, considerando que toma más tiempo ejecutar las instrucciones de lectura, los procesadores modernos intentan determinar qué instrucciones de lectura no dependen de las instrucciones de escritura que se encuentran más adelante en la secuencia, con el fin de ejecutar las instrucciones de lectura antes que las direcciones de las instrucciones de escritura precedentes sean conocidas para el procesador.

Speculative Store Buffer 
Con ello, estos valores leídos de manera especulativa son almacenados en una memoria buffer (Speculative Store Buffer) donde no siempre están protegidos del acceso de otros procesos, lo que hace posible, en teoría, que otros usuarios no autorizados vean los contenidos de la memoria buffer, induciendo al procesador a “creer” que está leyendo desde una dirección, cuando en realidad está leyendo desde otra.

El problema radica en que esta memoria buffer puede almacenar todo tipo de datos incluyendo información crítica como contraseñas y datos de tarjetas de crédito.

Red Hat ha publicado un video explicativo sobre el tema:

Fuente://https://diarioti.com/google-y-microsoft-detectan-brecha-en-la-ejecucion-especulativa-de-los-procesadores/107738