jueves, marzo 23, 2023

Hack-én: La CON de hacking del 5 a 7 de Mayo en Linares (Jaén)

Los días 5, 6 y 7 del mes de Mayo tenemos una cita con la ciberseguridad y el hacking en la CON Hack-én, una conferencia de tres días, con talleres, y ponencias, que tendrá lugar en Linares, (Jaen) y que será el foco ese fin de semana para formarse en nuestra disciplina profesional. La conferencia comienza el viernes al medio día con una serie de ponencias, continúa el sábado con track doble de conferencias y talleres, y termina el domingo de nuevo con conferencias, así que es un campo de aprendizaje acelerado para profesionalizarse en ciberseguridad.
Entre los ponentes, pues tienes a muchos de los grandes de este país, que es el plato fuerte de este evento de tres días. Entre ellos, Carlos Seisdedos que además de un crack es uno de los grandes expertos en ciberinteligencia. Su libro de Open Source Intelligence se ha convertido en una referencia para todos los que trabajamos en este campo. 
En la lista de ponentes, que es enorme, encontrarás también a Sergio de los Santos, autor de Máxima Seguridad en Windows y un libro que no debes dejar de estudiar ya que explica cómo las bandas organizadas del cibercrimen están diseñando sus plataformas de Malware Moderno. También están el gran Pablo San Emeterio, José Navarro o Rafael López, todos con amplia experiencia en nuestro sector.
En la lista de ponentes, vas a encontrar a Adrián Ramírez, Jorge Escabias, el gran (que además es alto) Eduardo Sánchez Toril que ha mojado España con sus "Hack & Beers", o al incombustible Daniel Echevarry  "Adastra", que además es el autor de los libros de Python para Pentesters 2ª Edición, Hacking con Python o DeepWeb.
Si quieres colaborar con la organización, o participar de alguna manera, puedes ponerte en contacto con ellos a través de su buzón de MyPublicInbox, y si quieres asistir, puedes comprar tres tipos de entradas para esta edición de Hack-én.
Además puedes conseguir un descuento en el precio de las entradas a través de Tempos de MyPublicInbox, así que no tienes excusa para no participar si te gusta el contenido, ya que apoyarás que se sigan realizando este tipo de eventos en la zona.


Para conocer más sobre el evento, les he hecho una entrevista a los organizadores, para que nos cuenten un poco más de todo lo que hay en esta Hack-en de Linares (Jaen), este fin de semana de Mayo. Aquí va.

1. ¿Cómo nace Hack-én, quién está detrás de esta CON?

La idea de Hack-én nació de la necesidad de crear un evento que permitiera reunir a expertos, profesionales y entusiastas de la ciberseguridad en Jaén. El objetivo principal de Hack-én es fomentar la colaboración y el intercambio de conocimientos entre los participantes, así como concienciar sobre la importancia de la ciberseguridad en la actualidad. Hack-én es organizado por un grupo de profesionales del sector de la ciberseguridad que provienen de la provincia de Jaén. Especialistas en diferentes ámbitos tales como: Pentesting & RedTeam, Forense, BlueTeam, Vulnerability Management & Security Architecture, sSDLC, Governance, Risk & Compliance, etcétera.


Muchos desde jóvenes, otros no tanto, pero todos relacionados con el sector y apasionados por este mundo. ¡A alguno incluso lo conocéis desde los tiempos de Informática 64! Siendo más específicos, "los de Hack-én" somos: Antonio Cortés, Pablo Cueto,  Luís Jesús Montes, Nicolás Moral, Jaime Solás, Álvaro Solás, David Padilla  y Victor Pérez.

2. ¿Qué tenéis preparado para esta edición de Hack-én, quiénes son los ponentes que vendrán?

Tenemos preparado un track de formación con ponencias y una sala para talleres que se impartirán de forma simultánea en el Campus Científico Tecnológico de Linares, que pertenece a la Universidad de Jaén, del que varios de los organizadores son egresados. Estamos bastante orgullosos de los ponentes que nos acompañarán en esta primera edición.
Tendremos con nosotros a: Carlos SeisdedosPablo González, Pablo San Emeterio, Elisa García, Kino Makino (Joaquín Molina), Sergio de los Santos, Omar Jesús Orta, José Navarro, Rafael López, Eduardo Sánchez Toril, Adrián Ramirez, Jorge Escabias... y algunas sorpresas más que están por anunciarse.

3. Además de los tracks de formación ¿qué más actividades tenéis preparadas?

Se realizarán sorteos, un CTF, algún concurso, ¡y algunos retos para hackers! Tenéis una sala de Chat en MyPublicInbox, por si quieres proponer alguna idea, debatir un tema, o compartir algo de lo que deseas de esta CON.


4. ¿Qué son las Hack-én Coins?

Es un nuevo proyecto de NFT que se desarrolla desde el equipo de Hack-én... ¡Es broma! Las Hack-én Coins son las monedas virtuales creadas para el congreso, que podrán ser canjeadas por diferentes premios durante el desarrollo del mismo. 

Podrán conseguirse al adquirir la entrada, al asistir a ponencias o talleres, participando en el CTF o en otras actividades del congreso. Durante la acreditación, se les dará a los asistentes un lanyard con un QR único. Este QR les permitirá ver cuantas Hack-én Coins tienen y en qué pueden canjearse.

5. ¿Qué van a llevarse los asistentes al evento como aprendizaje?

Los asistentes podrán disfrutar de ponencias y talleres impartidos por algunos de los profesionales más relevantes del sector, teniendo además la oportunidad de interactuar con personas relacionadas con el mundo ciber, lo que les permitirá intercambiar conocimientos, compartir experiencias y establecer contactos valiosos para su desarrollo profesional y empresarial en este campo. ¡Será una experiencia muy enriquecedora para todos!

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


miércoles, marzo 22, 2023

"iBombShell: Revolution". Sólo para Pentesters!

El pasado día 10 de Marzo participamos en RootedCON 2023 dónde tuvimos la oportunidad de presentar el trabajo que hemos trabajado desde hace un tiempo. La idea es la de proporcionar a los pentesters y desarrolladores el potencial de iBombShell y poder integrarlo con sus herramientas. 

Figura 1: "iBombShell: Revolution". Sólo para Pentesters!

De este modo podemos decir que iBombShell o el Core de ésta es una API que permitirá a los usuarios poder integrar lo que ellos quieran. Damos un pequeño repaso a esta presentación, comentando las principales novedades de iBombShell: Revolution.

¿Qué era iBombShell y que ha cambiado?

Ya se ha hablado largo y tendido sobre iBombShell en este blog, desde Euskalhack 2018 dónde mostramos la idea de lo que queríamos hacer, pasando por técnicas de post-explotación y el desarrollo de nuevos módulos para esta herramienta Open Source. Sin olvidarnos de uno de los momentos más importantes para iBombShell que fue la presentación en la BlackHat Eruope 2018 en Londres. O la incorporación de iBombShell a la C2Matrix, un hito más que interesante de este proyecto, el cual nos llena de orgullo y nos rellena la barra de la ilusión para hacer nuevas cosas.

Figura 2: iBombShell en GitHub

iBombShell Legacy tenía dos modos de funcionamiento, el llamado “Everywhere”, que permitía descargar a memoria, en apenas 4 pasos, una consola PowerShell con funciones útiles y dinámicas para un pentester, y que estuviera disponible en cualquier momento y en cualquier lugar.
Y, por otro lado, también se contaba con el llamado modo “Silently” que permitía conectar una instancia de iBombShell a un C2 escrito en Python y que podía ordenar de manera remota instrucciones creadas en los módulos de PowerShell.

Figura  4: iBombShell Legacy y sus modos Everywhere y Silently

Para la renovación de iBombShell, se quería cambiar completamente el modo de trabajo, centrándonos en hacer una herramienta más sencilla, fácilmente extensible, integrable con varios clientes y que fuera un componente que estuviera centralizado, de tal manera que un equipo de trabajo pueda utilizar una misma instancia de iBombShell para realizar sus pruebas. De esta manera, queremos destacar como principales novedades de la versión Revolution:
  • Nuevo iBombShell "apificado": Como se ha comentado anteriormente, iBombShell ahora es una gran API a la que llamamos Core. ¿Cómo interactuar con el Core? Vamos a desarrollar algunos clientes “oficiales” del proyecto, pero cualquier desarrollador o pentester podrá integrar sus necesidades directamente con el Core gracias al uso de la API.
  • Gestión total desde el CORE: El Core gestiona todo lo que sucede en iBombShell, es decir, si hay que cargar un módulo, si hay que ejecutarlo, si llega la conexión de un nuevo warrior, etcétera.
  • Gestión de usuarios: El Core es una plataforma multiusuario, pero de esto hablaremos en otro artículo para explicar cómo funcionan los roles y los usuarios en iBombShell.
  • Autenticación (JWT): Toda acción que deba ser autorizada utilizará un JWT. Esto es algo que creemos que es importante para la gestión de usuarios y lo que cada uno puede hacer.
  • Generación warriors (code / file): La generación de los Warriors, tal como ocurría en la ‘Legacy’ iBombShell se puede hacer tanto en código como en un fichero. Iremos mostrando algunos ejemplos de uso para que se entienda mejor.
  • Nueva consola para los warriors (PowerShell): Se ha implementado una nueva consola en Powershell para interactuar con el nuevo Core.
  • Facilidad de integración.
Arquitectura de iBomShell

La nueva arquitectura de iBombShell cuenta con una pieza central: el core. Este elemento realiza toda la gestión de los usuarios, los módulos, los warriors y las tareas. Para almacenar la información se apoya en una base de datos local SQLite, además de algunos diccionarios para almacenar en memoria los usuarios activos y los warriors en ejecución.


Todo esto es accesible y gestionable desde la API, de tal manera que es posible integrar distintos clientes como web, interfaces gráficas de usuario para distintas plataformas, consolas, o automatizar la generación de warriors y creación de tareas con scripts en Bash, Python, JavaScript…

Figura 6: Arquitectura de iBombShell

La API se ha dividido en 4 principales tags, los mismos que gestiona el core y, a través de la especificación OpenAPI, se puede acceder a su documentación y prueba de la misma. Algunas de las peticiones que se tienen disponibles a través de la API son:
  • /auth: Permite la autenticación de usuarios y la obtención de un JWT para usar la API.
  • /get_modules: Permite obtener los módulos, ordenados por categorías.
  • /generate: Solicita la generación de un nuevo warrior.
  • /create_task: Crea una nueva tarea asociada a un warrior.
  • /get_task_warrior: Solicitado por un warrior para obtener su tarea a ejecutar.
  • /put_task: Utilizado por el warrior para guardar los resultados de una tarea ejecutada.
  • /get_task_results: Utilizado por un cliente para obtener los resultados de una tarea ya ejecutada.
Iremos publicando más información sobre la API y la doc de ésta, cuando se libere el proyecto. A día de hoy, queremos implementar clientes oficiales para que el core de lo mejor de sí. 

Figura 7: Documentación de la API de iBombShell

Para la charla de RootedCON todo lo mostramos de integración fue desarrollado con pocos días para mostrar a los desarrolladores el potencial que la Apificación del Core de iBombShell proporcionaba y cómo podían integrar fácilmente scripts u otro tipo de herramientas.

Workflows

Para darle un sentido a todo, es necesario contar con algunos flujos de trabajo. Por ejemplo, en primer lugar, contar con un Token JWT para acceder a gran parte de la API. Para realizar esto, haremos una petición a /auth con un usuario y contraseña válidos, y obtendremos el JWT que utilizaremos, a partir de ahora, en la cabecera Authorization [Bearer] para hacer el resto de peticiones.



Figura 8: Flujo de trabajo de la autenticación del cliente

A continuación, podemos leer todos los módulos disponibles, definir los valores necesarios para utilizar distintos módulos u optar por generar un nuevo guerrero. Una vez que se dispone de un guerrero en ejecución es posible asignar tareas y esperar a que el warrior descargue las instrucciones para ejecutarse y devolver los resultados.

Figura 9: Flujo de trabajo de creación de nuevas tareas

El workflow del warrior es bastante sencillo ya que se basa en, primero el registro del nuevo warrior, y después hacer peticiones constantes al listener de iBombShell (Core) para consultar si tiene nuevas tareas asociadas a su identificador para descargarlas, ejecutarlas y mandar los resultados de nuevo al listener.

Figura 10: Flujo de trabajo del Warrior

Y esto es, a grandes rasgos, las novedades del nuevo iBombShell. Pronto tendremos más novedades e iremos mostrando algunas cosas. Este año es el año en el que iBombShell se reinventa y viene con la capacidad de dar el control al desarrollador. En el siguiente vídeo tienes una demostración completa de siete minutos de las principales funciones de iBombShell Revolution mezclada con Kali Linux y Metasploit. Sólo para pentesters.



El repositorio oficial de iBombShell en Github mantiene la versión ‘Legacy’ sobre la que no haremos cambios hasta que publiquemos la nueva versión. Y antes de acabar… Gracias Securiters por darnos la oportunidad de presentar nuestro trabajo en vuestro track.

Happy Hacking with iBombShell!

Autores: Pablo González Pérez escritor de los libros "Metasploit para Pentesters", "Hacking con Metasploit: Advanced Pentesting" "Hacking Windows", "Ethical Hacking", "Got Root",  “Pentesting con Powershell” y de "Empire: Hacking Avanzado en el Red Team", Microsoft MVP en Seguridad y Security Researcher en el equipo de "Ideas Locas" de la unidad CDCO de Telefónica.  Para consultas puedes usar el Buzón Público para contactar con Pablo González
Contactar con Pablo González

martes, marzo 21, 2023

Cómo reconstruir las imágenes en tu cabeza por medio de tu actividad cerebral y Stable Diffusion

Se publicó hace unas semanas un paper académico muy curioso, y he hablado mucho de él con compañeros y amigos, pero quería dedicarle una entrada, más que nada para dejaros la referencia y que vosotros pudierais aportar vuestras opiniones e ideas al respecto, ya que el trabajo abre una línea de investigación que podría llevarnos a lo que hemos visto en muchas películas de ciencia ficción, o en los cómics, donde alguien sería capaz de ver las imágenes de los recuerdos de otra persona por medio de una Inteligencia Artificial que los recree en tiempo real.

Figura 1: Cómo reconstruir las imágenes en tu cabeza
por medio de tu actividad cerebral y Stable Diffusion

El artículo académico, titulado "High-resolution image reconstruction with latent diffusion models from human brain activity" explica en detalle cómo han hecho el estudio, así que podéis ir a ver los detalles más concretos en él, pero la idea de base me encanta, por ser un ejemplo de cómo aprovechar un avance para aplicarlo a algo que parece una locura.
Hoy en día, con los sistemas de Generative-AI podemos crear imágenes basadas en los inputs que les demos. Es sencillo irse a Dall-e y decirle un prompt para que nos genere una imagen. Tal vez no sea exactamente la que teníamos en mente, pero cuanto más afinemos el prompt, y más detalles le demos, podemos hacer que nos de resultados más ajustados a lo que estamos pensando. Eso sí, sin dejar que Dall-e nos lea la mente. Nos la leemos nosotros, la traducimos a lenguaje escrito, y compartimos con el modelo de Generative-AI en qué estamos pensando.

Figura 3: "Dibuja un caballo durmiendo en un charco de agua roja" en Dall-e

Si entrenamos uno de estos modelos, como en el caso del servicio de Stable Diffusion en MyPublicInbox, con nuestras propias imágenes, podemos pedirle que nos recree a nosotros. Imaginaos que cerramos los ojos, y pensamos en nosotros mismos bailando, y le pedimos a Stable Diffusion que nos cree tal y como estamos viéndonos en nuestra mente. Él lo hará.

Al final, lo que estamos haciendo es conectar una imagen que sólo vemos nosotros en nuestra mente con una salida construida por Stable Diffusion, usando para ello la interpretación que nosotros hacemos de esa imagen, y llevándola a un prompt concreto. Y así tenemos una imagen de lo que estamos pensando. ¿Es exactamente lo mismo? Depende de lo específicos que seamos a la hora de usar nuestro lenguaje para generar un prompt con lo que estamos pensando, y lo afinado que dejamos el modelo.

Modelos de Diffusion

Hay que tener en cuenta que estos modelos, como Stable Diffusion, se basan en hacer una difusión de los datos de entrada del dataset, por ejemplo los píxeles y colores de una imagen, para generar una representación difusa llamada "Espacio Latente" que posteriormente va a ser refinada mediante un algoritmo de eliminación del ruido para construir una nueva imagen basándose en los espacios latentes que consiga el objetivo demandado en algoritmo.


Este proceso de "añadir ruido", lleva todos los datos del Dataset original, a imágenes latentes que no se parecen al original, pero que guardan una base informativa dependiente del dato original, por lo que van a ser buenas imágenes sobre las que construir la salida buscada por el prompt. En el artículo de "Cómo funciona Stable Diffusion - y Dalle-2 o Midjourney -: Open Source Generative-IA que crea imágenes artísticas", se explica este proceso en detalle.
Así, cuando se le da un prompt de entrada, para generar una imagen, lo que hace el algoritmo es buscar espacios latentes asociados a esa cadena de datos de entrada sobre los que comenzar a iterar para cumplir el objetivo, eliminando el ruido y dirigiendo la construcción de la imagen. La magia es que cuando se hace el proceso de "denoising" mediante una o eliminación de ruido, usando Redes Neuronales Convolucionales (CNNs), en concreto, la red conocida como U-Net, se hace de manera dirigida.


Gracias a que se produce un proceso de condicionamiento que permite construir totalmente nuevas imágenes, basadas en imágenes previamente convertidas en espacios latentes y mezcladas, al final se logra generar una imagen de calidad que responde al prompt concreto de entrada que se ha solicitado. El paper de "High-Resolution Image Synthesis with Latent Diffusion Models" de año 2022 explica cómo funciona este proceso para sacar imágenes de gran calidad.
Podríamos resumir entonces que el proceso se basa en mezclar imágenes en espacios latentes que cumplen parte del prompt solicitado, para luego, con un proceso de denoising dirigido usando una CNN, conseguir que la imagen resultante pase el filtro discriminador asociado al prompt de entrada completo. Y funciona.

Cerebro como Prompt de entrada

Como hemos visto, todo el proceso anterior se basa en tener un Dataset de imágenes de origen asociado a prompts que luego se convierten en espacios latentes asociados a prompts, que luego, para obtener una nueva imagen asociada a un nuevo prompt, se mezclan en espacios latentes y se hace un denoising para pasar el filtro discriminador del objetivo a conseguir.

Figura 9: Se utiliza un modelo LDM para codificar
y decodificar las imágenes asociadas a fMRI

Pues bien, lo que propone el paper de "High-resolution image reconstruction with latent diffusion models from human brain activity" es utilizar la actividad cerebral de una persona en forma de imagen de resonancia magnética funcional, llamadas (fMRI) para asociar a ellas, los estados latentes de las imágenes, las cadenas de texto que definen las imágenes,  y la suma de las mismas,  con la imagen fMRI, es decir la actividad cuando el cerebro ve la imagen latente y oye la cadena de texto.

Figura 10: Se asocian las imágnes fMRI asociadas a visualizar z (imagen latente de la imagen presentada), c (texto descriptivo de la imagen presentada), y zc (imagen latente de la imagen presentada más texto descriptivo).

A partir de ese momento, lo que hay es un Dataset de estados latentes asociados a imágenes fMRI que se utilizará de base para generar los datos de entrada. Así, después se le enseñará una imagen a la persona, y se capturará su fMRI, que dispara el proceso de inicio seleccionando las imágenes latentes correctas para construir la base que disparará el proceso de "denoising". 

Figura 11: Decodificación a partir de fMRI (como prompt de entrada)

Como se puede ver, en este caso la imagen latente está guardada con su prompt en forma de texto, así que en la decodificación final, después de seleccionar las imágenes latentes, se usa el prompt asociado a esas imágenes para refinar el proceso. El resultado es que a partir de una imagen fMRI, teniendo los datos asociados, se puede "ver" más o menos, la imagen en lo que está pensando.

Figura 12: Ejemplos de imágenes presentadas y resultados obtenidos.

Por supuesto, el resultado aún es muy preliminar, y dependiendo de cada una de las personas, las imágenes fMRI pueden modificarse, así que el entrenamiento de datos puede funcionar mejor o peor, pero los resultados son muy prometedores. Aquí con varios sujetos totalmente diferentes.

Figura 13: Con varias personas distintas, resultados similares

Esto parece un poco de ciencia ficción, pero al final se trata de decirle a un modelo de Stable Diffusion qué es lo que debe dibujar, pero en lugar de utilizar como prompt de entrada nuestras palabras, usamos nuestras imágenes de una resonancia magnética cuando pensamos en esa imagen.

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

Y mola mucho. Además, desde el punto de vista policial podría abrir nuevas vías de interrogar a los sospechosos en el futuro, y se abren también retos de ciberseguridad y privacidad. ¿Seremos capaces de proteger nuestros pensamientos de análisis futuros? ¿Podrá remotamente capturarse nuestra actividad cerebral como en los ataques Tempest y saberse qué estamos pensado? Apasionante el mundo que viene.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


lunes, marzo 20, 2023

"Are You Talkin' ta me?" DeepFake Voice en Español & Detección de Voces Clonadas

En esta parte llegamos al final de este artículo que hemos dividido en cinco entradas. La primera en saber quién utiliza tus Alexa o tu Google Home sin tu permiso. La segunda parte en analizar un audio con modelos de Machine Learning. En la tercera parte vimos cómo buscar a una persona en Data Lakes de Audios y cómo comparar voces con Inteligencia Artificial. En la parte anterior nos centramos en ver cómo se pueden clonar voces a partir de audios capturados de personas y usarlos para hackear un sistema de biometría de voz. En esta última vamos a verlo en Español y cómo detectar el uso de técnicas de DeepFake de Voz.
Antes de comenzar con el clona de voz en Español, quería hacer referencia a que el trabajo de hackear un sistema de banca con 2FA que utilice biometría de voz se nos ocurrió meses atrás, debido a que en Inglaterra hay varios bancos que utilizan este sistema de seguridad, y lo conocíamos bien. 

De hecho, días antes de nuestra presentación en RootedCON 2023, un periodista hizo exactamente la misma prueba con su banco, tal y cómo contó en el artículo "How I broke into a Bank Account with AI-Generated Voice".

Clonando Voces en Español: Microsoft Azure Speech Studio

Ahora vamos con el clonado de voces en Español, y usamos para esta tarea el servicio de Microsoft Azure Speech Studio, que permite hacer un clonado de altísima calidad utilizando tanto ficheros de audio como grabación desde el micrófono. 

Figura 46: Clonando mi voz con Microsoft Azure Speech Studio

Eso sí, es necesario aceptar los términos y condiciones del clonado de la voz desde el micrófono. En este caso hemos hecho la prueba con 50 frases, para intentar hacerlo bien, lo que lleva aproximadamente una hora de trabajo y clonación de la voz.

Figura 47: Clonando mi voz con Microsoft Azure Speech Studio

Así de sencillo es hoy en día. Después, ya se puede utilizar de forma indiscriminada en cualquier entorno, ya sea en directo, o en vídeos grabados, como vamos a ver a continuación.

Stable Diffusión + Talking head + Voice Clonned + Lips Sync 

En este primer ejemplo hemos utilizado una imagen creada con el servicio de Stable Diffusion en MyPublicInbox que te permite entrenar un modelo con solo 20 imágenes tuyas. Una vez entrenado puedes generar cualquier imagen de ti que quieras con solo darle el prompt adecuado. 
Después, hemos animado la imagen generada por el modelo de Stable Diffusion en MyPublicInbox con un algoritmo de Talking Heads, que permite con una sola fotografía generar un movimiento. Después, con la voz clonada hicimos el audio. Y para terminar, un algoritmo de Lips Sync, para conseguir que el audio y los labios de la Talking Head encajaran.

Figura 49: Stable Diffusion + Talking Heads +
+ Voz Clonada + Lips Sync

El resultado es curioso, pero lo hicimos más que nada para la presentación, ya que el objetivo era ver cómo la voz tiene mi tono y mi forma de hablar habitual. Eso sí, no la hemos tuneado con una herramienta de generación de velocidad, tono, volumen, etcétera en tiempo real, por eso queda un poco "loquendo".

Figura 50: DeepFake + Voz Clonada + Lips Sync

En este ejemplo, es lo mismo, pero con un vídeo de Youtube, y se puede hacer perfectamente con los vídeos de TikTok o de cualquier otra red social donde alguien haya publicado su imagen, su voz o un vídeo. Adios a que tu biometría sea tuya.

DeepFake Voz Detector con Machine Learning

De nuevo, volvemos al mismo problema de saber cuándo alguien está utilizando una voz clonada o no, para proteger nuestros servicios. Para este ejercicio usamos dos algoritmos de Machine Learning que nos permitieran añadir capas de protección a un sistema, tanto de seguridad basada en biometría de voz, como a nuestras herramientas anti-DeepFakes.

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

Las protecciones en las que hemos trabajado son, detectar cuando no es una persona sino un speaker reproduciendo un audio al aire, y entrenar un algoritmo para detectar voces clonadas con un gran dataset.

Machine Learning para detectar voces clonadas

Volviendo a la aproximación de la segunda parte de este artículo donde usamos algoritmos de Machine Learning para clasificar imágenes basadas en sus espectogramas, vamos a hacer lo mismo. Tenemos un fichero de audio con una voz (.wav), lo transformamos en espectograma (imagen) y utilizamos el framework fastai para entrenamiento de modelo, con la librería librosa para tratamiento de archivos de audio y conversión en espectrogramas.

Figura 52: Algoritmo de ML para detección de voces clonadas

Para entrenar el modelo usamos el dataset ASVSpoof 2019, que es un challenge para lograr detección de voces clonadas con los mejores algoritmos. El entrenamiento se hace con la recogida de voces clonadas y voces reales de este dataset y transformación en espectogramas para entrenar la red sobre imágenes. Una vez se tiene el modelo entrenado, se puede hacer predicción sobre un archivo de voz transformándolo previamente en espectrograma (mismo pre-proceso que para el entrenamiento). 

Figura 53: Detección de voz clonada y voz real con ML

Es verdad que los resultados son muy sensibles al pre-procesado de los ficheros, al ruido en los audios que es necesario eliminarlos, hay que tener una normalización de audios para el entrenamiento, debe ser de  similar duración entre audios, etcétera. Pero en todo caso, te da un indicio más sobre el audio de entrada en tus sistema.

Machine Learning para detectar voces sintéticas

En este caso la idea es distinguir entre si un audio está sonando desde la voz de una persona o si ha sido grabado. Es decir, si por ejemplo un atacante ha generado una voz sintética de alguien en un ordenador y lo está reproduciendo o se está escuchando mientras está realizando una llamada telefónica para engañar a alguien.  Para este algoritmo de Machine Learning se necesita un conjunto de datos de entrenamiento  que incluya audios originales y audios que simulen el escenario comentado, como es el dataset FoR (fake-or-real dataset) que incluye en sus datos un dataset diseñado específicamente para esta tarea. 
Para simular el escenario comentado, reprodujeron audios provenientes del altavoz de un ordenador y los re-grabaron utilizando otro dispositivo con micrófono no profesional, simulando escenario de un atacante.También tienen otro dataset con audios sin ser re-grabados, es decir, audios originales. A partir de estos datos, se utiliza Deep Learning para un problema de clasificación, con el objetivo de distinguir entre audios originales y los re-grabados que simulan escenario de atacante. 

Los audios primero se pre-procesan utilizando comandos de la librería de manipulación de audios SoX (eliminar silencios en principio y fin, convertimos en un único canal mono, convertimos a tasa de muestreo 16KHz, normalizamos volumen) y se convierten en espectrogramas, por lo que la tarea se convierte en un problema de clasificación de imágenes. Se entrena una red convolucional utilizando el framework Fastai

Figura 55: Detección de voces re-gragadas vs originales

No es perfecto y tiene sus limitaciones, y los propios autores comentan en las conclusiones del paper que el dataset que han creado para simular escenarios de atacante no es muy general, ya que solo utilizan un único hablante y un único tipo de dispositivo para la re-grabación, por lo que el modelo entrenado puede que no sea del todo robusto frente a audios provenientes de otras fuentes. Pero evidentemente, es una buena linea de investigación y aproximación a este problema.

Conclusiones

Visto lo recorrido en este artículo, podemos decir que la clonación de voces en cualquier idioma se puede dar por algo muy común, por lo pensar en la biometría de voz como una protección de seguridad es una mala idea. Si la estas utilizando, hay que mejorar los mecanismos de seguridad para la detección de posibles voces clonadas. Además, hay que tener en cuenta que escuchar a personas cercanas ha sido siempre motivo de confianza, y esto los estafadores lo saben, así que ya hemos tenido este mismo mes los primeros estafadores utilizando voces clonadas de familiares para estafar a personas.
Además, las técnicas de DeepFake, tanto de imagen, vídeo como voces, están cerca de ser perfectas, con lo que discriminar cuándo estamos hablando con una persona sintética o de verdad, va a ser cada vez más complicado. Con imágenes ya vimos que es casi imposible, pero con los avances en IA, con vídeo conferencias o conversaciones de voz en tiempo real, va a ser totalmente imposible en breve. Es, por tanto, necesario seguir desarrollando las técnicas para mejorar el Test de Voight-Kampff y detectar DeepFakes de vídeo y audio. Todo lo visto aquí, y más, lo veremos incorporado a nuestra herramienta.

¡Saludos Malignos!


Autor: Chema Alonso (Contactar con Chema Alonso)  


domingo, marzo 19, 2023

Web3MBA Hackathon x Startups en Valencia: 24 al 26 de Marzo @Bit2Me

El próximo 24 de Marzo da comienzo el Web3MBA Hackathon x Startups en Valencia, que durará tres días para que los 80 participantes puedan resolver 7 retos de negocio y tecnologías Web3. Un encuentro especial para startups, innovadores, y creadores de tecnología digital en el mundo tokenomics, al que te puedes apuntar aún, que queda alguna plaza.
El hackathon busca resolver problemas de negocio con soluciones de la Web3, donde BlockChain, los SmartContracts, los NFTS, Fan Tokens, Security Tokens, Utility Tokens, Cripotomonedas, o modelos de Tokenomics puedan resolver un reto que permita mejorar, crear o desarrollar un negocio. Así que si estás pensando en adentrarte en estos mundos profesionales, seguro que te puede interesar.
Por supuesto, si te apuntas a este hackathon, cuanto más sepas de este mundo, mucho mejor. Para ello recuerda que Bit2Me, la empresa que está detrás de esta iniciativa, tiene en su Academia un montón de cursos de Ethereum, BitCoin, BlockChain, Tokenomis, etc... que son gratuitos y te ayudarán a iniciarte en este mundo.
Además, si quieres adentrarte de forma definitiva en este mundo y ser el profesional que ayude a las organizaciones a sacar partido de estos modelos de Web3, en la compañía han desarrollado un MBA Online, llamado Web3MBA que incluye el compendio de todo lo que debes conocer de este mundo. 
En este Hackathon x Startups en Valencia,  encontrarás muchos de los alumnos que han realizado o están realizando la formación Web3MBA y ahora están en su parte profesional.
Si quieres hacerte en algún momento el Web3MBA, el equipo de Bit2Me tiene descuentos del 10% para estas formaciones que puedes conseguir en MyPublicInbox con Tempos. Solo tienes que adquirir el descuento en la zona de Convertir Tempos.
Si tienes alguna duda, sobre cómo formarse en este mundo y desarrollar una carrera profesional en el mundo Web3, puedes contactar con Andrei Manuel, co-fundador de Bit2Me y responsable de la Academia, donde se han formado ya más de 5 Millones de estudiantes en todo el mundo.
Por último, para que puedas Conseguir Tempos, Bit2Me ha lanzado una campaña en MyPublicInbox para que puedas conseguir Tempos y conocer más de la formación en su academia, que te permite obtener 50 Tempos gratis.
Solo debes ver este vídeo, que dura menos de 1 minuto, y luego responder a una pregunta sobre él. Para ello entra en tu cuenta de MyPublicInbox y en el siguiente enlace tienes los Tempos gratuitos cortesía de Bit2Me.

Y recuerda, que si no puedes participar en el Web3MBA Hackathon x Startups, o no puedes hacer el Web3MBA, siempre puedes hacerte todos los cursos gratuitos de la Academia de Bit2Me donde recibirás certificados por cada formación que completes con éxito. Así que, sea lo que sea, no dejes de formarte nunca.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


Entrada destacada

Stable Diffusion en MyPublicInbox para que te hagas los selfies impactantes con IA

Ya os había comentado que mis amigos de MyPublicInbox se lo estaban pasando de maravilla a mi costa haciendo diferentes imágenes conmigo du...

Entradas populares