La tecnología de reconocimiento facial ha avanzado a pasos agigantados en los últimos años. Desde el bloqueo de los smartphones al rastreo de sospechosos de terrorismo en las fronteras españolas pasando por su empleo en los supermercados de Mercadona. Una técnica de identificación muy popular y aparentemente infranqueable que McAfee acaba de demostrar que no los es tanto.
Para poner a prueba todos los algoritmos de inteligencia artificial y todo el software de machine learning, la compañía de ciberseguridad ha recurrido a herramientas similares a las que emplean las fuerzas de seguridad de algunos países para el control aeroportuario. Otras empresas, como IBM, han dejado de lado cualquier desarrollo de reconocimiento facial por "violar los derechos humanos y las libertades básicas", según la compañía.
Y justo han utilizado este ejemplo de aplicación. Los técnicos de McAfee han empleado una cámara RGB estándar que se asemeja mucho a la que podemos encontrarnos en en un control de pasaportes para engañar al sistema de reconocimiento facial Facenet, desarrollado por científicos de Google en el año 2015 y que sigue empleándose en la actualidad en diferentes aplicaciones.
¿Cómo funciona?
Antes de sumergirnos en la investigación, hay que entender un poco el mecanismo que utilizan varios países del mundo, entre los que se encuentra Estados Unidos, para verificar quién está traspasando sus fronteras.
Cuando llegamos a la cabina de control, una cámara toma un vídeo o varias fotos de nuestra cara y el servicio de verificación la compara con otra que tenga en la base de datos. Puede ser la obtenida del propio pasaporte o de otras fuentes gubernamentales. Ambas fotos se comparan con empleando un software muy específico y, si coinciden, el usuario queda registrado y autentificado. Si no, el personal de fronteras realizará una comprobación manual.
"El escenario de ataque es simple. Nos referimos a nuestro atacante como Sujeto A, que está en una lista que le prohíbe volar". Es decir, que si una foto de él coincide con una imagen del pasaporte almacenado, se le negará el embarque a la aeronave y quizá sea arrestado por intentar subirse a un avión. "Asumiremos que nunca ha enviado una foto de pasaporte. El Sujeto A (conocido como Jesse) está cooperando con el Sujeto B (llamado Steve), que se posicionará como cómplice". Y aquí es donde viene el quid de la cuestión.
Jesse, al que se suponemos un experto hacker, genera una imagen falsa de Steve mediante un sistema que él mismo ha diseñado. La imagen tiene que parecerse a Steve cuando sea revisada visualmente por alguna autoridad, pero a su vez debe verificar, engañando al sistema, que Jesse es la misma persona que el falso Steve de la foto del pasaporte. Es decir, que la foto visualmente será muy parecida a Steve y, a su vez, el sistema dará luz verde si quien se pone delante de la cámara es Jesse. "En el momento que el sistema de verificación de pasaportes compare una foto tomada en vivo de Jesse con la imagen falsa almacenada en los servidores y no encuentre fallos, podrá salvar la barrera del reconocimiento facial".
El estudio contempla que no existen fotos en ninguna base de datos de Jesse. De esta forma puede crear una imagen fake que efectivamente se parezca a Steve, pero que pueda asociarse con el perfil de Jesse cuando pase por una cámara de reconocimiento facial. Principalmente gracias a la variación de algunos parámetros clave muy complicados de ver para el ojo humano pero que marcan la diferencia para un software de reconocimiento facial.
Entrenando al software
Después de un extensísimo trabajo a nivel conceptual y de software, los ingenieros de McAfee se pusieron manos a la obra para trasladar todo el trabajo teórico a la práctica. Sobre el papel y según sus investigaciones, era posible encontrar la manera de que el sistema clasificara erróneamente a un individuo como una persona distinta, pero manteniendo la apariencia fotorrealista del individuo original.
"Sabíamos que necesitaríamos un conjunto de datos lo suficientemente grande como para entrenar con precisión el modelo de generación de ataques, pero supusimos que sería más pequeño que muchos otros casos de uso", señalan los investigadores en el artículo. El objetivo de McAfee era simplemente llevar a dos personas, Sujeto A y Sujeto B , y minimizar todo lo posible la distancia entre los dos rostros cuando se ingresaran en el software Facenet. "En otras palabras, Jesse necesitaba parecerse a su foto de pasaporte y, sin embargo, ser clasificado como Steve, y viceversa".
El entrenamiento del software les llevó nada menos que 1.500 imágenes de cada uno de ellos recogidas de fotogramas de vídeo. "Empleamos varias expresiones y gestos faciales que pudieran enriquecer los datos de entrenamiento y representar con precisión a alguien que intenta tomar una foto de pasaporte válida".
Aunque los primeros rostros generados automáticamente eran buenos y parecían humanos, tenían algunos elementos muy discordantes que podían arruinar el experimento. Después de docenas de ciclos de entrenamiento, el resultado era muchísimo más afinado. En este momento "los rostros comienzan a eliminar algunas anormalidades mientras combinan simultáneamente las características del Sujeto A y del Sujeto B".
Poco a poco fueron limpiando el resultado y cada vez más se parecía al Sujeto B, el que en el supuesto planteado está limpio de cargos delictivos y sí tiene permitido volar.
Saltándose el control aeroportuario
Tras demostrar que el sistema de reconocimiento facial creado por ellos está bien calibrado. Pasan a la acción enfrentando a los dos sujetos y, efectivamente, funciona. La imagen fake que ya está integrada en las bases de datos gracias al cómplice valida el rostro del otro sujeto permitiéndole pasar a la zona de embarque.
"Si un escáner de pasaportes reemplaza a un ser humano por completo en este escenario, el sistema creería que acaba de validar correctamente al atacante como el cómplice que está registrado en la base de datos". Recordemos que el sistema no tiene almacenados datos del atacante.
"Dado que el cómplice no está en una lista de exclusión aérea y no tiene ninguna otra restricción, el atacante puede saltarse este paso de verificación esencial y embarcar en el avión". Un humano, a poco atento que esté, podrá verificar que la persona de la base de datos no corresponde realmente con la imagen captada por la cámara en tiempo real.
Las conclusiones que publica el equipo de McAfee van en la línea de la importancia que están adquiriendo estos sistemas de reconocimiento facial en contra de otros como el uso de contraseñas. "La dependencia de los sistemas automatizados y el machine learning sin tener en cuenta las fallas de seguridad inherentes presentes en la mecánica interna de los modelos de reconocimiento facial podría proporcionar a los delincuentes capacidades únicas para eludir sistemas críticos". Como es el caso de pasar el control de pasaportes en un aeropuerto.