Noticias
Se puede romper la protección ASLR sobre 22 modelos de CPU solo con JavaScript
Cinco investigadores de Vrije University, situada en Países Bajos, han conseguido romper la protección ASLR sobre 22 modelos de CPU realizando ataques mediante código JavaScript. Entre las marcas afectadas por este fallo de seguridad nos encontramos a Intel, AMD, ARM, Allwinner y NVIDIA, entre otros muchos.
El ataque, que ha recibido el nombre de ASLR^Cache o AnC, se enfoca en la Unidad de Gestión de Memoria (MMU), un componente no muy conocido incluido en muchas microarquitecturas de CPU y que se encarga de mejorar el rendimiento de las operaciones de gestión de la caché. Lo que han descubierto los investigadores es que este componente comparte porciones de su caché con aplicaciones no confiables, incluyendo navegadores web. Esto significa que han podido enviar código JavaScript malicioso teniendo como objetivo dicho espacio de memoria compartido para leer su contenido.
Los investigadores cuentan que su ataque sobre una arquitectura x86_64 “puede encontrar desplazamientos (dentro de una arquitectura de datos) que son accedidos por la MMU en cada una de las cuatro páginas de la tabla de paginación. El desplazamiento dentro de cada página rompe los nueve bits de entropía, por lo que incluso una implementación perfecta con 36 bits de entropía no resulta segura”. Explicando esto de forma más sencilla y entendible, significa que el ataque AnC puede romper la protección ASLR y podría permitir a un atacante leer porciones de memoria en una computadora. Esto podría abrir la puerta al aprovechamiento de exploits más complejos y escalar hasta acceder al sistema operativo completo.
ASRL es un mecanismo de protección implementado en la mayoría de los sistemas operativos, que se dedica a hacer aleatoria la localización en la cual un código es ejecutado en memoria. Rompiendo ASRL, un atacante podría conocer dónde se ejecuta un código y preparar un ataque que iría dirigido a la misma sección de memoria, pudiendo robar información sensible almacenada en la memoria del PC.
Los investigadores han conseguido llevar a cabo el ataque AnC con Firefox y Chrome sobre 22 modelos de CPU diferentes para saltar o romper protecciones incluidas en los propios navegadores, como los temporizadores de JavaScript. Pero esto no es lo peor, sino que además este ataque puede ser utilizado para “resucitar” problemas de seguridad que fueron corregidos hace una década.
Ante esta situación, los investigadores recomiendan utilizar algún complemento para navegadores que no permita la ejecución de JavaScript no confiable, como NoScript. Por otro lado, el equipo tras este descubrimiento tiene experiencia en ataques de rowhamming sobre la memoria RAM, usando esta técnica para comprometer software como Microsoft Edge, máquinas virtuales Linux y dispositivos Android.
Modelos de CPU sobre los cuales la protección ASLR ha sido comprometida a través del ataque AnC
Modelo de CPU | Microarquitectura | Año de lanzamiento |
Intel Xeon E3-1240 v5 | Skylake | 2015 |
Intel Core i7-6700K | Skylake | 2015 |
Intel Celeron N2840 | Silvermont | 2014 |
Intel Xeon E5-2658 v2 | Ivy Bridge EP | 2013 |
Intel Atom C2750 | Silvermont | 2013 |
Intel Core i7-4500U | Haswell | 2013 |
Intel Core i7-3632QM | Ivy Bridge | 2012 |
Intel Core i7-2620QM | Sandy Bridge | 2011 |
Intel Core i5 M480 | Westmere | 2010 |
Intel Core i7 920 | Nehalem | 2008 |
AMD FX-8350 8-Core | Piledriver | 2012 |
AMD FX-8320 8-Core | Piledriver | 2012 |
AMD FX-8120 8-Core | Bulldozer | 2011 |
AMD Athlon II 640 X4 | K10 | 2010 |
AMD E-350 | Bobcat | 2010 |
AMD Phenom 9550 4-Core | K10 | 2008 |
Allwinner A64 | ARM Cortex A53 | 2016 |
Samsung Exynos 5800 | ARM Cortex A15 | 2014 |
Samsung Exynos 5800 | ARM Cortex A7 | 2014 |
Nvidia Tegra K1 CD580M-A1 | ARM Cortex A15 | 2014 |
Nvidia Tegra K1 CD570M-A1 | ARM Cortex A15; LPAE | 2014 |
Vídeos demostrativos
Fuente | BleepingComputer
Más información | Vrije University (1 y 2)