Technology

Investigadores del MIT encuentran una nueva falla en los procesadores Apple M1 que no se pueden parchear

Written by Admin

Un nuevo ataque de hardware denominado PAC HOMBRE se ha demostrado contra los conjuntos de chips del procesador M1 de Apple, lo que podría armar a un actor malicioso con la capacidad de obtener la ejecución de código arbitrario en los sistemas macOS.

Aprovecha los “ataques de ejecución especulativa para eludir un importante mecanismo de protección de la memoria, la autenticación de puntero ARM, una característica de seguridad utilizada para hacer cumplir la integridad del puntero”, dijeron los investigadores del MIT Joseph Ravichandran, Weon Taek Na, Jay Lang y Mengjia Yan. ha dicho en un nuevo diario.

Lo que es más preocupante es que “aunque los mecanismos de hardware utilizados por PACMAN no pueden repararse con funciones de software, los errores de corrupción de memoria sí pueden”, agregaron los investigadores.

La vulnerabilidad tiene su origen en los códigos de autenticación de punteros (GORRA), una línea de defensa introducida en la arquitectura arm64e que tiene como objetivo detectar y proteger contra cambios inesperados en punteros — objetos que almacenan una dirección de memoria — en la memoria.

la seguridad cibernética

Los PAC tienen como objetivo abordar un problema común en la seguridad del software, como las vulnerabilidades de corrupción de la memoria, que a menudo se explotan al sobrescribir los datos de control en la memoria (es decir, punteros) para redirigir la ejecución del código a una ubicación arbitraria controlada por el atacante.

Mientras que estrategias como aleatorizar el diseño del espacio de direcciones (ASLR) fueron diseñados para aumentar la dificultad de realizar ataques de desbordamiento de búfer, el objetivo de los PAC es verificar la “validez de los punteros con un impacto mínimo en el tamaño y el rendimiento”, evitando efectivamente que un adversario cree punteros válidos para usar en un exploit.

Esto se logra protegiendo un puntero con un hash criptográfico, llamado código de autenticación de puntero (PAC), para garantizar su integridad. Manzana Explique PAC de la siguiente manera:

La autenticación de puntero funciona al ofrecer una instrucción de CPU especial para agregar una firma criptográfica, o PAC, a los bits altos no utilizados de un puntero antes de almacenar el puntero. Otra instrucción elimina y autentica la firma después de volver a leer el puntero de la memoria. Cualquier modificación del valor almacenado entre la escritura y la lectura invalida la firma. El procesador interpreta la falla de autenticación como corrupción de la memoria y establece un bit alto en el puntero, lo que hace que el puntero no sea válido y que la aplicación se bloquee.

Procesadores Apple M1

Pero PACMAN “elimina la barrera principal para realizar ataques de secuestro de flujo de control en una plataforma protegida mediante autenticación de puntero”. Combina corrupción de memoria y ejecución especulativa para eludir la función de seguridad, filtrando “resultados de verificación de PAC a través de canales laterales de microarquitectura sin causar un bloqueo”.

El método de ataque, en pocas palabras, ayuda a distinguir entre un PAC correcto y un hash incorrecto, lo que permite que un mal actor “fuerce brutalmente el valor de PAC correcto mientras suprime los bloqueos y construye un ataque de secuestro de flujo de control sobre un programa víctima AP habilitado o sistema operativo.”

la seguridad cibernética

La prevención de choques, por otro lado, es exitosa porque cada valor de PAC es adivinado especulativamente explotando un canal lateral basado en el tiempo a través del búfer de búsqueda de traducción (TLB) usando un Prime+Ataque de sonda.

Las vulnerabilidades de ejecución especulativa, como se vio en el caso de Spectre y Meltdown, arman ejecución fuera de ordenuna técnica utilizada para mejorar el rendimiento de los microprocesadores modernos mediante predecir la ruta más probable del flujo de ejecución de un programa.

Sin embargo, debe tenerse en cuenta que el modelo de amenaza asume que ya existe una vulnerabilidad de corrupción de memoria explotable en un programa víctima (kernel), que a su vez permite que el atacante sin privilegios (una aplicación maliciosa) inyecte código malicioso en ciertas ubicaciones de memoria en el proceso de la víctima.

“Este ataque tiene implicaciones importantes para los diseñadores que buscan implementar futuros procesadores con autenticación de puntero, y tiene amplias implicaciones para la seguridad de las futuras primitivas de integridad del flujo de control”, concluyeron los investigadores.

About the author

Admin

Leave a Comment