viernes, 27 diciembre, 2024
InicioTecnoDEF CON 32: encontraron una falla grave en procesadores de AMD que...

DEF CON 32: encontraron una falla grave en procesadores de AMD que ayuda a los hackers a tener más control de una computadora

Un argentino descubrió una falla en todos los procesadores de AMD fabricados desde al menos 2006 hasta la actualidad, que brinda más privilegios a un hacker para tener control de un equipo ajeno. Enrique Nissim, un ingeniero en sistemas de la UTN, presentó junto a su colega polaco Krzysztof Okupski los resultados del research en DEF CON, la conferencia de hackers más grande del mundo, a la que asistió Clarín.

Se trata de un problema en un sector específico del procesador (CPU), el componente central de cualquier computadora, sea laptop, de escritorio, un teléfono o hasta los sistemas “embebidos” que vienen en otros dispositivos como los autos.

Desde que el usuario prende su dispositivo, el CPU ejecuta una serie de instrucciones en un orden determinado: Nissim, que trabaja para la empresa de seguridad IOActive, encontró esta falla leyendo documentación técnica, escribió junto a Okupski el método de explotación (exploit) y lo reportó a AMD. Lo llamaron “SinkClose” y afecta a todos los modelos desde al menos 2006 hasta la fecha.

Las vulnerabilidades son moneda corriente entre las empresas de tecnología y no es poco frecuente que investigadores externos encuentren estos problemas. El problema suele ocurrir cuando estas fallas llegan a manos de los hackers: por el momento, Nissim no publicó el paso a paso del fallo.

«El nombre es un juego de palabras porque en 2015 un investigador llamado Christopher Domas presentó una vulnerabilidad en procesadores Intel en Black Hat y DEF CON y la llamó ‘The Memory Sinkhole’. Es un ataque muy parecido, aunque con diferentes condiciones. Como no sabía qué nombre ponerle, usé la primera parte de ‘Sink-hole’ y, como el bug está en una función del procesador que se llama TClose, combiné la palabra ‘Close’ con ‘Sink’”, explicó en diálogo con este medio.

«Una vez que lo encontré, dejé pasar unos meses hasta que pude demostrarlo y ahí les mandé un reporte, en octubre del año pasado. AMD lo tomó y discutimos el impacto. Al principio se creía que se podía explotar sólo con presencia física, es decir, con el atacante frente al equipo. Pero no: con más investigación, probamos que no hace falta estar delante del equipo para explotarlo», agregó.

Por la gran cantidad de dispositivos que afecta, AMD emitió un comunicado oficial reconociendo el problema y asegurando que hay un parche para arreglarlo en camino.

Si bien Intel domina el mercado de los procesadores, AMD ganó mucho terreno durante la última década y no son pocos los usuarios de estos productos.

Enrique Nissim (izquierda), researcher argentino, junto a su colega Krzysztof Okupski. Foto: Juan BrodersenEnrique Nissim (izquierda), researcher argentino, junto a su colega Krzysztof Okupski. Foto: Juan Brodersen

Cómo es la falla: la explicación técnica

La vulnerabilidad corre en lo que se conoce como “bajo nivel” en computación: mientras que Windows, Android o iOS suelen ser los sistemas operativos con los que interactúa habitualmente el usuario, antes de que estos se ejecuten corren una serie de procesos. Es decir, entre que el usuario aprieta el botón de ON para prender el equipo y lo puede utilizar, interviene la BIOS, que es un “firmware” (un software de bajo nivel) que provee lo básico para que el sistema operativo arranque (o “bootee”).

Nissim explicó el paso a paso de la vulnerabilidad a Clarín: “El BIOS de la máquina es esa parte que se encarga de iniciar el hardware, la memoria, enumerar todos los dispositivos y, una vez que tiene un mapa global de todo lo que existe en el hardware, le pasa el control al ‘loader’ del sistema operativo para cargar Windows, Linux, lo que sea».

“Ahora bien, uno de los pasos que hace el firmware antes de pasarle el control al ‘loader’, es preparar un área de memoria reservada para poner código especial que se va a ejecutar durante el tiempo que corra la computadora. Eso se llama System Management Mode (SMM) y es como una extensión del firmware en runtime”, agregó.

“Si dividís el proceso de ejecución de una computadora en dos, tenés la parte de booteo (inicio) y la de runtime, lo que ve el usuario cuando ya está ejecutando sus aplicaciones (Office, un navegador, lo que sea). Una vez que el sistema inició, el BIOS ya no corre más. Sin embargo, hay código adicional en la memoria, que está protegido y corre con privilegios más altos que el sistema operativo: ese es el SMM”, continúa.

El System Management Mode constituye así un modo de operación de un equipo con altos niveles de privilegio. Esto significa que, en esa instancia, un usuario puede ejecutar instrucciones en bajo nivel, un «ring», como se dice técnicamente, muy cercano al procesador.

«El SSM es un modo más de ejecución dentro de la arquitectura x86 [el set de instrucciones del equipo] y no debería, porque es código especializado del firmware que lo maneja el proveedor de la laptop o la PC. Bueno: con esta vulnerabilidad, se puede ejecutar código arbitrario en ese modo”, concluyó Nissim.

Afecta a todos los modelos de Ryzen, el producto estrella de la compañía. Foto AMDAfecta a todos los modelos de Ryzen, el producto estrella de la compañía. Foto AMD

Si bien para poder explotar esta vulnerabilidad ya hay que tener acceso al equipo -mediante otra vulnerabilidad o malware-, lo que es interesante del descubrimiento es que puede permitirle a un atacante hacer algo muy preciado desde su punto de vista: persistir en un equipo.

«El código que corre en SMM es totalmente invisible a un antivirus o a un motor anti-cheat. Incluso si alguien quiere correr un cheat en un videojuego podría usar esto. Pero en muchos casos un atacante quiere persistir en una máquina y para eso necesitás un nivel de acceso más que sólo tener ejecución en el kernel [el núcleo del sistema operativo]” agrega.

“En sistemas modernos, con todas las protecciones puestas, llegar a System Management Mode da la opción de instalar un bootkit de igual manera. Si el sistema está medianamente desconfigurado, se puede instalar un implante en el firmware, en la flash: en ese caso, no te lo sacás de encima, ni siquiera desinstalando el sistema operativo, casi que tenés que tirar el procesador», explicó. Un bootkit es un programa malicioso que apunta a infectar el inicio de una computadora.

Cómo fue el descubrimiento y qué impacto tiene para el usuario

Krzysztof Okupski expone en DEF CON. Foto: Juan BrodersenKrzysztof Okupski expone en DEF CON. Foto: Juan Brodersen

Nissim, de Resistencia, Chaco, estudió Ingeniería en Sistemas en la UTN y vive en Orlando, Florida, desde 2023. «Siempre programé, le vendía software a los compañeros en la facultad para los proyectos de las materias. Empecé trabajando en una empresa de soluciones IT, después pasé a Core Security», una empresa fundacional de la ciberseguridad en Argentina. Luego trabajó en Intel y ahora trabaja en IOActive, compañía de ciberseguridad con sede en Seattle.

El researcher, de 34 años, encontró la vulnerabilidad haciendo investigación para IOActive. Una vez que la detectó, trabajó con su colega Krzysztof Okupski, un polaco que vive en España hace seis años, en desarrollar el exploit. Cuando se detectan estas fallas, los investigadores suelen contactar a las compañías para avisarles de la vulnerabilidad.

«Veníamos haciendo research basado en plataformas de AMD, en principio empezamos a notar que no había mucha investigación, porque estaba todo enfocado en Intel. Había muchas herramientas públicas que detectan configuraciones malas en sistemas pero para Intel, entonces decidimos llevar el estado del arte a AMD», explicó Nissim que vive en Estados Unidos

«Si se quiere, el bug estaba a la vista en documentos técnicos desde 2006», agregó. Una vulnerabilidad con tanto tiempo y con tanto alcance no es tan común, con lo cual el descubrimiento es particularmente interesante por las derivas que pueda tener una vez que se haga público. «Estimamos que hay cientos de millones de chips afectados«, arriesgó.

Lisa Su, presidenta y CEO de AMD, durante la presentación de la tercera generación, en 2019. Foto: ReutersLisa Su, presidenta y CEO de AMD, durante la presentación de la tercera generación, en 2019. Foto: Reuters

AMD tomó una buena porción del mercado, históricamente dominado por Intel, durante la última década con su producto estrella: Ryzen, que se caracteriza por ser muy buscado por gamers por su relación precio-calidad y ya lleva cinco generaciones. El bug Sinkhole no sólo afecta a estos procesadores, sino a los usados en servidores (EPYC) y Threadripper, orientados a investigación y machine learning.

«No sé si esto fue explotado por atacantes o no, nosotros escribimos un exploit funcional con mi colega Krzysztof que te permite ejecutar lo que quieras en este SSM. Todavía no lo liberamos porque hablamos con AMD y vamos a esperar unas semanas más», agregó.

El bug ya tiene CVE (el sistema utilizado para registrar vulnerabilidades, Common Vulnerabilities and Exposures) y AMD se pronunció, en declaraciones al medio especializado Wired: “Lanzamos opciones de mitigación para los productos AMD EPYC y AMD Ryzen, con mitigaciones par sistemas embebidos próximamente”.

Nissim insiste, por su parte, en que el valor que tiene esta vulnerabilidad para un atacante es el de ganar persistencia en un equipo, algo muy buscado por hackers patrocinados por Estados y amenazas avanzadas, con poder de fuego técnico, conocidas como APT (Advanced Persistent Threats).

La charla en DEF CON generó aplausos de los asistentes, luego de que los investigadores hicieran una demo técnica para demostrar el exploit en acción. La lista de chips afectados se puede ver en la página oficial de AMD.

La conferencia de DEF CON estará disponible pronto para ver online.

Más Noticias