viernes, abril 12, 2019

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

Con estas tecnologías hemos visto ya varias posibilidades. La primera de ellas, que vimos en la segunda parte, sería utilizar las técnicas de Face Swapping para, utilizando técnicas de Inteligencia Artificial, crear un vídeo falso difamatorio de una persona a partir de un vídeo creado por un actor. Esto se podría usar para campañas de difamación personal, o para esquemas de Fake News en campañas políticas.

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

La segunda de las posibilidades es la que hemos visto en la tercera parte de este artículo. Crear un sistema que utilice Visión Artificial para controlar en tiempo real la recreación de una persona como si fuera un streaming de vídeo, y esto abre muchas posibilidades para ataques contra empresas o personas.

En esta cuarte parte vamos a comentar un par de ellas, que pueden ser especialmente relevantes hoy en día y en un corto espacio de tiempo.

Caso 4: Estafa del CEO/CDO

Esta demo que hicimos era la primera versión de la estafa del CEO/CDO. A través de las Generative Adversarial Networks (GAN) se genera la imagen en movimiento que se quiera emitir por un canal de vídeo, haciendo lo que al atacante le interesaría que esa persona real hiciera en una conversación, por ejemplo, de vídeo-conferencia.

Si eres capaz de conseguir a cualquier empleado de una organización que está hablando con uno de sus jefes, probablemente sea mucho más sencillo conseguir que ese empleado haga cosas que no entienda, pero que ayuden al atacante a realizar una estafa.

Pero para que ese esquema de enviar esa imagen por un streaming de vídeo conferencia, nos faltaba el audio que deseábamos que esa persona dijera. Una imagen es más creíble que mil palabras, así lo dice el refrán, pero se necesita de un audio que parezca real si queremos simular una llamada, por ejemplo, a través de un Skype o de un Google Hangout.

Neural Text-To-Speech (TTS)

Utilizamos para creare este audio un servicio de Microsoft llamado Microsoft Custom Voice. Este servicio genera un modelo personalizado de voz para la persona que se quiere suplantar. Está basado en Deep Neural Networks y permite mejorar pronunciación y entonación del resultado final de manera que se puede adaptar cómodamente. La idea era crear primero una Custom Voice para Chema Alonso y luego usar el servicio de Neural Text-To-Speech para conseguir emitir cualquier frase que quisiéramos.

Figura 28: Servicio de Neural Text-To-Speech en Azure

Quedamos muy sorprendidos de la potencia del servicio de Neural Text-to-Speech (TTS) Microsoft. Si quieres conocer en profundidad más detalles de cómo funciona, o se puede utilizar, puedes encontrar más información sobre el servicio en la web de Azure en Microsoft.

Figura 29: Comparativa de Neural TTS contra Traditional TTS

Custom Voice

¿Cuál fue el proceso paso a paso que utilizamos para generar el audio necesario para hacer la demostración completa de suplantación usando una Custom Voice de Chema Alonso en inglés?

Para generar la voz de una persona que se quiere suplantar se debe generar un modelo entrenado que luego podrá utilizarse para poder crear cualquier frase o expresión de voz que se desee.

1. Ficheros de audio de entrenamiento:
Para poder generar el modelo descargamos audios, en formato WAV, desde vídeos en Youtube. Eso sí, el servicio solo genera audios con acento inglés o chino, así que nos vimos restringidos a que el resultado final no fuera en Español - lo deseable si quieres suplantar a Chema Alonso -. En este caso, elegimos el inglés que el chino se nos hacía un poco más complicado.
2. Trozos de audio:
Al final, obtuvimos 314 trozos de 30 segundos de duración cada uno que nos servirían para entreanr el modelo. En total sumaban unas 2,61 horas de Chema hablando inglés de alguna de las conferencias que da fuera en España.
3. Transcripción a texto:
Posteriormente, había que pasar esos audios con sus correspondientes transcripciones. Y en este caso, para realizar dicha tarea utilizamos un servicio de Google Cloud llamado Google Cloud Speech-to-Text API.
Figura 30: Servicio de Google Cloud Speech-to-Text 

4. Generación del modelo de Neural Text-to-Speech
Una vez obtenidas todos los audios y todas sus transcripciones, las subimos al servicio de Microsoft Neural Text-To-Speech para obtener un modelo de Inteligencia Artificial entrenado con la voz de Chema Alonso hablando en inglés. 
Figura 31: Documentación sobre cómo crear una Custom Voice en Azure Cognitive Services

5. Despliegue uso en el servicio de Neural Text-To-Speech
Una vez el modelo se ha generado correctamente se despliega y ya se puede utilizar como el resto de los modelos de voz que el servicio tiene habilitados. Solo queda pasarle texto y el modelo genera la voz de la persona.
El resultado que tuvimos fue una voz que se identificaba con Chema Alonso, pero que tenía un toque metálico. Seguramente nos faltaron muestras de audio suficiente para entrenar el modelo. También faltó algún detalle más de pre-procesado de los recursos y de post-prrocesado del resultado, pero se identificaba claramente que la voz era de Chema Alonso.

Ahora ya podíamos enviar el streaming de vídeo y audio por un sistema de vídeo conferencia como Skype para hacer real la llamada suplantando a una persona, por ejemplo el CDO de una empresa, y engañar a una víctima pidiéndole que hiciera una u otra cosa.

Figura 32: Suplantando la voz de Chema Alonso en una llamada por Skype

Además, se hizo un ejercicio de post-producción en el vídeo de Chema Alonso llamando por Skype para hablar como Chema Alonso (aunque fuera en inglés) y que la víctima viera a Chema Alonso. Si lo que ves y lo que escuchas te es conocido, confiarás con mucha más facilidad. Es de esto de lo que debemos concienciarnos y ser capaces de poner en tela de juicio lo que vemos y escuchamos.

Más riesgos con sextorsiones o con los menores

Queda claro que una Inteligencia Artificial puede generar vídeos o imágenes de una persona a través de un entrenamiento con las facciones o gestos que queramos. Además, se puede mapear una voz a ese vídeo de forma que se hace complejo detectar, a simple vista, que estamos ante un elemento falso. Y esto abre un enorme mundo de posibilidades en el mundo de los depredadores.

En el mundo de las Sextorsiones, donde se hace uso de vídeo conferencia para mantener relaciones de sexting, las víctimas pueden ser engañadas creyendo que hablan con una determinada persona y siendo realmente un vídeo creado en tiempo real por una Inteligencia Artificial.

Pero mucho peor cuando un depredador de menores quiera hacer creer a su víctima que tiene su edad y utilice AIs que suplanten a menores para ganarse su confianza. El mundo de delitos ante el que nos podemos encontrar en el futuro puede ser desolador.

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:

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