¿Qué es Deep Fake y cómo se hace?

Cómo hacer un deep face

Todo lo que debes saber sobre Deep Fake

Hoy día son frecuentes los ciberdelitos y la tendencia va en aumento, por lo que cada vez es más imperiosa la necesidad de protección frente a estos ataques, entre los que podemos destacar los que usan técnicas como: phising, smishing, inserción de malwarekeyloggers, botnets, pharming, carding, skimming, fraude del CEO, rogues y un largo etcétera.  

Muchos de estos ataques tienen como primer vector de ataque diferentes técnicas de ingeniería social, la cual consiste en manipular a una persona para que esta realice aquello que el ingeniero social le propone. Una de las técnicas más recientemente usadas es el Deep Fake, la cual ya existía desde los años 70 pero cuyo éxito se ha visto avalado en la actualidad por la facilidad y calidad que permiten la tecnología moderna.  

Todos somos vulnerables a un mensaje de nuestro “jefe” pidiéndonos las contraseñas de una cuenta, o incluso una transferencia. En el cao de este estudio vamos a analizar cómo se ha usado esta técnica para la desinformación en la guerra de Ucrania con una noticia reciente que muestra que se confundió a la población con un video en el que quien parecía ser el presidente Zelenski ordenaba la retirada a sus tropas.  

En este trabajo explicamos qué es un Deep Fake, mostramos la herramienta y los pasos para realizarlo y hacemos un ejercicio práctico similar a lo que le han hecho a Zelenski. En este caso adjuntaremos un video en el que se ve a Romuald Fons con el rostro del Fernando Alonso, el piloto asturiano de Formula 1.  

La ingeniería social es “cualquier acto que influencia una persona para que realice acciones que puede o no estar entre sus intereses”.   

(Christopher Hadnagy, 2018)

Noticia:  

El primer ‘deep fake’ usado en un conflicto armado muestra a Zelenski rindiéndose 

El primer ‘deep fake’ usado en un conflicto armado muestra a Zelenski rindiéndose (elconfidencial.com) 

 

 

‘Hackers’ rusos han publicado un vídeo falso del presidente Zelenski ordenando la rendición del Ejército y el pueblo ucraniano. Es el primer uso de desinformación con ‘deepfake’ como arma en un conflicto militar 

Deepfake video of Volodymyr Zelensky surrendering surfaces on social media 

Ingeniería Social como vector de ataque 

Para comprender cómo se ha perpetrado este delito de suplantación de identidad profundizaremos primero en los usos de la ingeniería social como vector de ataque por ciberdelincuentes.  

Si bien existe una gran cantidad de técnicas de ingeniería social, en este estudio vamos a profundizar sobre una de las que están más de actualidad y que puede ser casi indetectable por la víctima que no se lo espera, se trata del DEEPFAKE o ultra falsificación, una técnica considerada muy peligrosa por los investigadores.  

¿Por qué se usa la ingeniería social como principal vector de ataque? 

“Una cadena es tan fuerte como su eslabón más débil” dice un refrán. En el caso de las tecnologías de la información es eslabón más débil es el usuario. Vencer cortafuegos sucesivos, sistemas con encriptación simétrica o asimétrica, antivirus y protocolos de seguridad puede ser una tarea muy ardua y frecuentemente innecesaria si aprovechamos la debilidad del eslabón humano para encontrar un vector de ataque más sencillo.  

¿Por qué el eslabón humano es el más vulnerable?  

Porque generalmente los usuarios de un sistema no son expertos en ciberseguridad ni en el propio sistema que manejan. Son la parte más vulnerable. Los seres humanos no actuamos de acuerdo a rígidos protocolos como las máquinas y somos influenciables y manipulables. Pueden usarse en nuestra cuenta nuestros propios reflejos y cualidades.  

Según uno de los hackers más famosos de la historia, Kevin Mitnic, el éxito de la Ingeniería Social radica de las siguientes pautas: 

      • Todos queremos ayudar 

      • No nos gusta decir que no 

      • La primera actitud suele ser de confianza hacia otra persona 

      • Nos gusta que nos alaben 

    Hay un sinnúmero de técnicas de ingeniería social que se usan para obtener información esencial para el ataque directamente de los propios usuarios de los sistemas. Podemos destacar brevemente algunas de las más conocidas:  

        • Phishing, Suplantación que a su vez puede tener variantes:  

          • Smishing (SMS phishing) 

          • Vishing (mediante comunicación por voz) 

          • Spear Phishing (con uso de técnicas OSINT de recopilación de información sobre la víctima).  

          • Whaling (Spear phishing orientado a ejecutivos de alto nivel).  

            • Spim (Spam sobre mensajería instantánea).  

            • Dumpster Diving (Buscar en la basura).  

            • Sholder Surfing (Mirar directamente lo que escribe por teclado la víctima).  

            • Pharming (Mezcla de phishing con Farming para redirección a otra web mediante manipulación del servidor DNS).  

            • Tailgating (Seguir a una persona y usar reciprocidad y cortesía para acceder a zonas restringidas).  

            • Elicting Information (Obtener información de la víctima sin usar preguntas directas, por ej. Mediante una equivocación deliberada). 

            • Prependy (Usar el nombre de la víctima al comienzo de un mensaje para generar confianza y sintonía).  

            • Hoax (Manipular a la víctima para que haga algo que desproteja el equipo).  

            • Impersonating (Simular un oficio o identidad).  

            • Watering Hole Attack (Infectar a un tercero que es usado por la víctima y cuyo ataque es más fácil).  

            • Typo Squatting (URL hijacking o suplantación con dominio similar)  

          A esta lista, que no pretende ser exhaustiva añadimos la técnica de Deepfake o ultra-falsificación por estar de actualidad. Pero antes de pasar a estudiar el deepfake vamos a compartir una infografía sobre las fases de ataque preparada por la Oficina de Seguridad del Internauta (OSI):  

          Fases de la Ingeniería Social:  

          Como puede verse en la infografía, las técnicas de ingeniería social en general implican cuatro fases:  

              1. Recolección de información: Obtener información sobre la víctima para ir creando un vector de ataque. 

                1. Relación de confianza: En base a la información obtenida en la fase anterior, se prepara un gancho con el que atraer a la víctima y establecer confianza. 

                  1. Manipulación: Ejecución del ataque en el que se buscará conseguir determinado objetivo. 

                    1. Salida: Se corta la interacción con la víctima y se intentan borrar las huellas. 

                  ¿Qué es Deepfake? 

                  Un deep fake es un vídeo en el que se muestran imágenes falsas, habitualmente del rostro de una persona, que parecen ser reales y que se han producido utilizando inteligencia artificial; en concreto, se trata de técnicas de machine learning denominadas deep learning (aprendizaje profundo), que utilizan algoritmos de redes neuronales. 

                  La falsificación o alteración de fotografías no es una práctica nueva, pero la inteligencia artificial permite no solo alterar imágenes, sino también crearlas. Hasta hace unos pocos años, era tan costoso sustituir un rostro en unos fragmentos de vídeo que únicamente algunos estudios de cine podían afrontar los cientos de miles o millones de euros que costaba. Ahora mismo, la tecnología ha avanzado muchísimo y cualquier persona puede hacer un deep fake con mayor o menor calidad

                  Es muy importante destacar dos aspectos: la verosimilitud y la finalidad. Los primeros deep fakes tenían unos resultados bastante mediocres y poco creíbles. Conforme se han ido produciendo avances en machine learning, los resultados son asombrosos y cada vez más difíciles de detectar. Por otro lado, es fundamental la intención con la que se ha creado el vídeo. No es lo mismo utilizarlo con fines científicos o para crear contenidos autorizados que para generar información falsa. La ley no regula el uso de la tecnología, pero sí la finalidad con la que se utiliza. 

                  ¿Cómo actuar tras sufrir un deepfake? 

                  Tras sufrir un ataque por deepfake hay que establecer un plan de crisis específico: 

                  En caso de que esto suceda, es aconsejable tener preparado un plan para tenerlo claro desde un principio y hacerle frente, frenarlo y reaccionar a tiempo y con contundencia. 

                  Si tú o tu empresa es víctima de un deepfake, estos son los pasos que deberías seguir: 

                  Paso 1:  Solicitar a la cuenta que lo subió que lo borre: 

                  Si llevamos una correcta monitorización de nuestras redes, podremos enterarnos de estas situaciones al principio y tomar medidas lo antes posible. En este caso, hay que actuar antes de que el vídeo se expanda por las redes sociales. 

                  Paso 2: Denunciar lo ocurrido ante las Fuerzas y Cuerpos de Seguridad del Estado (Policía o Guardia Civil) para que los hechos puedan ser investigados: 

                  No todos estos casos llegan a ser esclarecidos, pero servirá para poner de relevancia la problemática asociada a estos casos. 

                  Lo puedes hacer aquí: 

                  Policía: https://www.policia.es/_es/colabora_portada.php 

                  Guardia Civil: https://www.gdt.guardiacivil.es/webgdt/pinformar.php 

                  Paso 3: Notificar el incidente a INCIBE-CERT o ponerte en contacto con Tu Ayuda en Ciberseguridad de INCIBE si precisas más información sobre este tipo de incidentes. Lo puedes hacer aquí.: 

                  INCIBE-CERT: https://www.incibe-cert.es/respuesta-incidentes 

                  Sección Tu Ayuda en Ciberseguridad de INCIBE:https://www.incibe.es/linea-de-ayuda-en-ciberseguridad 

                  Paso 4: Revisar si tu seguro tiene cobertura ante fraudes basados en deepfake. 

                  ¿Cómo se hace un ‘deepfake’? 

                  Un ataque de deepfake puede constar de dos partes: 

                      1. La primera es la de modificar la cara en el video de destino por la cara de la persona que pretendemos emular y que la tomamos de un video de origen. Para ello usamos por ejemplo el programa gratuito deepfacelab.  

                        1. La segunda es modular la voz en el video de destino para que se parezca a la voz de a persona emulada.  

                      En nuestro estudio vamos a centrarnos en deepfake de caras y mostrar cómo se ha podido perpetrar el fraude de la noticia comentada anteriormente.  

                          • Para hacer un deepfake, solamente es necesario bajarse una aplicación de internet. Hoy en día, hay varias aplicaciones de este tipo que los usuarios pueden encontrar fácilmente en internet, por ejemplo, DeepFaceLab. (VER ANEXO 1: Instalar gratuitamente un software de IA para ataques de tipo DEEPFAKE) 

                            • Después, basta con recopilar los vídeos de las personas que se quieren intercambiar y cargarlos en el programa. Este es el que se encarga de editar las imágenes para suplantar una cara por otra y, aunque en un primer intento puede quedar poco realista, se puede ir ajustando hasta conseguir un resultado muy convincente y realista. 

                          El programa utiliza inteligencia artificial específica para analizar fotografías, convirtiendo la imagen en otra abstracta y, posteriormente, realiza el proceso a la inversa, traduciendo la imagen abstracta en una fotografía. Este proceso lo repite miles de veces, construyendo y reconstruyendo los rostros de las personas que se quieren reemplazar.  

                          De este modo, se utilizan dos vídeos: un vídeo de origen y un vídeo de destino. El vídeo de origen es el de la persona cuya cara se quiere poner en otro cuerpo o situación, concretamente, en el vídeo de destino.  

                          Entre los consejos para conseguir un buen deepfake está, en primer lugar, conseguir un vídeo origen en el que haya mucha información de la cara. Pueden ser varios vídeos, cuanta más información mejor. El vídeo de destino es mejor que sea también uno en el que se vea la cara de frente, ya que de perfil es más difícil que funcione el programa.  

                          En el siguiente vídeo se puede ver un ejemplo de creación de deepfake en el programa DeepFaceLab, creando el nuevo vídeo paso a paso. 

                          🔥¿Cómo hacer un DEEPFAKE de forma fácil? Tutorial ESPAÑOL (DeepFaceLab) – YouTube 

                          TUTORIAL: Pasos para hacer un deepfake con deepfacelab:  

                          Paso 1: Instalar Deepfacelab (Ver Anexo 1). Una vez instalado lo abrimos y la consola nos muestra una serie de instrucciones numeradas, las cuales vamos a usar en una determinada secuencia de pasos. Las opciones que se listan son en realidad pequeños script con extensión .bat que le dan órdenes al computador para que ejecute ciertas acciones sobre lso archivos input o de entrada de información, como van a ser los vídeos con la persona que vamos a emular y los videos con la persona sobre la que queremos poner el rostro de la primera.  

                          Paso 2: Recopilar uno o varios videos en los que esté la cara de origen y juntarlo en uno. Guardarlo con el nombre data_src.mp4 en la carpeta workspace.  

                          Paso 3: Preparar un video de destino al que tan sólo le vamos a sustituir la cara para emular a otra persona y guardarlo como data_dst.mp4 en la carpeta workspace. 

                          Paso 4: Hacemos un limpiado de datos residuales de la carpeta workspace con el comando 1º) Clar workspace.bat 

                          Paso 5: Extraemos las imágenes del video de origen con el comando 2) Extract images from video data_src.bat 

                          Paso 5: Seguidamente, para extraer las imágenes en el video de destino usaremos el comando 3) Extract images from video data_dst FULL FPS.bat 

                          Paso 6: Extraemos imágenes concretas de la cara a suplantar usando el comando 4) data_src faceset extract.bat 

                          Nos va a salir una consola con opciones en las que siempre podemos dar a intro para seleccionar la opción por defecto que nos ofrece ya que esta va a ser generalmente la as adecuada en nuestro caso y con nuestro hardware:  

                              • Escoger entre GPU y CPU (Generalmente mostrará GPU por defecto) 

                              • Pregunta por el tipo de cara (Por defecto selecciona wf).  

                              • Nº máximo de caras por imagen. (Por defecto 0 que significa una imagen).  

                              • Tamaño de imagen (Por defecto 512 que es el tamaño máximo actual que admite el programa, el cual sólo admitía 64 píxeles al principio).  

                              • Calidad de imagen en formato jpeg (En nuestro caso a dado 90 por defecto).  

                            Paso 7: Eliminaremos manualmente imágenes erróneas que no son la cara de origen. 4.1) data_src view aligned result.bat

                            Paso 8: Extraemos la cara de destino con la opción 5) data_dst faceset extract.bat 

                            Paso 9: Usamos la opción 5.1) para eliminar las caras erróneas.  

                            Paso 10: Iniciamos el entrenamiento de la Inteligencia Artificial. Para ello se realizarán sucesivos ciclos de creación de imágenes. No hay un número óptimo de iteraciones, sino que depende de si es una imagen con una cara pequeña, en cuyo lugar podría requerir ITER = 200.000 o si es una cara más grande podría requerir 200.000 ITER o incluso 500.000 o más. Para ejecutar este paso hacemos uso de la opción 6) train Quick96.bat y cuando queramos finalizar el proceso tecleamos INTER para guardar y cerrar. Para ver el progreso de las interacciones pulsamos de vez en cuando la letra P. 

                            Paso 11: Usamos la opción 7) merge Quick96.bat para hacer unos ajustes manualmente y terminar de afinar el resultado obtenido. Con esto se nos abre la consola que mostramos en la siguiente imagen:  

                            Explicamos algunas de las funciones más esenciales:  

                                • Comenzamos a ajustar el resultado pulsando la tecla switch screens.  

                                • Podemos usar E y D para aumentar el desenfoque de la máscara.  

                                • R permite aplicar un desenfoque de movimiento.  

                                • U y J sirven para ajustar el tamaño de la cara al cuerpo de destino.  

                                • Shift + > Pulsados a la vez permiten terminar el proceso y aplicar esta máscara al resto de fotogramas. 

                                • Damos a ESCAPE y pasamos al último paso, la exportación a archivo de formato ejecutable.  

                              Paso 12: Usamos uno de los comandos numerados con el 8. Podemos escoger entre las opciones de guardado en formato avi, mov y mp4 (este último sin pérdida). La que usualmente recomendamos es la opción 8) merged to_mp4 lossless.bat aunque también podemos usar la de previsualización.  

                              Si optamos por la previsualización escogeremos la opción marged to mp4.bat y tras ejecutarla se abre una nueva ventana de línea de comandos. Esperamos a que procese, tecleamos ENTER y tras ello usamos el explorador de archivos para volver a la carpeta workspace y dentro de ella buscamos el archivo resultante, denominado result.mp4 

                              Para verlo en video hemos seleccionado uno de los más completos que hemos encontrado en YouTube:  

                              (29) Como hacer un DeepFake con ⭐ DeepFaceLab ⭐ Paso a Paso FÁCIL – 2022 – 2023 – YouTube 

                              Reproducimos el ataque 

                              Objetivo: Vamos a hacer un video en el que suplantamos a Fernando Alonso, Piloto español de Formula 1. Este video se realiza sólo con fines didácticos y no se va a colgar em Youtube.  

                              Paso 1º) Buscamos un video en el que se vea bien la cara de Fernando Alonso. Descargamos el video y lo guardamos como data_src.mp4 en la carpeta workspace en los archivos del programa deepfacelab.  

                              Nota: Para descargar los videos usamos la herramienta clipconverter.cc 

                              (29) ENTREVISTA post CARRERA a FERNANDO ALONSO en el GP de HUNGRIA || F1 2022 – YouTube 

                              Paso 2º) Buscamos (o hacemos un video en el que sale otra persona y es la que se supone que emulará al piloto asturiano. Lo descargamos y lo guardamos con el nombre data_dst.mp4 en la carpeta workspace en los archivos del programa deepfacelab.  

                              (29) LOS ENLACES NOFOLLOW GASTAN PAGERANK!! – #ASCOseries – YouTube 

                              Paso 3) Ejecutamos los pasos descritos en la explicación anterior y obtenemos el video result.mp4 que hemos adjuntado con este trabajo.  

                              En la captura anterior ya el sistema de inteligencia artificial está entrenándose mediante machine learning, pero aun las caras digitalizadas están muy poco definidas pues sólo lleva 128 iteraciones. Pero en la imagen que ponemos a continuación, con más de 14.000 empieza a definirse más la cara de Alonso en el cuerpo de Romuald.  

                              Después de un día entero procesando iteraciones hemos detenido el machin learning en algo más de 25.000. Para lograr un resultado casi indetectable probablemente el proceso debería continuar hasta las 100.000 a 200.000 iteraciones.  

                              Ahora realizamos los ajustes con la función 7) merge Quick96.bat tal como hemos explicado en el tutorial de uso del programa.  

                              https://youtu.be/24FDBlCKfkE

                              Información complementaria de interés:  

                              ¿Cómo detectar imágenes falsificadas por deepfake? 

                              El método de Intel para detectar el 96% de los deepfakes | Computer Hoy 

                              ¿Por qué los expertos consideran peligroso el deepflake?  

                              Los ‘deepfake’ son ya tan perfectos que los científicos exigen su prohibición (elconfidencial.com) 

                              ¿Cómo defendernos y prevenir la ingeniería social? 

                              Hay que tener en cuenta que es imposible garantizar la seguridad al 100% pero podemos tratar de prevenirlo al mayor grado razonablemente posible mediante los siguientes consejos:  

                                  • Concienciación: Ser conocedor de estos ataques, el impacto que tienen, y las técnicas que utilizan es algo fundamental para reducir el porcentaje de opciones de ser víctimas de ellos. Por ello la formación en seguridad es imprescindible. 

                                    • Ser cuidadoso con que información se hace pública: Hay que ser cuidadoso con todo lo que compartimos.  

                                      • Revisa las opciones de privacidad de las Redes Sociales 

                                      • Comparte archivos en la nube sólo con las personas correctas. 

                                      • Ten cuidado con la información que publicas en Internet. 

                                      • Cuando te descargues aplicaciones en tu smartphone, revisa los permisos. 

                                      • Evita dar datos personales a personas que no conozcas o en páginas que no sean de confianza. 

                                      • Utiliza aplicaciones de mensajería instantánea que protejan tus conversaciones. 

                                        • No abrir links ni adjuntos sospechosos

                                          • No tener confianza ciega y contrastar: Siempre contrastar fuentes oficiales. Puede parecer muy interesante un correo que diga que X tienda tenga los productos con descuentos del 70%, pero la mejor forma de saberlo es comprobando las páginas oficiales de esa tienda X. 

                                            • Política de contraseñas y 2FA: Emplear una contraseña robusta, cambiarla cada cierto tiempo y no repetirla en diferentes servicios. Con 2FA (autenticación en 2 pasos) daremos una capa extra de protección a nuestra cuenta.  

                                              • Protección dispositivos: Mantener siempre actualizado el SO y el antivirus. 

                                                • Verificar la seguridad de las webs donde introducimos datos personales

                                                  • Haz y cifra tus copias de seguridad. 

                                                    • Aplica siempre el sentido común. 

                                                      • No hay mejor antivirus, antiphishing o antifakenews  que el sentido común. 

                                                    En resumen, lo importante para prevenir la Ingeniería social son la concienciación y la formación. Por ello es muy recomendable seguir a diferentes blogs de ciberseguridad y mantenerse actualizado.  

                                                    Como podemos observar, un ataque de Ingeniería Social puede tener consecuencias devastadoras para aquel que lo sufre. Las características de este tipo de ataques y la aceleración en la digitalización durante la pandemia, llevan a que el número de ataques como el Phishing se haya incrementado. Por eso es importante prestar siempre mucha atención. Además, es importante recordar que estos ataques nos pueden llegar por cualquier medio, e incluso físicamente, por lo tanto, la atención y conciencia las tenemos que mantener como un hábito.  

                                                    ANEXO 1: Instalar gratuitamente un software de IA para ataques de tipo DEEPFAKE 

                                                    Paso 1: Descargar e instalar previamente en el equipo el descompresor 7ZIP 

                                                    Descargar 7-Zip en español | Compresor multiformato gratuito para Windows, alternativa a WinRAR y WinZip 

                                                    Paso 2: Descargar el software de IA desde:  

                                                    https://github.com/iperov/DeepFaceLab

                                                    En la URL anterior del proyecto iperov/DeepFaceLab nos vamos hacia abajo hasta llegar a las opciones de descarga y podemos escoger la opción mediante un servicio de descarga directa como Mega:  

                                                    Seguidamente escogemos una de las versiones del programa en función de la capacidad de nuestra tarjeta gráfica. En el caso general, si nuestro equipo es modesto, podemos seleccionar la primera opción:  

                                                                           DeppFaceLab_DirectX12_build_05_04_2022.exe 

                                                    El archivo descargado es de extensión .exe y esto nos ayuda a hacer la instalación del programa, si bien en realidad es un archivo comprimido programado en lenguaje Python.  

                                                    Paso 3: Realizar la descompresión del archivo:  

                                                    Para ello hacemos doble clic y nos saltará el 7ZIP que previamente habíamos instalado en el Paso 1 y este nos preguntará la ubicación en la que deseamos guardarlo.