Como vimos en la primera parte de este artículo, tanto para construir una DeepFake con FaceSwapping como para crear una GAN entrenada para crear un Virtual Replicant que utilizar en vídeo conferencias, necesitamos utilizar los servicios cognitivos de visión artificial, que hace unos años ya consiguieron alcanzar la paridad humana en muchos de los aspectos en los que utilizamos la visión los seres humanos, como el reconocimiento de objetos, el reconocimiento de personas, etcétera.
Los investigadores de Microsoft Research construyeron en el año 2017 un modelo de Inteligencia Artificial entrenado con 1 millón de fotografías de 100.000 celebrities de todo el mundo - entre las que se encuentran entre otros Chema Alonso y Kevin Mitnick - capaces de reconocerlos en cualquier fotografía, incluso si Kevin se pone el gorro de Chema Alonso y Chema se pone las gafas de Kevin Mitnick como podemos ver en esta fotografía.
Esta capacidad de crear un modelo de inteligencia artificial capaz de reconocer a una persona de manera acertada cuando se tienen suficientes fotografías de ella, es lo que permite tener una GAN funcional, ya que el Discriminador será el que se encuentre entrenado con las fotos originales, haciendo que el Generador deba trabajar duro para engañarla con una DeepFake.
Engañar al Discriminador con una cara falsificada en un vídeo de DeepFakes es una cuestión de grado de certeza en el reconocimiento. Si se baja el nivel, será más fácil que el Generador engañe al Discriminador pero al mismo tiempo será menos realista y puede que no engañe a las personas. Un ejemplo de esto es el modelo de Inteligencia Artificial de Microsoft para recocer si dos caras en dos fotografías son las mismas, donde una fotografía de Chema Alonso fue capaz de confundir al modelo y hacer que pensara que George Clooney eran la misma persona.
Figura 11: ¿Son Chema Alonso y George Clooney la misma persona? |
Al final, la base de todo lo que rodea a los DeepFakes es la visión artificial, y en concreto, como ya hemos dicho, los servicios cognitivos de reconocimiento facial. Este procedimiento de reconocimiento de caras es bastante sencillo con pocas líneas de código utilizando OpenCV por ejemplo y el clasificador Haar Cascade como podemos ver en este sencillo ejemplo ejecutado sobre Google Colab:
Los diferentes algoritmos de reconocimiento de caras han ido evolucionando y también las posibles aplicaciones prácticas. Y claro, una de estas aplicaciones es el reconocimiento de personas que se podría integrar en cámaras de seguridad y así detectar cuándo una persona entra por ejemplo a una habitación o ha sido grabada en un acto delictivo. Esto, por supuesto, también puede ser una violación de nuestra privacidad, debido a tres factores.
Figura 12: Ejemplo de utilización de detección de caras con OpenCV.
Los diferentes algoritmos de reconocimiento de caras han ido evolucionando y también las posibles aplicaciones prácticas. Y claro, una de estas aplicaciones es el reconocimiento de personas que se podría integrar en cámaras de seguridad y así detectar cuándo una persona entra por ejemplo a una habitación o ha sido grabada en un acto delictivo. Esto, por supuesto, también puede ser una violación de nuestra privacidad, debido a tres factores.
El primero de ello es la aparición de las cámaras de gran resolución que son capaces de captar grandes espacios de una ciudad con una sola instantanea, capturando la vida de muchas personas. Puedes ver un ejemplo de esto en esta fotografía de 195 Megapíxeles en 360º de la ciudad de Shanghai.
En segundo, porque como hemos visto en el caso de George Clooney y Chema Alonso, los modelos han alcanzado la paridad humana, pero no la perfección, y por tanto, como los humanos se pueden equivocar. Y el tercero se basa en la garantía de que los datos que se han utilizado para su entrenamiento son correctos, y de qué ha aprendido correctamente, lo que no siempre es posible, como vimos en el modelo de IA que tendía a aclarar la piel en las imágenes de poca calidad - como las que se utilizan en muchas cámaras de seguridad -.
Por supuesto, también podemos pensar en la gran cantidad de aplicaciones prácticas y útiles que tendría. Usando el ejemplo de Google, los servicios cognitivos de visión artificial permiten detectar gestos, emociones, etcétera, pero si además, si eres algún tipo de personalidad, existen aplicaciones que te detectan y reconocen como hemos visto en el ejemplo anterior.
Toda la tecnología que rodea a la detección de caras seguirá evolucionando y estará cada vez más en aplicaciones que usaremos día a día. No debemos olvidar que todos llevamos encima un potente ordenador capaz de hacer una foto de alta resolución y enviarla a cualquiera de estos servicios en tiempo real y casi sin latencia con la llegada del 5G y así saber con quién estamos hablando o a punto de encontrarnos.
2018 – Faceswapping Axl Rose y Chema Alonso
Conociendo esto, decidimos explorar las posibilidades, sobre todo en el mundo de las Fake News, y en el año 2018 comenzamos a trabajar con el concepto de FaceSwapping, donde vimos de los riesgos que podían suponer para la sociedad, para las organizaciones y los estados. La tecnología avanzaba muy rápido y nosotros hicimos una pequeña prueba de concepto de cara a nuestro evento anual de la antigua ElevenPaths - ahora Telefónica Tech - llamado Security Innovation Day.
En este primer contacto con las técnicas de Faceswapping trabajamos con autoencoders y cambiamos el rostro de Axl Rose por el de Chema Alonso en un vídeo de unos segundos para hacer una Fake News. Aprendimos que en el caso de las DeepFakes, con la finalidad de mezclar caras, entrenar dos autoencoders de forma separada no tendría ningún sentido, pues la representación de los espacios latentes aprendidos por cada uno sería totalmente diferente y no podrían ser usadas al mismo tiempo.
Toda la tecnología que rodea a la detección de caras seguirá evolucionando y estará cada vez más en aplicaciones que usaremos día a día. No debemos olvidar que todos llevamos encima un potente ordenador capaz de hacer una foto de alta resolución y enviarla a cualquiera de estos servicios en tiempo real y casi sin latencia con la llegada del 5G y así saber con quién estamos hablando o a punto de encontrarnos.
2018 – Faceswapping Axl Rose y Chema Alonso
Conociendo esto, decidimos explorar las posibilidades, sobre todo en el mundo de las Fake News, y en el año 2018 comenzamos a trabajar con el concepto de FaceSwapping, donde vimos de los riesgos que podían suponer para la sociedad, para las organizaciones y los estados. La tecnología avanzaba muy rápido y nosotros hicimos una pequeña prueba de concepto de cara a nuestro evento anual de la antigua ElevenPaths - ahora Telefónica Tech - llamado Security Innovation Day.
En este primer contacto con las técnicas de Faceswapping trabajamos con autoencoders y cambiamos el rostro de Axl Rose por el de Chema Alonso en un vídeo de unos segundos para hacer una Fake News. Aprendimos que en el caso de las DeepFakes, con la finalidad de mezclar caras, entrenar dos autoencoders de forma separada no tendría ningún sentido, pues la representación de los espacios latentes aprendidos por cada uno sería totalmente diferente y no podrían ser usadas al mismo tiempo.
(Hoy en día se ve pobre, pero en 2018 ya se veía su pontencia si mejoraba).
2019 – GAN de Chema Alonso
En el año 2019, con una aceleración brutal de todas las tecnologías de DeepFakes y FaceSwapping, comenzamos un trabajo en el que se quería comprobar las posibilidades de llevar a cabo una estafa del CEO a través del aprendizaje por parte de una IA a hablar como él y a ser capaz de generar una imagen de vídeo de la persona a suplantar en tiempo real. Para esto comenzamos trabajando con GANs con el objetivo de poder crear imágenes falsas de una persona, en este caso, como no, le tocó otra vez a Chema Alonso, y poder ver los posibles resultados.
Además, decidimos realizar el estudio para sintetizar una voz usando un modelo de Inteligencia Artificial que reprodujera las frases como de la forma más parecida posible a la forma en la que lo haría Chema Alonso, aunque tuvimos que usar el inglés, debido a que es en esta lengua donde estaban más avanzadas las tecnologías en estos servicios cognitivos de visión y voz que necesitábamos.
Otro tema interesante es que se quería hacer con recursos de bajo coste y Open Source para demostrar que en ese momento, principios del año 2019, todo estaba en Internet y accesible a cualquier usuario. Eso sí, la complejidad de montar todo y de trabajar el entrenamiento de los modelos no era sencillo. Es decir, queríamos demostrar que con dos redes neuronales enfrentadas se puede generar una imagen resultante que puede engañar a cualquier ojo humano en tiempo real, y sin necesidad de grandes recursos.
Figura 16: Enrique Blanco controlando la GAN de Chema Alonso
Para este caso se utilizaron los siguientes requisitos, que aplicaríamos sobre un vídeo elegido. En nuestro caso un vídeo en el que nuestra "víctima" habla a la webcam como si fuera una vídeo-conferencia y explica cosas con un fondo más o menos blanco. Nos pareció bueno para hacer la simulación y extraer de él los rostros necesarios para traerlo a la vida como si fuera nuestra marioneta. En el vídeo anterior podéis ver a nuestro compañero Enrique Blanco controlando la GAN de Chema Alonso.
Otro tema interesante es que se quería hacer con recursos de bajo coste y Open Source para demostrar que en ese momento, principios del año 2019, todo estaba en Internet y accesible a cualquier usuario. Eso sí, la complejidad de montar todo y de trabajar el entrenamiento de los modelos no era sencillo. Es decir, queríamos demostrar que con dos redes neuronales enfrentadas se puede generar una imagen resultante que puede engañar a cualquier ojo humano en tiempo real, y sin necesidad de grandes recursos.
- PC con una NVidia como GPU
- Anaconda / Python 3.5
- OpenCV 3.0
- Dlib 19.4
- Pix2pix-tensorflow
- CUDA 8.0
- CUDNN 6.0
- Drivers aplicables a la GPU
2019 – Generación Voz MS Custom Voice
La siguiente prueba consistía en crear un modelo de inteligencia artificial que crease, mediante un servicio cognitivo de text-to-speech, frases realistas que suplantaran a la víctima. En nuestro caso, para la generación de audio de esta prueba se utilizó el servicio Custom Voice de Microsoft con el que se puede entrenar una IA para que a través de texto y audios se pueda enseñar al modelo de inteligencia artificial a hablar como una determinada persona.
Tuvimos que hacerlo en inglés, ya que, como hemos dicho antes, los idiomas disponibles eran inglés y chino (simplificado).
En este caso nos surgió un problema ya que teníamos audios de Chema Alonso de sus charlas en DefCON, Blackhat y demás dadas en inglés, pero necesitábamos los textos.
Para ello, utilizamos otro servicio cognitivo basado en inteligencia artificial, en este el servicio cognitivo de Google Cloud Speech-To-Text para transformar los audios a texto. Con esos textos y los audios asociados, en fragmentos de 30 segundos, ya podíamos pasarle la info a MS Custom Voice y poner a entrenar la IA. El resultado era bueno, aunque con un toque metálico que se podía trabajar en post-producción, como veremos luego.
2019 – Ataque CDO por Skype
Juntando la parte de vídeo con el ejercicio de la GAN y la parte del audio y el entrenamiento de la IA y la voz con MS Custom Voice se montó la prueba de concepto del ataque de CDO (hoy CDCO) como si de una llamada de Skype se tratase. En esta demo se puede ver al Virtual Replicant de Chema Alonso con su voz solicitando que se haga una transferencia desde un bar.
2019 - Ataque de CEO real con Voz generada por IA
Ese mismo año, el día 30 de Agosto, el Wall Street Journal contó que este tipo de ataque del CEO utilizando Inteligencia Artificial ya se comenzó a utilizar con éxito - al menos que se conozca - en una empresa del Reino Unido en la que la voz de un CEO fue reconstruida en un modelo de IA que se utilizó para solicitar a un empleado de la firma que hiciera una transferencia de 220.000 €.
Figura 20: Noticia en el Wall Street del ataque del CEO usando IA |
Por supuesto, mucho ha llovido en estos dos años, y tanto los esquemas de ataques, como las herramientas, como los estudios de Inteligencia Artificial en este área no han parado de aumentar, pero eso lo veremos en la siguiente parte de este artículo.
**************************************************************************************************
- Una historia de Blade Runners & Virtual Replicants (Parte 1 de 5)
- Una historia de Blade Runners & Virtual Replicants (Parte 2 de 5)
- Una historia de Blade Runners & Virtual Replicants (Parte 3 de 5)
- Una historia de Blade Runners & Virtual Replicants (Parte 4 de 5)
- Una historia de Blade Runners & Virtual Replicants (Parte 5 de 5)
**************************************************************************************************
- Una historia de Blade Runners & Virtual Replicants (Parte 1 de 5)
- Una historia de Blade Runners & Virtual Replicants (Parte 2 de 5)
- Una historia de Blade Runners & Virtual Replicants (Parte 3 de 5)
- Una historia de Blade Runners & Virtual Replicants (Parte 4 de 5)
- Una historia de Blade Runners & Virtual Replicants (Parte 5 de 5)
**************************************************************************************************
No hay comentarios:
Publicar un comentario