Noticias

El recorrido del ataque por fuerza bruta: del dominio de las GPU a las CPU como caballos de batalla… y de vuelta.

Autor: Magnus Johansson – Servicios Profesionales en MSAB

Cuando un dispositivo móvil está bloqueado y se requiere acceso para un examen forense legal, el ataque por fuerza bruta —probar sistemáticamente códigos de acceso— puede ser el último recurso y, en algunos casos, el único método viable. En estas situaciones, la velocidad es clave: cuanto más rápido se recupere un código válido, antes podrán continuar los investigadores, avanzar los casos y reducir los atrasos. Con los años, el panorama del brute forcing ha cambiado de forma drástica. Los sistemas operativos móviles y los algoritmos de derivación de claves han definido cómo abordamos este desafío.

En MSAB hemos seguido de cerca esta evolución y también hemos contribuido activamente a ella. Nuestro recorrido con la tecnología de fuerza bruta refleja cómo ha madurado la informática forense móvil: desde las primeras soluciones basadas en GPU, pasando por el cracking distribuido con CPU, hasta el regreso a la aceleración por GPU con el lanzamiento de BruteStorm Surge.

Alrededor de 2016–2017, cuando pasé del área de TI a Servicios Profesionales en MSAB, lideré numerosas operaciones de Access Services y apoyé a clientes del Advanced Acquisition Lab (AAL), el predecesor de XRY Pro. En ese momento, la mayoría de los dispositivos que llegaban eran Huawei y otros teléfonos Android, generalmente con versiones hasta Android 8.0. Para esos equipos dependíamos en gran medida de la aceleración por GPU utilizando el software de código abierto Hashcat. Las GPU son extremadamente eficientes para las operaciones matemáticas paralelas que se usan en muchas funciones de hashing y derivación de claves, y con rigs de GPU bien configurados podíamos lograr tiempos de recuperación de contraseñas extremadamente rápidos.

Todo cambió con la implementación de Android 8.1 de Huawei. Hasta entonces, los dispositivos Huawei estaban entre los más exitosos al procesarse con Hashcat y aceleración por GPU. Las actualizaciones de seguridad del dispositivo hicieron que el cracking con GPU dejara de ser efectivo para una amplia gama de dispositivos modernos. Prácticamente de la noche a la mañana, el brute forcing basado en GPU se volvió inutilizable para muchos dispositivos Android, y nos vimos obligados a replantear nuestra estrategia.

Para superar esa limitación, MSAB desarrolló DBS (Distributed Bruteforcer Software), el predecesor basado en CPU de lo que más tarde se convertiría en BruteStorm. DBS podía ejecutarse en prácticamente cualquier sistema y agregar la potencia de procesamiento de múltiples computadores en una tarea coordinada. Su modo cliente/servidor permitía que las máquinas de oficina aportaran ciclos de CPU disponibles al mismo trabajo de fuerza bruta. Aun así, los clústeres de CPU no podían acercarse al rendimiento de un rig moderno con múltiples GPU.

Las GPU quedaron relegadas porque los kernels deben adaptarse específicamente a cada implementación de hash. Los fabricantes refuerzan la seguridad de los dispositivos de forma constante y, cuando cambian las protecciones internas, los enfoques basados en GPU pueden dejar de funcionar hasta que se desarrolle nuevo soporte. Ese fue el efecto práctico de Android 8.1 en Huawei: cambios algorítmicos que bloquearon de forma efectiva la aceleración por GPU para ciertas clases de dispositivos. Durante años, la industria dependió de soluciones basadas en CPU, que eran versátiles pero mucho más lentas.

Ahora, sin embargo, la aceleración por GPU ha vuelto. BruteStorm Surge es una versión personalizada de Hashcat que incorpora los parches y optimizaciones necesarios para objetivos Android modernos, incluidos dispositivos con FBE. Devuelve al proceso la velocidad bruta de cómputo que ofrecen las GPU.

El regreso de la aceleración por GPU tiene enormes implicancias prácticas. Una sola GPU de gama alta puede realizar cracking de contraseñas aproximadamente cien veces más rápido que una CPU, dependiendo del algoritmo y la configuración. Además, añadir GPU suele escalar el rendimiento de forma casi lineal en muchas cargas de trabajo: dos GPU similares duplican el rendimiento, tres lo triplican, y así sucesivamente, hasta que aparecen otros cuellos de botella del sistema (ancho de banda de memoria, PCIe). Esto significa que un ataque que llevaría horas o semanas en un clúster de CPU puede completarse en minutos u horas en un clúster de GPU. A modo de ejemplo: un rig con muchas GPU de última generación puede reducir tiempos de ejecución de varios años en CPU a solo unas pocas horas, aunque las cifras exactas dependen en gran medida del hardware y de la configuración del ataque.

Mirando hacia atrás, queda claro cuánto ha avanzado este campo. En 2017, cuando la implementación de Android 8.1 de Huawei obligó a la comunidad forense a abandonar el cracking basado en GPU, MSAB respondió creando una solución distribuida basada en CPU que permitió a los analistas seguir operando. Hoy, con BruteStorm Surge, hemos cerrado el círculo, combinando la enorme ventaja de cómputo de las GPU con la fiabilidad y el rigor forense que caracterizan el enfoque de MSAB.

Esta nueva generación de brute forcing impulsado por GPU es más que un hito técnico. Es un recordatorio de que las herramientas forenses deben evolucionar continuamente junto con los dispositivos y algoritmos a los que apuntan. Nuestro objetivo sigue siendo el mismo: ofrecer a nuestros clientes un acceso legal, eficiente y confiable a la evidencia digital, hacia donde sea que avance la tecnología.

Léelo en msab.com