Seguridad

Blade Runners: Cómo crear un Test de Voight-Kampff para DeepFakes (Parte 1 de 3)

Hace ya un tiempo que publicamos el artículo de “Una historia de Blade Runners & Virtual Replicants” donde hablamos de cómo han evolucionado las técnicas para realizar DeepFakes y suplantar a personas en vídeo conferencias, y las técnicas de detección de las mismas. Durante estos años, el área de investigación de dedicado a detectar a quién está utilizando una DeepFake para enmascarase en una vídeo conferencia se han ido desarrollando. En este artículo vamos a ir viendo una serie de técnicas para detectar en tiempo real si una persona que está hablando contigo por una vídeo conferencia está usando o no una DeepFake para ocultarse.

Figura 1: Blade Runners: Cómo crear un Test de Voight-Kampff para DeepFakes
Imagen: Boceto de la máquina Voight-Kampff (Parte 1 de 3). Fuente:

En la famosa película de Blade Runner, para poder detectar a los Replicantes se utilizaba un famoso Test de Voight-Kampff que hoy en día, para el mundo de las Virtual Replicants se pone más de actualidad que nunca. En este artículo veremos las técnicas base para poder construir ese test, pero antes os dejo la conferencia que dimos sobre este tema, por si quieres ver antes la parte dedicada a las DeepFakes.
Ahora, en las diferentes partes de este artículo, vamos a ir viendo las investigaciones que se han ido desarrollando para detectar dichas DeepFakes, cuáles son los artículos académicos de investigación, y cómo aplicarlos, pues al final hay que implementar, entrenar, y aplicar todas ellas para conseguir que sea utilizable en un entorno real.
1.- Detección de vídeos hechos con herramientas y técnicas de DeepFakes
Llegados a este punto, es momento de empezar a hablar de las técnicas de detección de vídeos hechos con herramientas y técnicas de DeepFakes, para detectar cuándo, por ejemplo, una prueba incriminatoria o difamatoria basada en un vídeo es falso. Para eso, existe una colección de estudios y herramientas que se han ido generando en estos últimos tres años que merece la pena repasar. Los vídeos DeepFake creados con IA se pueden detectar usando las mismas herramientas, es decir, más IA. La buena noticia es que estos tipos de detección funcionan realmente bien pero al igual que ocurre en el mundo de la ciberseguridad, cada vez que se soluciona un problema otro más complejo aparece. 

Figura 3: Libro de Machine Learning aplicado a Ciberseguridad de
Carmen TorranoFran Ramírez, Paloma Recuero, José Torres y Santiago Hernández

Además este es un problema que toda la comunidad dedicada al Machine Learning está estudiando y mejorando gracias a iniciativas como Kagle y su Deepfake Detection Challenge (DFDC). Nosotros, en nuestro equipo de Ideas Locas, también sacamos un reto de detección de DeepFakes para mejorar los recursos de los profesionales de seguridad en este área, tiempo atrás.

En general, los métodos de detección de DeepFakes más utilizados, según la clasificación recogida en el  artículo que citamos en la parte anterior “DeepFakes: Generation and Detection” se pueden dividir en cinco categorías según la técnica de DeepFake utilizada, o la técnica de DeepFake que se busca en un determinado vídeo.

  • FaceSwap (intercambio de caras): Ya hemos hablado de esta técnica de DeepFake y la detección se basa principalmente en detectar artefactos, es decir, pequeñas estructuras automáticas recurrentes creadas por las herramientas de FaceSwapping,  o a través de otras anomalías comunes derivadas de este proceso. Según el tipo de técnica utilizada para crear la DeepFake se podrían detectar artefactos conocidos en la misma cara que pueden tener que ver con brillos, secuencias de colores, sombras, etcétera, el entorno de la cara, metadatos en los ficheros resultantes, fisionomía de las estructuras que se generan, sincronización del vídeo, etcétera. El artículo científico de “Exposing DeepFake Videos By Detecting Face Warping Artifacts” es un buen ejemplo de estas técnicas.
  • Lip-sync (sincronización de los labios): En este caso el elemento a analizar son los labios y la coherencia de ejecución a la hora de sincronizarse con las palabras pronunciadas por ejemplo, como en el vídeo de Barack Obama que vimos en la primera parte de este artículo. Esta técnica parte de dos clasificaciones principales, la detección por artefactos (como los descritos en el punto anterior) o indirectos, como por ejemplo la detección de otro tipo de anomalías derivadas de la manipulación de la boca/labios.
  • Face-Reenacement (recreación de la cara): En este caso estamos hablando de técnicas de DeepFake basadas en GANs con Landmark pre-entrenados que generan movimiento a partir de una fotografía o de unas pocas. Igual que los anteriores, se basan en la detección de artefactos o la detección indirecta de otras anomalías derivadas de la manipulación o creación de elementos de la cara que tiene que crear la GAN, como ojos, nariz, etcétera, en posiciones que no sabe cómo son. 

Figura 6: DeepFake de movimiento de una foto con formas raras.
 

Los métodos son similares a los usados en el FaceSwap, ya que se vuelven a analizar factores como la fisionomía, comportamiento, etcétera. 
  • GAN generated images (imágenes generadas a partir de GANs): En este tipo de clasificación se enfoca principalmente en la detección de las diferentes técnicas utilizadas para su creación. Es decir, si la GAN ha utilizado por ejemplo algún tipo de redes neuronales tipo VGG, un análisis forense de los datos podría mostrar patrones que indicara la utilización de este tipo de redes certificando la manipulación. Lo mismo ocurre por ejemplo con las CNN o Redes Convolucionales. La detección en función del parpadeo de los ojos o detección de las pulsaciones en vídeos de DeepFakes podrían ser dos aproximaciones dentro de esta clasificación, que luego veremos en más en detalle, ya que también pueden servir para detectar Virtual Replicants en tiempo real. 
  • Audio Fakes (audio falso): En esta clasificación el objetivo es detectar manipulación en el audio o detectar si es o no generado de manera artificial. Para esto existen diferentes técnicas las cuales se basan principalmente en la detección de artefactos analizando los espectrogramas, tanto del original como de la supuesta réplica. No vamos a centrarnos en este artículo en la parte de audios, porque le vamos a dedicar otra serie completa más adelante 
FaceForensics++
Para que los investigadores especializados en la detección de DeepFakes tengan material de estudio, se creó en 2019 el almacén llamado FaceForensics++ que es un repositorio de ficheros para su estudio que recoge vídeos DeepFake creados con cinco técnicas diferentes de FaceSwapping, como son Face2FaceFaceSwapDeepFakes (técnica) y Natural Textures, además de FaceShifter. Es un repositorio abierto a estudiantes y gestionado por investigadores de Google
Figura 7: FaceForensics++

Tienes el artículo científico de qué contiene y cómo se ha creado el proyecto, titulado: “FaceForensics++: Learning to Detect Manipulated Facial Images” y acceso a toda la información en su repositorio de GitHub.
DeepFake Exposer
En el año 2020, dentro del equipo de IdeasLocas, creamos DeepFake Exposer, una herramienta forense que trata sólo de tener una visión completa y actualizada de lo que opinan las diferentes soluciones que van apareciendo día a día en este mundo de las técnicas forenses de DeepFakes. Su funcionamiento es muy sencillo, basta con subir un vídeo o darle la URL de donde está publicado, y lo pasamos por las herramientas forenses que se van publicando en GitHub gracias a los artículos científicos anteriormente citados.

Figura 8: Arquitectura de DeepFake Exposer

El funcionamiento es muy sencillo. Se le proporciona el vídeo para saber qué opinión tiene al respecto el sistema, y nos dice qué han dicho cada una de las herramientas que hemos lanzado para analizarlo.

Figura 9: Demo de DeepFake Exposer
En el momento del ejemplo, DeepFake Exposer implementa las herramientas proporcionadas por estos cuatro artículos científicos de los que hemos hablando con anterioridad.

Figura 10: Soluciones implementadas en DeepFake Exposer

Para nosotros es una solución cómoda, porque nos permite ir metiendo todos los avances en el análisis forense de DeepFakes, y poder tener una visión holística.
En la siguiente parte de este artículo hablaremos de cómo detectar, no ya los vídeos de DeepFakes, sino pensando en aplicar estas técnicas de detección en tiempo real, y las nuevas técnicas que se han ido desarrollando, que valen tanto para detectar a un Virtual Replicant en un vídeo conferencia, como para detectar un vídeo hecho con DeepFakes
******************************************************************************************
– Blade Runners: Cómo crear un Test de Voight-Kampff para DeepFakes (Parte 2 de 3)
– Blade Runners: Cómo crear un Test de Voight-Kampff para DeepFakes (Parte 3 de 3)
******************************************************************************************

Powered by WPeMatico

Gustavo Genez

Informático de corazón y apasionado por la tecnología. La misión de este blog es llegar a los usuarios y profesionales con información y trucos acerca de la Seguridad Informática.