miércoles, abril 10, 2019

Autoencoders, GANs y otros chicos (buenos y malos) del montón: La IA al servicio de la Ciberseguridad [2 de 5]

Tras ver los conceptos básicos y fundamentales de las demostraciones que vamos a ver, ya en esta segunda parte del artículo vamos a comenzar a desgranar algunos ejemplos de cómo se pueden utilizar estas tecnologías para hacer, en principio, cosas malas como crear vídeos falsos para FakeNews utilizando diferentes aproximaciones.

Figura 11: Autoencoders, GANs y otros chicos (buenos y malos) del montón:
La IA al servicio de la Ciberseguridad [2 de 5]

Para comenzar vamos a ver dos ejemplos de Face Swapping en los que Pablo González (yo) se mete a cómico usando un vídeo de Miguel Lago y Enrique Blanco se pone a entrenar a un equipo de fútbol, utilizando un vídeo del conocido técnico Mouriño, creando los primeros vídeos usando estas técnicas.

VAE (Variatonial Autoencoders)

Para ejemplificar el uso de un VAE (Variational AutoEncoders) comenzaremos con el vídeo de ‘Pablo se mete a cómico’, donde se hace un Face Swapping entre el cómico Miguel Lago y un vídeo mío. Lo importante aquí no es que Miguel Lago tenga mi cara. Lo importante es que nosotros podemos grabarnos haciendo lo que queramos y luego poner la cara de un político, un directivo, un famoso, etcétera.

Figura 12: Face Swappping entre Pablo González y el famoso cómico Miguel Lago

Este sería un ataque muy parecido a lo que se indicaba del video de la actriz famosa en el cuerpo de una actriz porno para hacer una difamación de la imagen pública del personaje, tal y como explicamos en los Corporate APT contra directivos. En el  caso de Enrique Blanco, como se ha dicho, el vídeo mezcla a José Mouriño con él.

Figura 13: Mezcla de las facciones de la cara de Enrique Blanco con José Mouriño

Para realizar el proceso de Face Swapping que hemos utilizando en estos sencillos ejemplos se sigue un pequeño algoritmo que describimos a continuación::

1. Extracción y detección de rostros:
En este paso se obtienen todos los frames de los videos, tanto del vídeo donde se quiere incrustar la cara como del vídeo que proporciona las caras que se quieren incrustar. Hay que tener en cuenta que se hará una detección de marco facial. Por otro lado, Enrique Blanco se grabó haciendo movimientos similares a José Mourinho
Figura 14: DeepFaceLAB en GitHub
Como recomendación debemos tener claro que, si tenemos iluminación similar al vídeo, un fondo limpio y una orientación del rostro similar, el proceso se simplifica. En el siguiente Github (Prebuilt Windows App) se dispone de una librería que es capaz de hacer Face Swapping.
Figura 15: Reconocimiento de caras con IA

2. Entrenamiento del Variational Auto Encoder (VAE)
Las imágenes de Enrique Blanco y de José Mourinho originales son reducidas a un espacio latente o vector base, quedándose con las características mínimas necesarias para llevar a cabo la reconstrucción. La reducción se ha a través de un encoder, mientras que la reconstrucción se hace a través de un decoder.
Figura 16: Rostros pareados en formato latente

3. Testeo de la red neuronal y generación de vídeo
Desde el modelo o vector base de José Mourinho se pasa por el decoder de Enrique Blanco, por lo que se obtiene una imagen de la cara de Enrique con las facciones y gestos de Mourinho.
Figura 17: Reconstrucción de caras con VAE
El resultado final, que se puede ver en este vídeo de una pequeña actuación del cómico Miguel Lago en el programa de La Resistencia de Movistar+ #0 en la que hemos puesto la cara de Pablo González (la mía, vamos).


Figura 18: Resultado del Face Swapping con VAE

Por supuesto, en estos casos se ha intentado explicar cómo funciona el algoritmo que hemos utilizado, y hemos buscado que los ejemplos fueran los suficientemente llamativos como para que se resaltase el Face Swapping, pero como podéis imaginar, si alguien quisiera hacer un vídeo realista, contar con buen material de vídeos fuentes, elegir los momentos, los gestos, las palabras y las fisonomías de las personas ayudaría a un resultado hiperrealista.

Autores: Pablo González Pérez (@pablogonzalezpe), escritor de los libros "Metasploit para Pentesters", "Hacking con Metasploit: Advance Pentesting" "Hacking Windows", "Ethical Hacking", "Got Root" y “Pentesting con Powershell”, Microsoft MVP en Seguridad y Security Researcher en el equipo de "Ideas Locas" de la unidad CDO de Telefónica y Enrique Blanco (@eblanco_h) es Investigador en el departamento de Ideas Locas CDO de Telefónica

**************************************************************************************************
- La IA al servicio de la Ciberseguridad [1 de 5]
- La IA al servicio de la Ciberseguridad [2 de 5]
- La IA al servicio de la Ciberseguridad [3 de 5]
- La IA al servicio de la Ciberseguridad [4 de 5]
- La IA al servicio de la Ciberseguridad [5 de 5]
**************************************************************************************************

No hay comentarios:

Publicar un comentario