lunes, julio 26, 2021

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

Al comienzo de la mítica película Blade Runner, aparece una escena icónica que todos los fanáticos de la Ciencia Ficción con mayúsculas no olvidamos. Nos referimos a aquella en la que un agente “Blade Runner” está haciendo una prueba (test de Voight-Kampff) a una “persona” para detectar si realmente es humano o no lo es. Lo primero que llama la atención es lo complicado que es detectar si una persona es real o no, lo que implica que la tecnología es tan avanzada que es fácil engañar a otros con una replica (de hay el término “Replicantes” que se utiliza durante la citada película) de un ser humano. Y algo parecido está ocurriendo, salvando las distancias, en el mundo digital y la ciberseguridad. Estamos hablando de las DeepFakes utilizadas para crear Virtual Replicants que puedan ser utilizados en tiempo real a través de vídeo conferencias o en grabaciones de vídeo digital.

Figura 1: Un historia de Blade Runners & Virtual Replicants (Parte 1 de 5)

En vez de clones o replicantes biológicos, esta vez nos referimos a replicantes digitales que llamamos "Virtual Replicants". O mejor dicho, modelos de inteligencia artificial entrenados en clonar personas, ya que la idea de una DeepFake es suplantar la identidad de otra persona, ya sea en vídeos grabados o incluso a través de una reunión virtual, como veremos más adelante. Y como ocurre en la película, la detección de dichos replicantes digitales no es nada sencilla.

Veremos que existen métodos “técnicos” como el análisis de metadatos de los ficheros, o detección de las trazas de los algoritmos utilizadoss en las operaciones de convolución ,por ejemplo, hasta otras aproximaciones más “laterales” como por ejemplo detectar la frecuencia del parpadeo de los ojos del replicante o el reflejo de las pulsaciones del corazón en la piel, que serán nuestro test de detección de Virtual Replicants para saber si estamos hablando de una persona o no.

Figura 2: Boceto de la máquina Voight-Kampff. Fuente:

Esto ya no es problema del futuro, es un problema de ahora. Durante el mes de abril de 2021 ya vimos el primer “supuesto” caso de uso de un Virtual Replicant aplicado a un engaño en videollamada el cual se realizó con éxito, llegando a hacer creer a interlocutores de la UE que realmente la persona detrás de la pantalla era realmente la que ellos pensaban, del cual hablaremos de nuevo más adelante por que tiene sorpresas.

Y esto irá seguro a más. A medida que se “democratice” el uso de estas tecnologías, veremos engaños más y más difíciles de detectar. Recordemos que el éxito de estos engaños está relacionado con la calidad y definición de las imágenes que generan los modelos entrenados de inteligencia artificial para reproducir personas de forma realista en tiempo real, y eso se consigue utilizando computación. Y como ya sabemos, cada día tenemos más y más potencia de cálculo al alcance de la mano. Por lo tanto, vamos a necesitar “Blade Runners” digitales para poder enfrentarnos a esta nueva amenaza de los "Virtual Replicants".

DeepFakes, FaceSwapping y GANs en Ciberseguridad

Las DeepFakes han entrado en nuestra vida desde hace unos años. El rápido avance de esta tecnología y su democratización es algo que está rompiendo barreras y lo que hace unos años era complejo de montar y desplegar, hoy día se puede hacer con pequeñas aplicaciones que llevamos en el bolsillo. La intención de este artículo es mostrar ciertos aspectos como puede ser la generación de vídeos, tanto en su modo FaceSwapping que se focaliza en la suplantación de caras o algo más avanzados y complejos como es un modelo de IA entrenado con una GAN que genera a un replicante digital completo en tiempo real. 


El poder en el ámbito de la desinformación y la manipulación que puede tener este tipo de tecnología es muy alto, ya que estamos viendo y escuchando a personas públicas comunicarnos algo muy elaborado y puede que lo que estemos viendo sea un replicante virtual, por lo que tendremos que afinar los test de detección para saber qué es real y qué no es real. En el año 2018 el ex-presidente Barack Obama, impresionado por esta tecnología, y por las Fake News, dijo que para los políticos hoy en día porque antes discutían por si algo que estaba pasando estaba bien o mal, y hoy, tienen que discutir por si algo está pasando o no de verdad.


Figura 3: DeepFake de de Barack Obama

Y es que uno de los primeros ejemplos que fascinó al mundo fue con el vídeo de Barack Obama dondese utiliza IA para crear una representación de los gestos de su cara y su boca, mapeada con un audio de voz sintetizada con la que se puede suplantar y hacerle decir cualquier cosa. Una herramienta peligrosa de cara a los posibles mensajes a la población que se pueden decir. 


Figura 4: Steve Buscemi & Jennifer Lawrence Deepfake con FaceSwapping

En el segundo vídeo se puede ver como la cara del actor Steve Buscemi aparece suplantando a la actriz Jennifer Lawrence solo como forma de explicar su pontencial para la generación de vídeos que pudieran ser realistas a la hora de incriminar o difamar a una personalidad pública, pero que hoy en día también se utiliza masivamente en el mundo del cine.

La generación de noticias falsas con contenido audiovisual es una de las posibilidades que se muestran, como explicamos en el año 2018 en nuestra charla de Security Innovation Day. Ya sabíamos que las FakeNews están aquí desde hace mucho tiempo, pero el uso de la tecnología masivamente cambió el mundo, como vimos con el escándalo de Cambridge Analytica, que dio la vuelta al mundo y nos metió de repente en un nuevo futuro. Viendo esto, es fácil entender el importante papel que tendrá la IA en la detección de Virtual Replicants

La realidad es que la IA con modelos de Machine Learning ya está presente en muchos procesos en ciberseguridad, dónde aporta un valor añadido para detectar ciertas amenazas. En nuestro libro se puede ver el estudio de detección de anomalías de red llevado a cabo por Carmen Torrano y Rafa Sánchez. Mediante la aplicación de un algoritmo de aprendizaje supervisado basado en clasificación se puede entrenar a una máquina para diferenciar entre tráfico legítimo y tráfico anómalo. Mediante la etapa de puesta en producción la máquina debe ser capaz de diferenciar entre tráfico legítimo o normal de lo que es tráfico anómalo. 

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

Y son muchos los proyectos que usan Inteligencia Artificial con modelos de Machine Learning que se van metiendo en nuestro mundo de cibersegurdiad día a día, com PhishAI, o los proyectos de passowrd guessing, esteganografía y cracking basados en GANS de los que ya os hablamos en el artículo de GANs: Inteligencia Artificial y Ciberseguridad.

Faceswapping y autoencoders

Centrandonos en FaceSwapping, DeepFakes y Virtual Replicants, la primera tecnología que hay que entender son los autoencoders, que es fundamental para el proceso de suplantación de caras de forma realista. Un autoencoder trabaja con un espacio dimensional reducido para simplificar el problema. En otras palabras, de una imagen se hace una reducción de dimensionalidad captando ciertas características que nos permiten generar lo que para nosotros será un vector base o estado latente de construcción de una cara. Podemos decir que capturan elementos base de una cara para, posteriormente, desde ese vector base poder reconstruirla con la menor pérdida posible de calidad y pasando las validaciones de autenticidad que pongamos.

Figura 6: Extracción de estado latente o vector base de una cara

Gracias a esta tecnología potente de autoencoders, y que bien entrenada permite llevar a cabo un faceswapping. Durante los últimos años, las tecnicas de suplantación de caras ha mejorado bastante, y se puede ir viendo en la evolución que vamos a mostrar después. Requiere menos entrenamiento que hace un par de años y los resultados son mejores.

Podríamos resumir el proceso de manera sencilla con el ejemplo de suplantación de un fotograma de un vídeo. Supongamos que queremos poner la cara de Chema Alonso en un vídeo de Axl Rose. Para ello lo primero será buscar caras de Chema Alonso en diferentes vectores base. Después buscar qué vector base de las caras de Chema Alonso se asemeja más al vector base de la cara de Axl Rose que se quiere suplantar. Una vez hecho, un modelo de Inteligencia Artificial deberá ir refinando los colores, fondos, sombras, gestos, etcétera, hasta que consiga un imagen suplantada con una calidad suficiente como para engañar a un sistema de reconocimiento facial de Chema Alonso - implementado por otro modelo de inteligencia artificial -.


Figura 7: Autoencoder y decodificación cruzada para el FaceSwaaping

En el caso del faceswapping el objetivo es utilizar las facciones de la imagen A y obtener una salida con el rostro de la imagen B. Si nos fijamos en el siguiente ejemplo, la imagen A pasa por un encoder que obtiene el "espacio latente" o "vector base", con las características necesarias capturadas para poder reconstruir la imagen A, pero el vector base o espacio latente lo pasamos por el decoder de B, por lo que obtenemos las facciones de la imagen A con la cara de la imagen B. De esta forma funciona el faceswapping con autoencoders.

Si analizamos el proceso, para hacer un buen Faceswapping necesitaremos:

- Datos de entrada de la cara de la persona a poner en el vídeo: Formado un conjunto suficiente de caras de las que poder sacar un mayor número de estados latentes en posiciones de la cara lo más similares posibles a las que se van a utilizar en el vídeo final, para poder hacer una decodificación en la cara destino que de la base del entrenamiento.

- Un modelo de inteligencia artificial que refine el modelo para conseguir una imagen cada vez más realista de la persona a suplantar. Esta IA será el Generador (G) de imagenes con las cara suplantando intentando ser más realista cada vez.

- Otro modelo de inteligencia artificial que reconozca bien a la persona suplantada. Es decir, alguien que diga si en la imagen final está la cara de la persona a suplantar o no. Este será un modelo de inteligencia artificial focalizado en reconocimiento facial, llamado Discriminador (D), que le dirá al Generador si la cara que le ha dado la da como buena o no. Si el Discriminador no la da como buena, el Generador deberá seguir refinando la suplantación.

Con este proceso, necesitaremos utilizar un algoritmo de autoecoder para suplantar las caras en estado latente más aproximadas, datos de entrada para la IA del Generador formados por las caras de la persona a introducir en el vídeo final, y una IA entrenada - el Discriminador - para reconocer facialmente a la persona a la que se quiere suplantar. Al final, de lo que se trata es de que el Generador suplante las caras en un fotograma y las refine hasta que engañe al Discriminador. Cuando lo haya hecho tendremos una suplantación realista de la cara que engañará a las personas igual que ha engañado al Discriminador. Esa es al base de la teoría, y para ello utilizaremos una GAN (Generative Adversarial Networks).

GAN (Generative Adversarial Networks)

En el caso de las GANs tenemos el siguiente esquema que se puede ver en la imagen. Son dos redes neuronales enfrentadas. Uno es el Generador y otro el Discriminador. Lo que hacen es un juego de suma cero. Competirán el uno con el otro para ver si el generador engaña al discriminador o no. En otras palabras, el Generador (G) generará imágenes falsas y el Discriminador (D) comparará imágenes de entrenamiento reales con la imagen generada por el generador. 

Figura 8: GAN para FaceSwapping usando Autoeconders

Cuando el Generador engañe al Discriminador y éste no sepa diferenciar cuál es la real, el Generador ha ganado y cuando el Discriminador sepa diferenciar cual es la falsa, el Discriminador gana. El entrenamiento de las GANs funciona así:
  • G (generador) genera muestra y se las pasa a D (discriminador). Es decir, G intenta engañar a D.
  • D estima la probabilidad de que la muestra provenga de G (D intenta descubrir a G).
  • Entregar D para desenmascarar a G maximizando la probabilidad de que D esté equivocado.
  • Indicar a G cómo de cerca ha estado de engañar a D.
Hay una serie de riesgos en el entrenamiento de GANs, que también se comentaron y que son:
  • El tiempo de entrenamiento es largo, siempre dependiendo de los recursos que se utilicen y se dispongan.
  • El modelo puede no converger.
  • G se queda estancado y no genera muestras válidas o variadas.
  • D se hace demasiado bueno y condena a G.

domingo, julio 25, 2021

La costura más gastada

Hoy me levanté muy temprano. Quería correr. La semana pasada no pude. Mucho trabajo. Solo eran cinco kilómetros lo que me puse a tirar. Se trataba de no perder ritmo. De conseguir mantenerne activo. De cuidarme. De hacer que la sangre se mueva para que llegue fresca a la cabeza. Me puse música cortavenas. De la que me gusta. Salí a las siete. Y me forcé a pensar en sobre qué iba a escribir hoy. Tengo un artículo largo de la charla de Blade Runners & Virtual Replicants que sacar, y pensaba si el día de comenzar a publicarlo era hoy domingo. Pero mis pensamientos tomaron su propio camino.

Figura 1: La costura más gastada

Mientras daba cada zancada, durante la poco más de media hora de trayecto trotando, los pensamientos eran sobre mil cosas. Y ninguna tenía que ver con si publicaba o no hoy la primera parte del artículo. Cada vez que mi cuerpo golpeaba el suelo era como si se hiciera zapping aleatorio en mi cabeza, pero enlazado con el anterior. Y ese pensamiento podría derivar hacia cualquier sitio. Era como si el cansancio, el calor, la música triste, el microsegundo del instante en que golpeaba el suelo, fueran los parámetros de entrada de la f(cabeza) y el resultado fuera impredecible.

No publicar ningún artículo hoy era una opción en la terna final de mi cabeza. Publicar todos los días es un ritmo autoimpuesto, como el de las marcas que se ponen los runners o ciclistas. Yo me lo impuse y como tal puedo cancelarlo. Publicar la primera parte del artículo de los Virtual Replicants era otra opción más que probable - como ya os dije al principio -, que se irá al final a mañana lunes. Pero por qué no quería hacer ninguna de esas cosas era algo que aún tenía que trabajar.

La verdad es que me apetecia sentarme a ver qué salía de mis dedos. Ese "Braindump" que hago tantas veces que me descarga electricidad de la cabeza. De esos ejercicios juguetones con mi cabezón de los que en ocasiones salen cosas cursiosas. Cuentos. Historias. Cartas. Reflexiones sobre la sociedad. La vida. Recuerdos que son importantes. Criptex. Recuerdos que serán permanentes. Grabaciones esteganografícas a fuego. Mensajes que me llegan por la noche en sueños. El mismo día. Años después. Textos que para mí son joyas en mi lado del mal más personal. De esos que cuando repaso, y me topo con ellos, leo con fruicción.

Es como codificar un recuerdo en una bolita. Sea azul. Amarillo. O de los dos.  E incluso rojos y verdes. Y es tan real como que pasa en mi cabeza en un mometo del tiempo del universo. Está codificado con los comandos de mi yo. Con el panel de control que tengo dentro. Y esos recuerdos especiales quedan en forma de posts en la estatería de los años. Para que me los encuentre con el tiempo. Y los pueda poner otra vez a reproducir para volver a cambiarlos. Y no son ni verdad. Ni mentira. Ni inventados. Es solo que la realidad de cada uno se la cuenta cada cual a sí mismo como quiere.

El plan de hoy se tornó en seguir corriedo y después soltar los dedos en la pantalla en blanco, y ver por qué estaba mi cabeza así. Porque el sueño de anoche fue tan perturbador. Porque me levante sobresaltado tan temprano recogiendo los pedazos de una fantasía que se escapaba entre los dedos. Acariciando virutas de una sensación extraña que se disolvía a cada segunto. Y que era tan desconocida para mí. 

Y volví a golpear contra el suelo. Y sonaron los Sick Puppies con su "There's no going back". Y mi menté entró en otro nivel oculto del juego de esta carrera mañanera. Nuevo hilo argumental en una reflexión de muñecas rusas recursivas asociado a la reflexión de "Eppur si muove" del otro día.

¿Por qué? ¿Qué había en mi cabeza?

Al final los pensamientos, las sensaciones, las emociones, a diferencia del conocimiento, acaban ocupando lugar dentro de uno mismo. Y mi - ¿nuestra? -  F(cabeza) es una función de tipo olla-exprés que acaba rompiendo y dejando salir la presión por la costura más gastada. Y de ahí acaba en la estantería del calendario del blog en forma de bolita de color. Con lo cual, al final, este lado del mal, tiene sus propios biorritmos humanos basados en una función que rige el ritmo de publicación. Y siempre va hacia delante. Se mueve. Se mueve en función de intereses, preocupaciones, vivencias, anhelos, elucubraciones, reflexiones o preocupaciones. O sueños. Todo ello indexado con un sello de tiempo que solo tiene dirección al futuro, y un tempo, el de a la velocidad que vivo yo.

Esos biorritmos, esas bolitas, por supuesto, también están en las charlas, las publicaciones en las redes sociales, artículos, no solo míos, sino de todas las personas. Y se nota cómo alguien ha ido cambiando su biorritmo a lo largo de los años. Como su espacio ha dio perdiendo color, ganando madurez, alegría o sufriendo vivencias. No solo aquí. También en tus canales. Dicen todo de nosotros aun no diciendonos nada. Y como el arte, que es subjetivo y nos dice cosas solo a los espectadores, nos atrae, nos engancha o nos trastoca por dentro las entrañas. Como espero que suceda con los biorritmos de publicación de este blog al verlo como una obra a lo largo del tiempo. Que vengas a él porque.... solo tú lo sabes.

Por eso, si vienes a ver la parte de ciberseguridad, el hacking, y los artículos más tecnológicos, este es otro tipo de latido. No te preocupes. Mañana comienza un artículo de muchas, muchas, muchas letras que acompaña la charla de los Virtual Replicants. Pero si vienes porque te gusta saber qué pasa por mi cabeza, comprobar cómo va todo, si la bradicardia mejora o no, o si sigo siendo tan maligno como siempre... te he dejado una paranoia de reflexión en este artículo. Lo cual me hacía mucha malignidad, no creas. Pero cuidado no ates cabos a cosas locas de otras estanterías, que el sello de tiempo es hoy. Así que si por la randomización de tu biorritmo te parece que pudiera ser igual, recuerda que... eppur si muove, aunque lo ates con cuerdas.
 
¡Saludos Malignos!

Entrada destacada

Hacking IA: Jailbreak, Prompt Injection, Hallucinations & Unalignment. Nuestro nuevo libro en 0xWord

Pocas veces me ha hecho tanta ilusión que saliera un nuevo libro en 0xWord como con este libro de " Hacking IA: Jailbreak, Prompt Inje...

Entradas populares