BrutePrint: saltarse la protección de huellas dactilares de los smartphones

La protección por huella dactilar de Android no es tan fiable después de todo: puede ser forzada incluso sin una copia de tu huella dactilar.

Forzar un teléfono inteligente protegido mediante huella dactilar

Se cree que el reconocimiento de huellas dactilares es un método de autenticación bastante seguro. De vez en cuando aparecen publicaciones sobre diferentes formas de engañar al sensor de huellas dactilares, pero todos los métodos sugeridos, en una forma u otra, se reducen a la imitación física del dedo de la persona propietaria del teléfono, ya sea usando una almohadilla de silicona o una impresión de tinta conductora. Esto implica obtener una imagen de alta calidad de un dedo, y no cualquier dedo, sino el registrado en el sistema.

En pocas palabras, todos estos métodos provocan muchos problemas en la vida real. Pero, ¿existe alguna manera más elegante de hacerlo, sin salir del mundo puramente digital y sin renunciar a todos sus beneficios? Pues resulta que la hay: los investigadores chinos Yu Chen y Yiling He publicaron recientemente un estudio sobre cómo forzar casi cualquier teléfono inteligente Android protegido mediante huella dactilar. A este ataque le llamaron BrutePrint.

¿Cómo de únicas son las huellas dactilares?

Antes de investigar el trabajo de nuestros camaradas chinos, vamos a repasar brevemente un poco de teoría… Para empezar, y es posible que ya lo sepas, las huellas dactilares son realmente únicas y no se alteran con el tiempo.

No obstante, allá por 1892, el científico inglés Sir Francis Galton publicó un trabajo que, de forma lacónica, tituló Huellas dactilares. En él, resumió la información científica actual sobre huellas dactilares, y su trabajo sentó las bases teóricas para un mayor uso práctico de las huellas dactilares en la medicina forense.

Entre otras cosas, Sir Francis Galton calculó que la probabilidad de coincidencia de huellas dactilares era “menos de 236, o una entre sesenta y cuatro mil millones”. Los expertos forenses han mantenido este valor incluso hasta el día de hoy.

Por cierto, si te gusta la anatomía extrema o los factores biológicos detrás de la singularidad de las huellas dactilares, aquí tienes un nuevo trabajo de investigación sobre el tema.

¿Hasta qué punto son fiables los sensores de huellas dactilares?

El trabajo de Sir Francis y todo lo que surgió de él, sin embargo, está relacionado con el (cálido) mundo analógico, y cubre cosas como la toma de huellas dactilares y su cotejo con las que quedaron en la escena del crimen, por ejemplo, y chimpún. Pero las cosas suceden de forma distinta en la (fría) realidad digital. La calidad de la representación de la huella dactilar depende de múltiples factores: el tipo de sensor, su tamaño y resolución y, en gran medida, los algoritmos de comparación y posprocesamiento de la “imagen”.

Comparar una huella dactilar capturada por un sensor óptico con una copia de huella dactilar analógica.

Unas huellas dactilares tal como las vio Sir Francis Galton hace 150 años (izquierda) y el sensor óptico de tu teléfono inteligente de última generación (derecha). Fuente y Fuente.

Por supuesto, el desarrollador necesita que el dispositivo sea muy barato (o nadie lo compraría), lograr que la autenticación se realice en una fracción de segundo (o se vería abrumado por las quejas sobre la lentitud) y evitar los falsos negativos a toda costa (o el usuario se daría por vencido). El resultado son sistemas de autenticación no muy precisos.

Entonces, cuando se hace referencia a los sensores utilizados en los teléfonos inteligentes, se citan cifras para la probabilidad de coincidencia de fragmentos de huellas dactilares mucho menos optimistas que el famoso 1 entre 64 mil millones. Por ejemplo, Apple estima que la probabilidad de Touch ID es de 1 entre 50 000. Por lo tanto, se puede suponer que para los modelos de sensor económicos, la probabilidad se reducirá aún más en una magnitud o dos.

Esto nos lleva de miles de millones a miles, lo cual ya está al alcance de un ataque de fuerza bruta. Entonces, el hacker potencial está a solo un obstáculo del premio: el límite en el número de intentos de reconocimiento mediante huella dactilar. Normalmente, solo se permiten cinco de ellos, seguidos de un período prolongado de bloqueo de autenticación.

¿Se puede superar este obstáculo? Yu Chen y Yiling He dan una respuesta afirmativa a ello en su estudio.

BrutePrint: prepararse para usar la fuerza bruta en teléfonos inteligentes Android protegidos mediante huella dactilar

Este método del investigador se basa en un fallo en la implementación genérica del sensor de huella dactilar de los teléfonos inteligentes Android: ninguno de los modelos probados encriptaba el canal de comunicación entre el sensor y el sistema. Esto abre la oportunidad de un ataque MITM en el sistema de autenticación: mediante un dispositivo conectado al teléfono inteligente a través del puerto SPI de la placa base, uno puede interceptar los mensajes entrantes del sensor de huella dactilar y enviar sus propios mensajes emulando el sensor de huella dactilar.

Los investigadores construyeron un dispositivo de este tipo (pseudosensor) y lo complementaron con un dispositivo para hacer clic automáticamente en la pantalla del sensor del teléfono inteligente. Por lo tanto, la parte del componente de hardware se configuró para enviar múltiples imágenes de huellas dactilares a los teléfonos inteligentes en modo automático.

Dispositivo utilizado para el ataque BrutePrint.

Dispositivo para realizar el ataque de fuerza bruta del sistema de autenticación de huella dactilar. Fuente.

A partir de ahí, procedieron a preparar muestras de huellas dactilares para el ataque de fuerza bruta. Los investigadores no revelan la fuente de su base de datos de huellas dactilares, solo se limitan a la especulación general sobre cómo los atacantes podrían obtenerla (colecciones de investigación, datos filtrados, base de datos propia).

Como siguiente paso, la base de datos de huellas dactilares se envió a una IA para generar una especie de diccionario de huellas dactilares para maximizar el rendimiento del ataque de fuerza bruta. La IA adaptó las imágenes de huellas dactilares para que coincidieran con las generadas por los sensores instalados en los teléfonos inteligentes que participaron en el estudio.

Ejemplos de imágenes generadas por sensores de huella dactilar de diferentes tipos

Las imágenes devueltas por diferentes tipos de sensores de huella dactilar son bastante diferentes entre sí. Fuente.

Las dos vulnerabilidades de las que se aprovecha BrutePrint: Cancel-After-Match-Fail y Match-After-Lock

El ataque BrutePrint explota dos vulnerabilidades. Los investigadores las descubrieron en la lógica básica del marco de autenticación de huellas dactilares que, por su apariencia, está integrado en todos los teléfonos inteligentes Android sin excepción. Estas vulnerabilidades se denominaron Cancel-After-Match-Fail y Match-After-Lock.

La vulnerabilidad Cancel-After-Match-Fail

Cancel-After-Match-Fail (CAMF) explota dos características importantes del mecanismo de autenticación mediante huella dactilar. La primera es el hecho de que se basa en el muestreo múltiple, lo que significa que cada intento de autenticación utiliza no solo una, sino una serie de dos a cuatro imágenes de huellas dactilares (según el modelo de teléfono inteligente). El segundo es el hecho de que, además de fallar, un intento de autenticación también puede dar como resultado un error, y en este caso, se vuelve al principio.

Esto permite enviar una serie de imágenes que terminan en un marco preeditado para desencadenar un error. Por lo tanto, si una de las imágenes de la serie genera una coincidencia, la autenticación se llevará a cabo correctamente. De lo contrario, el ciclo terminará con un error, después del cual se podrá enviar una nueva serie de imágenes sin desperdiciar el preciado intento.

Diagrama de vulnerabilidad de la lógica de autenticación mediante huella dactilar Cancel-After-Match-Fail.

Cómo funciona Cancel-After-Match-Fail: el error lo lleva de vuelta al punto de partida sin desperdiciar un intento. Fuente. 

La vulnerabilidad Match-After-Lock

La segunda vulnerabilidad es Match-After-Lock (MAL). La lógica de la autenticación mediante huella dactilar proporciona un período de bloqueo después de un intento fallido, pero muchos proveedores de teléfonos inteligentes no implementan esta función correctamente en sus versiones de Android. Entonces, aunque una autenticación mediante huella dactilar exitosa no es posible en el modo de bloqueo, aún se pueden enviar más y más imágenes nuevas, a las que el sistema responderá con una respuesta honesta de “verdadero” o “falso”. Es decir, una vez que se detecta la imagen correcta, puede usarse tan pronto como el sistema esté fuera de bloqueo, completando así una autenticación exitosa.

Ataques que explotan Cancel-After-Match-Fail y Match-After-Lock

El ataque que explotaba la primera vulnerabilidad tuvo éxito en todos los teléfonos inteligentes probados con Android original, pero, por alguna razón, no funcionó con HarmonyOS. Match-After-Lock fue explotado en los teléfonos inteligentes Vivo y Xiaomi, así como en ambos teléfonos Huawei con HarmonyOS.

Tabla de vulnerabilidad de varios teléfonos inteligentes a Cancel-After-Match-Fail y Match-After-Lock.

Todos los teléfonos inteligentes probados resultaron ser vulnerables al menos a un ataque. Fuente.

Se descubrió que todos los teléfonos inteligentes Android y HarmonyOS que participaron en el estudio eran vulnerables al menos a uno de los ataques descritos. Esto significa que todos ellos permitieron un número indefinido de intentos maliciosos de autenticación mediante huella dactilar.

Según el estudio, se tardaron de 2,9 a 13,9 horas en piratear un sistema de autenticación de un teléfono inteligente Android con solo una huella dactilar registrada. Pero para los teléfonos inteligentes con el máximo número posible de huellas dactilares registradas para un modelo determinado (cuatro para Samsung y cinco para todos los demás), el tiempo se redujo considerablemente: piratearlos tardó de 0,66 a 2,78 horas.

Tiempo de pirateo de smartphones con BrutePrint.

Probabilidad de éxito de un ataque BrutePrint en función del tiempo empleado: una huella registrada (línea continua) y número máximo de huellas registradas (línea discontinua). Fuente.

¿Qué pasa con los iPhone?

El sistema Touch ID utilizado en los iPhone resultó ser más resistente a BrutePrint. Según el estudio, la principal ventaja del iPhone es que la comunicación entre el sensor de huella dactilar y el resto del sistema está encriptada. Por lo tanto, no hay forma de interceptar o alimentar al sistema con una huella dactilar preparada en un dispositivo equipado con Touch ID.

El estudio señala que los iPhones pueden ser parcialmente vulnerables a las manipulaciones utilizadas para maximizar el número de posibles intentos de reconocimiento mediante huella dactilar. Sin embargo, no es tan malo como puede parecer: mientras que los smartphones con Android permiten un hackeo indefinido, en los iPhone el número de intentos solo se puede aumentar de 5 a 15.

De esta forma, los usuarios de iOS pueden dormir tranquilos: Touch ID es mucho más fiable que la autenticación mediante huella dactilar que se usa tanto en Android como en HarmonyOS. Además, hoy en día la mayoría de los modelos de iPhone usan Face ID.

¿Qué peligro tiene todo esto?

Los propietarios de smartphones Android tampoco deberían preocuparse demasiado por BrutePrint: en la práctica, el ataque no representa una amenaza importante. Esto se debe a varios motivos:

  • BrutePrint requiere de acceso físico al dispositivo. Este factor por sí solo reduce enormemente la probabilidad de que te suceda algo así.
  • Además, para llevar a cabo el ataque, es necesario abrir el dispositivo y utilizar un conector específico en la placa base. Hacerlo sin el conocimiento del propietario no es fácil.
  • Incluso en el mejor de los casos, el ataque requerirá de un tiempo considerable, medido en horas.
  • Y, por supuesto, BrutePrint necesita una configuración peculiar, tanto de hardware como de software, que incluye equipos personalizados, una base de datos de huellas dactilares y una IA entrenada.

Al combinarse, estos factores hacen que sea extremadamente improbable que un ataque de este tipo pueda usarse en la vida real, a menos que algunas personas con mentalidad empresarial construyan un producto comercial fácil de usar basado en el estudio.

Proteger los teléfonos inteligentes Android contra ataques de fuerza bruta de huellas dactilares

Si, a pesar de lo anterior, crees que podrías ser víctima de un ataque de este tipo, aquí tienes algunos consejos para protegerte:

  • Registra la menor cantidad posible de huellas dactilares (idealmente, solo una). Cuantos más dedos utilices para la autenticación, más vulnerable se vuelve el sistema a la táctica descrita, así como a otros ataques.
  • No olvides usar un PIN adicional o protección con contraseña para las aplicaciones que tengan esta opción.
  • Por cierto, la función AppLock disponible en la versión de pago de Kaspersky para Android permite usar contraseñas separadas para cualquiera de tus aplicaciones.
Consejos