miércoles, agosto 04, 2021

Una historia de Blade Runners & Virtual Replicants (Parte 4 de 5)

En la última parte de este artículo hablamos largo y tendido de la democratización de las DeepFakes, por medio de puesta a disposición de todo el mundo de aplicaciones y herramientas que, sin conocimientos excesivos, permiten a casi cualquier persona, crear un vídeo con tecnología de DeepFakes sustituyendo la cara de una persona, o generando una GAN pre-entrenada a partir de un vídeo, pocas fotos o incluso una sola fotografía. 

Figura 33: Una historia de Blade Runners & Virtual Replicants (Parte 4 de 5)

Esta parte vamos a terminar de ver cómo, ya en 2021, esta tecnología se ha empezado a masificar en el mundo de los ciberataques para crear Virtual Replicants, sobre todo, aprovechando el escenario masivo de teletrabajo y vídeo conferencias que hemos vivido desde los confinamientos forzosos de 2020

2021 – APTs con Virtual Replicants a políticos

Como hemos comentado con anterioridad, en el mes de Abril de 2021 se produjo el primer supuesto ataque con éxito utilizando un Virtual Replicant creado con tecnología de DeepFakes. Esto no permite abrir un debate interesante sobre el impacto en nuestra sociedad de estas tecnologías, aunque hay dudas de que el ataque pudiera haber sido realizado utilizando no DeepFakes sino con técnicas de maquillaje avanzado e iluminación de estudio aprovechando que la calidad de la vídeo conferencia no es tan alta.

En este caso concreto, varios políticos de la UE pensaron que estaban hablando con un activista opositor al gobierno ruso, en concreto Leonid Volkov. Dejando de lado si usaron o no DeepFakes, sólo tenemos que usar un poco la imaginación sobre los problemas que puede acarrear este tipo de suplantación en un conflicto bélico o político. Y os podemos asegurar que esto ocurrirá, si no está pasando ya, usando esta vez DeepFakes.


Después de este incidente, la misma policía europea (Europol) ha lanzado un comunicado donde alerta sobre este tipo de ataque, donde los políticos pueden ser víctimas, tanto siendo engañados como suplantados, por organizaciones criminales. Los políticos son un objetivo principal debido al poder que pueden ejercer y sobre todo por el impacto social o económico que pueden resultar de sus acciones o decisiones. También hacen énfasis en el principal problema de las DeepFakes que vamos a comenzar a detallar en este artículo, y es que no existe una tecnología única e infalible que funcione a la hora de detectarlas (hablaremos de esto más adelante).


Este tipo de ataques es una nueva vía que se abre el mundo de la ciberseguridad donde ya conocemos ataques de este tipo, los llamados “phishing” donde comparten la base de suplantar a una persona. El caso del phishing, sin muchas personas se creen el mensaje del correo electrónico y realizan acciones en base a él, será aún peor cuando usando un Virtual Replicant sea tu jefe el que te llame por videoconferencia y te pida que hagas las cosas.

2021 – FaceIT Live 3 + GUI BytheFace

Ya en el mes de Mayo de 2021, en el equipo de Ideas Locas hemos testeado una PoC del poder de esa democratización de la tecnología de DeepFakes. Con una sola fotografía y el uso de un modelo pre-entrenado se puede hacer la suplantación de una persona a través de una GAN. El proyecto FaceIT Live3, el cual puede ser estudiado en su Github, proporciona esta tecnología.


Tras trabajar con ello y probar algunas cosas, hemos hecho una pequeña GUI, a la que llamamos ByTheFace a modo de ejemplo, para simplificarnos el trabajo con ello. La GUI ha sido montada con PyQT y facilita la interacción del usuario con el proyecto FaceIT Live3. La GUI proporciona la posibilidad de introducir diferentes fotografías e ir cambiando fácilmente entre diferentes personas y en tiempo real ir tomando esa identidad.

Figura 37: GUI ByTheFace para usar FaceIT Live3. A la izquierda estará la
persona de verdad manejando, en este caso, la DeepFake de Kevin Mitnick.

Además, el botón “Get New Human” proporciona una nueva fotografía de una persona que no existe. Estas personas que no existen pueden ser tomadas de proyectos como “This person does not exist” del que hablamos en la parte anterior de este artículo. 

Figura 38: Una vídeo conferencia con una DeepFake de FaceIT Live3

Este tipo de salidas obtenidas suplantando a una persona puede ser utilizado por un atacante para, a través de OBS, pasar la señal a herramientas como MS Teams, Zoom, SlackSkype o Google Meet, tal y como se ve en el vídeo de anterior, donde los compañeros Luis Eduardo Álvarez y Guillermo Peñarando mantienen una conversación a través de Microsoft Teams, usando una DeepFake de Chema Alonso.

2021 – Voces pre entrenadas

Un elemento fundamental para el éxito total de un ataque de Virtual Replicant utilizando DeepFakes por una videoconferencia es la imitación de la voz. Aunque la imagen sea perfecta, si no hay detrás una voz similar a la persona que se intenta suplantar, el engaño puede fracasar desde el primer momento. Y en esto también se están realizando grandes avances a la hora de clonar y reproducir voces utilizando entonación y diferentes acentos desde que nosotros explicamos el ataque del CEO por videoconferencia que vimos en la parte dos de este artículo, donde la generación del modelo de IA para reproducir voces exigió mucho trabajo.
En inglés ya podemos encontrar servicios que ofrecen este tipo de clonación para por ejemplo, crear audio con tu misma voz partiendo de texto. Es decir, servicios Text-to-speech como los que ofrecen Google Cloud  o Microsoft Azure pero a medida, utilizando la voz que quieras. Una de estas empresas es Descript, la cual (siempre en inglés) ofrece este servicio para casos de uso como podcasters (editando el texto del podcast puedes generar de nuevo el audio), vlogging (lo mismo para editar vídeos), etc. En definitiva, el servicio que se vende es a partir de teclear y escribir texto, generar audio con las voces que queramos. Y lo más importante, diciendo lo que queramos. Esto unido a la DeepFake de vídeo, finalmente obtendríamos la preciada combinación perfecta del engaño: vista y oído.

Para la demo que hicimos para la conferencia de OpenExpo, utilizamos esta solución Open Source que ofrece buenos resultados con sólo unos segundos de vídeo. Además cuenta con un entorno gráfico lo que facilita realmente su utilización. Esta aplicación nos permite clonar una voz subiendo unos segundos de audio, y luego nos permite escribir el texto que queramos para que la voz clonada reproduzca el texto escrito. La aplicación lleva de ejemplo varias voces las cuales tienen una calidad excepcional y reproducen perfectamente el texto escrito (recordemos que en inglés, en español no hemos visto aún una solución con este nivel de calidad de audio).

Figura 40: Creación de Voz de Chema Alonso con Real-Time Voice Cloning

Para realizar esta clonación se implementó el artículo científico SV2TSS (Transfer Learning from Speaker Verification to Multispeaker Text-To-Speech Synthesis) donde se implementó también un vocoder en tiempo real. Por lo tanto, el camino para clonar las voces está más que avanzado y pronto veremos aplicaciones que integren ambos, imagen y sonido para poder generar DeepFakes en tiempo real y democratizar la generación de Virtual Replicants para todo el mundo.

Detección 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 sólo 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. 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.

Figura 41: Clasificación de técnicas para detectar DeepFakes

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 43: 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. El artículo de "Exposing Deep Fakes using inconsistent Head Poses" es un claro ejemplo de estas técnicas.
  • 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 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 espectogramas, tanto del original como de la supesta réplica. Nosotros realizamos una aproximación a estas técnicas en nuestro artículo para reconocer el ruido de las motocicletas.
2019 - FaceForensics++

Para que los investigadores especializados en la detección de DeepFakes, se ha creado este repositorio llamado FaceForensics++ con un repositorio de ficheros para su estudio que recoge vídeos DeepFake creados con cinco técnicas diferentes de FaceSwapping, como son Face2Face, FaceSwap, DeepFakes (técnica) y Natural Textures, además de FaceShifter. Es un repositorio abierto a estudiantes y gestionado por investigadores de Google

Figura 44: 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.

En la siguiente parte de este artículo, continuaremos hablando de más técnicas de "Blade Runners", es decir, para detectar a Virtual Replicants que estén utilizando modelos creados con técnicas de DeepFakes.

1 comentario:

Jos dijo...

En espera parte 5 de 5

Entrada destacada

10 maneras de sacarle el jugo a tu cuenta de @MyPublicInbox si eres un Perfil Público

Cuando doy una charla a algún amigo, conocido, o a un grupo de personas que quieren conocer MyPublicInbox , siempre se acaban sorprendiendo ...

Entradas populares