Los autores: Juhee Kim Parque Jinbum Sihyeon Roh Jaeyoung Chung Youngjoo Lee Taesoo Kim Byoungyoung Lee Authors: Juárez Kim Parque Jinbum SiguienteRoh Jaeyoung Chung por Youngjoo Lee César Kim Byoungyoung Lee Table Of Links Mesa de la izquierda Abstracción 1. Introduction 1 Introducción 2. Background 2 El fondo Extensión de la memoria Ataque de ejecución especulativa 3. Threat Model Modelo de amenaza 4. Finding Tag Leakage Gadgets Encontrar los gadgets de fuga de etiquetas Título: Leakage Template Título: Fuzzing 5. TIKTAG Gadgets 5 – Los gadgets TIKTAG-v1: Explotación de la reducción de la especulación TIKTAG-v2: Aprovechando el envío a la tienda 6. Real-World Attacks Ataques del mundo real 6.1 Atentados contra Chrome 7. Evaluation 7 Evaluación 8. Related work 8 Trabajo relacionado 9. Conclusion And References Conclusión y referencias Abstract Abstracción ARM Memory Tagging Extension (MTE) es una nueva característica de hardware introducida en la arquitectura ARMv8.5-A, destinada a detectar vulnerabilidades de corrupción de la memoria. El bajo nivel de cobertura de MTE lo convierte en una solución atractiva para mitigar los ataques de corrupción de la memoria en los sistemas de software modernos y se considera el camino más prometedor para mejorar la seguridad del software C/C++. Este artículo explora los riesgos de seguridad potenciales planteados por los ataques de ejecución especulativa contra MTE. En concreto, este artículo identifica nuevos gadgets TIKTAG capaces de filtrar las etiquetas MTE de direcciones de memoria arbitrarias a través de la ejecución especulativa. Con los gadgets TIKTAG, los atacantes pueden eludir la defensa probabilística de MTE, aumentando la tasa de éxito del ataque en casi el 100%. Demostramos que los gadgets TIKTAG se pueden utilizar para eludir las mitigaciones basadas en MTE en sistemas del mundo real, Google Chrome y el núcleo de Linux. Los resultados experimentales muestran que los dispositivos TIKTAG pueden filtrar con éxito una etiqueta MTE con una tasa de éxito superior al 95% en menos de 4 segundos. Introducción Las vulnerabilidades de corrupción de memoria presentan amenazas de seguridad significativas para los sistemas de computación. Explotando una vulnerabilidad de corrupción de memoria, un atacante corrompe los datos almacenados en una memoria, secuestra el flujo de control o fabrica los datos de la víctima. En respuesta a estas amenazas, ARM Memory Tagging Extension (MTE) ha sido propuesto recientemente desde ARMv8.5- Una arquitectura, que es una nueva extensión de hardware para mitigar los ataques de corrupción de memoria. Técnicamente, MTE proporciona dos operaciones primitivas de hardware, (i) etiqueta y (ii) verificación de etiqueta. Una operación de etiqueta asigna una etiqueta a una ubicación de memoria (es decir, una etiqueta de 4 bits a cada memoria de 16 bytes). Luego se realiza una operación de verificación de etiquetas cuando se accede a la memoria, que compara dos etiquetas, una incorporada dentro del puntero para acceder a la memoria y la otra asociada con la ubicación de la memoria a acceder. Si estas dos etiquetas son las mismas, se permite el acceso. Usando MTE, se pueden desarrollar diferentes técnicas de mitigación dependiendo de qué etiqueta se asigna o qué regiones de memoria se etiquetan.Por ejemplo, los alocadores de memoria compatibles con MTE, como Android Scudo [3] y Chrome PartitionAlloc [2], asignan una etiqueta aleatoria a toda la memoria asignada dinámicamente. Luego, un puntero a esta memoria asignada incorpora la etiqueta, y a medida que el puntero se propaga, la etiqueta se propaga de acuerdo. Cuando se accede a cualquier memoria asignada dinámicamente, se aplica una operación de verificación de etiquetas. Como las etiquetas se asignan aleatoriamente en el tiempo de ejecución, es difícil para el atacante adivinar correctamente la etiqueta. MTE introduce desafíos significativos para que los atacantes exploten la vulnerabilidad de corrupción de la memoria. Esto se debe a que las soluciones basadas en MTE detectan un comportamiento de violación cercano a la causa raíz de la corrupción de la memoria espacial y temporal. Especificamente, ya que MTE asegura que la relación entre un puntero y una ubicación de la memoria no se corrompe, detecta prontamente las corrupciones, es decir, MTE detecta rápidamente el momento en que el acceso fuera de límites se produce en una vulnerabilidad de sobrecarga o cuando un puntero pendiente se refiere en libre después del uso. Esto ofrece fuertes ventajas de seguridad a MTE, particularmente en comparación con las técnicas de mitigación populares como CFI [6, 52, 62], que no detecta la corrupción de la memoria pero detecta el comportamiento de secuestro de flujo de control (es decir, un comportamiento de explotación). En este artículo, estudiamos si MTE proporciona la garantía de seguridad como se promete. En particular, analizamos si los ataques de ejecución especulativa pueden ser una amenaza de seguridad para romper MTE. Para resumir nuestros resultados, encontramos que los ataques de ejecución especulativa son realmente posibles contra MTE, lo que daña gravemente la garantía de seguridad de MTE. Descubrimos dos nuevos gadgets, llamados TIKTAG-v1 y TIKTAG-v2, que pueden filtrar la etiqueta MTE de una dirección de memoria arbitraria. En concreto, TIKTAG-v1 explota la reducción de la especulación de la predicción de la rama y los prefetchers de datos, y TIKTAGv2 explota el comportamiento de reenvío de tienda a carga. Para demostrar la explotabilidad de las mitigaciones basadas en MTE en el mundo real, desarrollamos dos ataques en el mundo real con superficies de ataque distintivas: Google Chrome y el núcleo de Linux. Nuestros resultados de evaluación muestran que los gadgets TIKTAG pueden filtrar etiquetas de MTE con una tasa de éxito superior al 95% en menos de 4 segundos. Además, proponemos esquemas de mitigación para prevenir la explotación de los gadgets TIKTAG manteniendo los beneficios del uso de MTE. En comparación con los trabajos anteriores sobre los canales laterales de MTE [22, 38], creemos que este artículo aporta contribuciones únicas por las siguientes razones. En primer lugar, Project Zero en Google informó de que no eran capaces de encontrar fugas de etiquetas especulativas de los mecanismos de MTE [38]. Se concluyó que los resultados de la verificación especulativa de MTE no inducen diferencias de estado de caché distinguibles entre el éxito y el fracaso de la verificación de etiquetas. En contraste, encontramos que las verificaciones de etiquetas realmente generan la diferencia de estado de caché en la ejecución especulativa. Otro trabajo independiente, StickyTags [22], descubrió un gadget de fuga de etiquetas MTE, que es un ejemplo del gadget TIKTAG-v1, y sospechó que la causa raíz está en la contención de la memoria en errores de verificación de etiquetas falsos. Este artículo también informa de nuevos dispositivos de fuga de etiquetas MTE, específicamente las variantes del gadget TIKTAGv1 y el nuevo gadget TIKTAG-v2, junto con el desarrollo de la explotación contra Chrome y el núcleo de Linux. Además, este artículo propone nuevos mecanismos de defensa para evitar que los dispositivos TIKTAG lechen etiquetas MTE, tanto a nivel de hardware como de software. Teniendo en cuenta su fuerte ventaja de seguridad, se espera que un gran número de mitigaciones basadas en MTE (por ejemplo, protección de datos sensibles [29, 31] y integridad de flujo de datos [13, 40, 60]) se implanten en un futuro cercano en dispositivos con soporte para MTE (por ejemplo, teléfonos móviles Android). Como tal, los resultados de este artículo, en particular en cómo se construyen los gadgets TIKTAG y cómo se pueden filtrar las etiquetas de MTE, arrojan luz sobre cómo se deben diseñar soluciones basadas en MTE o cómo se debe implementar la CPU a nivel microarquitectónico. ARM reconoció y divulgó públicamente el problema en diciembre de 2023 [34]. otro grupo de investigación reportó un problema similar a ARM y publicó sus hallazgos [22], que se llevaron a cabo independientemente de nuestro trabajo. La divulgación responsable. Hemos reportado las vulnerabilidades especulativas en Google Chrome V8 al Equipo de Seguridad de Chrome en diciembre de 2023.Ellos reconocieron los problemas pero decidieron no corregir las vulnerabilidades porque la caja de arena V8 no tiene la intención de garantizar la confidencialidad de los datos de memoria y las etiquetas MTE. Sin embargo, creemos que la seguridad del navegador se puede mejorar si se implementan las defensas basadas en MTE con las contramedidas que sugerimos (§6.1.4).También informamos de los oráculos de MTE en el dispositivo Pixel 8 al Equipo de Seguridad de Android en abril de 2024. Este artículo está disponible en archivo bajo la licencia CC 4.0. Este documento es bajo la licencia CC 4.0. available on arx iv iv