Descubren nuevas vulnerabilidades del tipo Spectre

Estándar

Cuando las vulnerabilidades Spectre y Meltdown se hicieron públicas a principios de este año, estas vulnerabilidades que aprovechan la ejecución expectativa serían los primeros de toda una nueva generación de vulnerabilidades, ya que les ofreció a los investigadores de seguridad informática una forma distinta de entender como la ejecución especulativa en los procesadores modernos podría ser usada para extraer información confidencial y socavar la seguridad del software que se ejecuta en estos procesadores. Se acaban de hacer pública dos nuevas variantes sobre este tipo de vulnerabilidades, haciendo uso del desbordamientos de búfer especulativos, los investigadores de seguridad informática Vladimir Kiriansky del MIT y el investigador independiente Carl Waldspurger, en forma conjunta han publicado un paper describiendo esta vulnerabilidad y cómo puede ser explotada.

Esta nueva variantes de Specter se producen casi un mes después de que los investigadores de Microsoft y Google hicieran público Specter Variant 4, que afecta a las CPU modernas en millones de computadoras, incluidas las comercializadas por Apple.

Estas dos nuevas vulnerabilidades son una subvariante de Spectre 1 y se les ha clasificado como:

Spectre 1.1: Bounds Check Bypass on Loads

La variante 1.1 de Specter es una subvariante de la variante 1 original de Specter que aprovecha las reservas especulativas para crear desbordamientos de búfer especulativos.

Este problema de desbordamiento del búfer en la memoria caché del CPU podría permitir que un atacante escriba y ejecute código malicioso que podría ser explotado para extraer datos de la memoria de la CPU previamente asegurada, incluidas contraseñas, claves criptográficas y otra información sensible.

Spectre1.2: Read-only Protection Bypass

La variante Specter 1.2 depende de la aplicación descuidada de PTE, el mismo mecanismo en el que se basa la explotación de la falla de Meltdown.

Esta falla podría permitir que un posible atacante eluda las banderas de PTE de Lectura/Escritura, lo que eventualmente les permitirá sobrescribir la memoria de datos de solo lectura, los metadatos de código y los punteros de código para evitar la seguridad impuesta por políticas de sandbox.

Aunque ARM también ha reconocido la existencia de la falla de Specter 1.1 en un reciente post en su blog publicada el dia de ayer, el fabricante de chips no ha mencionado explícitamente qué CPUs ARM son especialmente vulnerables a Spectre 1.1 y Spectre 1.2. AMD todavía no ha reconocido la existencia de esta vulnerabilidad en sus procesadores. Por otro lado, Intel ya ha publicado un paper en el cuál describe la vulnerabilidad y da luces sobre como mitigar un ataque que haga uso de este tipo de vulnerabilidad.

Microsoft, Red Hat y Oracle también lanzaron advertencias, diciendo que aún están investigando si alguno de sus productos es vulnerable a las nuevas variantes de Specter.

Intel también le pagó al equipo de investigación una recompensa de 100,000 dólares por descubrir estas fallas como parte del programa de recompensas de errores lanzado recientemente por la compañía, que Intel estableció tras la revelación de las vulnerabilidades originales de Meltdown y Spectre. Esta es una de las mejores recompensas ofrecidas por el descubrimiento de errores críticos conocidas hasta la fecha.

Si luego de todas estas noticias sobre las múltiples vulnerabilidades relacionadas con Spectre y todas sus variantes durante estos últimos meses Ud. amigo lector se siente perdido, no lo culpo yo también a pesar de trabajar en el área y tener que parchar servidores como parte de nuesto plan de mantenimientos mensuales, también me he sentido un poco perdido. Es por ello que he preparado en la siguiente tabla para hacer más fácil el seguimiento de todas las variaciones de Spectre:

Variante Descripción CVE Nombre
Clave
CPU
Afectada
Más información
Variante 1 Bounds check bypass CVE-2017-5753 Spectre v1 Intel, AMD, ARM Website
Variante 1.1 Bounds check bypass on stores CVE-2018-3693 Spectre 1.1 Intel, ARM Paper
Variante 1.2 Read-only protection bypass Spectre 1.2 Intel, ARM Paper
Variante 2 Branch target injection CVE-2017-5715 Spectre v2 Intel, AMD, ARM Website
Variante 3 Rogue data cache load CVE-2017-5754 Meltdown Intel Website
Variante 3a Rogue system register read CVE-2018-3640 Intel, AMD, ARM, IBM
Variante 4 Speculative store bypass CVE-2018-3639 SpectreNG Intel, AMD, ARM, IBM Post

En caso de que tenga más información sobre esta vulnerabilidad actualizaré este post.