Hoy domingo os voy a dejar un paper que me ha gustado por lo sencillo que es, por cómo funciona, y por ser un tema que a nosotros nos llevó un tiempo de diversión, y del que di la charla de "Are You Takin' ta me?" en la RootedCON de hace ya unos años.
Todo en aquella charla comenzó con los "pranks" que hacíamos a los Alexa de los amigos, y de cómo queríamos clonar voces en Español para que no quedaran grabadas en los servidores de Amazon nuestra voces.
De ahí pasamos a hacer justo lo contrario, que era utilizar algoritmos de Machine Learning para clasificar las voces por su biometría (edad, género, estado de ánimo), para luego detectar si era un voz lanzada desde un altavoz o un micrófono. Os dejo todas las partes del artículo, que si no lo has leído te va a gusta.
La voz es algo que hemos seguido utilizando como forma de detectar DeepFakes, y en la patente de Sentimetrics hicimos un cruzado temporal de emociones en tono, mensaje, y expresión facial de los vídeos, lo que nos ayudaba a detectarlo. De ese tema os hablé también en la parte de Hash Voice y Cloned Voice Detector, para buscar las marcas de agua, y usar los algoritmos clasificadores que habíamos usado en los artículos que os dejado antes.
Con todo esto, os podéis imaginar que cuando pude leer el paper de "Replay Attacks Against Audio Deepfake Detection" tenía que ver qué es lo que habían realizado, ya que el Replay Attack se basa en reproducir un audio y volver a grabarlo, una y otra vez, hasta conseguir que el detector de DeepFakes no detecte que es una DeepFake, o viceversa, grabar un audio real, y hacer Replay Attacks hasta que haga un falso positivo.
La gracia de ReplayDF es que han publicado el Dataset completo con todos los audios pasados por el regrabado de altavoz a micrófono, utilizando 109 combinaciones de a microfono-altavoz diferentes, lo que ayuda a hacer buenos benchmarks.
Para poder analizar los algoritmos OpenSource se han basado en tres parámetros que son importantes entender, como son:
Acuracy: El grado de detección de DeepFakes correctamente.
Equal Error Rate (EER):Ratio de Falsos Positivos y Falsos Negativos. Es el umbral en el que la probabilidad de que el sistema acepte erróneamente una DeepFake como buena es igual a la probabilidad de que rechace erróneamente a un audio legítimo. Un valor de EER bajo indica que el sistema es más preciso y fiable.
Room Impulse Response (RIR): Es el impacto que hace el espacio donde se emite un audio y la grabación. Modelos entrenados teniendo en cuenta este impacto tienen mejores ratios de efectividad.
Teniendo en cuenta esto, se ha analizado el DataSet completo, que tienes disponible en Hugginface, para sacar métricas con diferentes algoritmos de detección de Deepfakes de audio OpenSource, y los resultados son interesantes.
En esta primera tabla (Table 2) se puede ver cómo el ataque de ReplayDF reduce el Accuracy de los seis modelos OpenSource de detección de DeepFake de audios, al mismo tiempo que empeora el EER, haciendo que los Falsos Positivos y los Falsos Negativos aumenten.
La última de las tablas tiene en cuenta el RIR (Room Impulse Reponse) en los entrenamientos, y aunque es menor el impacto cuando el modelo está entrenado con RIR, el Accuracy se reduce, y el EER aumenta en todos los ataques (generación de Deepfakes de audio) usando un Replay Attack.
Como última conclusión, el Accuracy del modelo es mayor cuando la calidad del audio es mayor. Es decir, correlaciona directamente la calidad de la grabación con la detección, así que cuanto más agresivo se es con el Replay Attack, menor Accuracy, y mayor EER. En la gráfica se usan dos mediciones de calidad de audio que son MOS (Mean Opinion Scores) y PESQ (Perceptual Evaluation of Speech Quality).
Lo interesante de todo este trabajo es poder contar con un DataSet que ayude a mejorar la calidad de los algoritmos de detección, pero he de decir que el proceso para saltarse los modelos es tan simple como hacker. Keep it Simple....
En el año 2017, cuando los SmartSpeakers comenzaban a estar en muchos sitios, en Telefónica estábamos trabajando en la idea de lanzar alguno nosotros. Pero en la visita que tuvimos ese verano a ver a nuestros partners en Estados Unidos, cambiamos de idea. Microsoft estaba lanzando Cortana, y compartieron con nosotros el insight de que lo que la gente más usaba, y principalmente la única función en aquellos momentos después de una semana era la de poner música, así que iban a hacer un altavoz con muy buena calidad.
Por otro lado, el equipo de Amazon nos dijo que el problema que tenían, y por el que la gente no utilizaba nada más que la música y poco más era porque al no haber pantalla, el descubrimiento de funciones era muy complejo, así que estaban trabajando en Amazon Show para poder educar al usuario en descubrimiento de nuevas capacidades.
Después de aquello, compartimos esto con los equipos de innovación, y decidimos dejar de lado el proyecto del SmartSpeaker. Por otro lado, el equipo de Innovación de Dispositivos, los que nos diseñan los HGU de SmartWiFi, los Decodificadores Ultra HD, los Amplificadores WiFi, etcétera, estaban trabajando en un SmartDisplay como prueba de laboratorio. Cuando regresamos del viaje nos sentamos con ellos, y pensamos que estaría bien hacer una prueba con estos "insights", poniendo Aura, nuestro asistente digital que habíamos anunciado en el MWC del 2017.
Mezclando estas tres iniciativas de tres áreas distintas de Telefónica, lanzamos un proyecto piloto para probar este producto con usuarios, y ver si nos protegía de una des-intermediación de servicios que querían hacer todos los SmartSpeakers. Todos ellos compiten en la categoría de SmartHome, y la televisión, la WiFi, las alarmas y las comunicaciones son tres de las capas con más uso e importancia dentro de esa categoría. Y todos querían que integráramos nuestros servicios en sus plataformas y controlar nuestras capacidades. Nosotros queríamos seguir siendo relevantes en la vida de nuestros clientes, y por eso habíamos creado Aura.
Así que, creamos Movistar Home, lo anunciamos en el MWC de 2018, y comenzamos a comercializar los dispositivos que habíamos hecho para esta primera fase. Según iba vaciándose el almacén, comenzó a llegar la crisis de los semiconductores, de los chips, y a encarecerse la construcción de equipamiento, así que hicimos una curva predictiva para ver cuándo se nos acabarían los dispositivos, y cuándo tendríamos que tomar la decisión de saber si construimos la segunda versión o tomábamos una decisión de evolución distinta.
La pandemia y el cierre de las tiendas hizo que el las ventas ese año bajaran un poco, y pudiéramos tener dispositivos un año más de lo previsto, pero a finales de 2021 tuvimos que tomar la decisión de cómo lo íbamos a evolucionar el proyecto, y entonces fue cuando más caros estaban los chips, y más tiempo nos estaban dando las fábricas para entregarnos los dispositivos desde la fecha de pedido. Así que bajamos el nivel de venta para quedarnos con stock de cambios y reparaciones y comenzamos con el proyecto de migrar todo el software de Movistar Home a un app en tablets, proyecto que llamamos "Movistar Home EveryWhere".
Irte a una app tenía la ventaja de no depender de hardware, pero el inconveniente de depender de las políticas de los sistemas operativos de Apple y Android. Además, uno de los debates que nosotros habíamos tenido fue el de "batería sí o batería no", porque un dispositivo sin batería está "Always ON", mientras que uno con batería tiende a desconectarse o estar sin batería mucho tiempo. Tomamos la decisión de hacer "Movistar Home EveryWhere", y hemos estado jugando con él durante 2023, en alfas y betas privadas. Y ahora ya puedes probarlo tú si quieres, que es gratuito para todos los clientes de Telefónica.
Ah día de hoy lo puedes descargar de Google Play Store y probarlo, pero además si quieres y te animas, puedes apuntarte al estudio de nuestra comunidad Testers para seguir mejorándolo, añadir más funcionalidades y evolucionarlo. Ahora mismo se trata de una aplicación exclusiva para todos los clientes Movistar con línea de fibra de hogar, ya que están conectadas todas las capacidades de Movistar, y lógicamente estamos aplicando todos los aprendizajes que hemos extraído estos años con el dispositivo físico Movistar Home - que seguirá funcionando si lo tienes y evolucionando -, para seguir proporcionando experiencias exclusivas.
Por el momento, llega para tablets con sistema operativo Android con versión 10.0 o superior, y se podrá usar desde cualquier punto del hogar con tan solo conectar la tablet a la red WiFi Movistar. Esto permite que desde ya aprovechemos las tablets que tienes disponibles en casa, y usamos capacidades de Autenticación de OpenGateway y Kernel para que su puesta en funcionamiento sea muy rápida. En breve, también extenderemos la experiencia a otras plataformas.
Principales funcionalidades de Movistar Home Connect
Movistar Home Connect es la evolución de las comunicaciones del hogar, un nuevo concepto de teléfono fijo, ya que puedes recibir las llamadas del teléfono fijo del hogar en él, tener vídeo conferencias y controlar la televisión.
Con la aplicación de Movistar Home Connect podrás explorar y descubrir nuevos contenidos de Movistar Plus+, interactuar por voz con la TV gracias a Aura o realizar llamadas y videollamadas con tu tablet, haciendo que la experiencia sea más intuitiva y sencilla.
Control por voz a través de Aura
Gracias al asistente virtual Aura - que está en más de 30 canales en Telefónica y gestiona más de 400 Millones de Interacciones al año - generamos con la voz una experiencia sencilla que incentiva a que compartas tiempo de calidad con el resto de los integrantes de tu hogar. Con Movistar Home Connect puedes interactuar con tu TV a través de Aura o pedirle recomendaciones o sugerencias de contenidos de Movistar Plus+ usando únicamente tu voz, para ello es necesario tener abierta la aplicación en la tablet en primer plano.
La experiencia del control de la televisión por voz es intuitiva y sencilla. Puedes pedir a Aura que busque o te recomiende contenido de Movistar Plus+ con tan solo decir, por ejemplo, “OK Aura, quiero ver una peli de acción”.
En la pantalla de la app se mostrarán resultados de contenidos sugeridos y podrás pedirle que te muestre la peli que elijas en la televisión: “OK Aura, pon The Equalizer 2 en la televisión”.
Realizar llamadas y videollamadas desde tu aplicación
Con Movistar Home Connect también continuamos con nuestra propuesta de reinventar el teléfono fijo, permitiendo realizar llamadas y videollamadas desde cualquier tablet que tengas instalada la app. Para ello, cuando accedas a esta funcionalidad por primera vez y pulses sobre el icono de llamada te aparecerá una pantalla de bienvenida, en la que también se te solicitará permiso para acceder a la cámara para así poder hacer y recibir videollamadas.
Una vez realizado el onboarding, puedes llamar tanto táctil como vocalmente diciendo "OK Aura, llamar". También puedes decidir aceptar o rechazar una llamada vocalmente diciendo “OK Aura, descuelga" u “OK Aura, ignora la llamada”. Gracias a las funcionalidades de agenda y registro de llamadas, si tienes contratado el identificador de llamadas podrás ver el número de teléfono que te llama y guardarlo directamente en la agenda.
Recuerda que con tus dispositivos Android y la funcionalidad de Google Cast puedes proyectar las videollamadas desde tu tablet a otros dispositivos compatibles, como tu televisor. Movistar Home Connectirá presentando nuevas capacidades de forma continua. En las próximas semanas veremos cómo se puede sincronizar con los contenidos que estás viendo en Movistar Plus+ para tener una experiencia de pantalla extendida y acceder a otras aplicaciones para hacer más rica esta experiencia.
Si quires, ya puedes convertirte en uno de los primeros en descargarte y probar la versión beta de Movistar Home Connect, y descubre las diferentes opciones de sacarle el mayor partido a Aura, el asistente virtual de Movistar.
Si quieres darnos feedback de nuestro nuevo servicio y ganar una invitación doble al programa de mis amigos “Ilustres Ignorantes”, únete al estudio de nuestra comunidad de Testers. Allí podrás estar con el gran Pepe Colubi y Javier Cansando. Recuerda que no necesitas ser un experto en tecnología, solo tener ganas contribuir a la creación de una mejor experiencia para todos los usuarios.
Hoy sábado, después de una larga semana dejada atrás, y de una larga semana que se viene por delante donde voy a ir al III OpenExpo Cloud Day, a una conferencia para Lima - Perú (Virtualmente), a Lisboa, Barcelona y Bilbao, voy a aprovechar a hacer un poco de deporte con calma y descansar, pero para los que queráis ver algo de tecnología, os dejo la charla de presentación de "Advanced Persistent Toys: Chucky as a Service" que hicimos en la pasada Navaja Negra.
El vídeo lo he subido a mi canal, de Youtube, donde voy guardando todas las charlas, conferencias, entrevistas, y demás vídeos que voy recuperando de todas las cosas que voy haciendo, así que, aquí lo tienes.
Y nada más, que disfrutes el fin de semana, que escuches mucha música, que hagas deporte, que te prepares para la siguiente, y que pienses en todas las cosas buenas y bonitas que vas a hacer desde hoy mismo hasta el infinito.
Y llegamos la última parte de este artículo dedicado a nuestro querido Chucky_as_a_Service que hemos creado en el equipo de Ideas Locas. En este caso para ver el final de los ejemplos de explotación, y para ver algunas contramedidas que vamos a tener que añadir a todos los productos que hagamos que sean "voice-ready" para ver si podemos evitar ataques similares a este donde nos clonen la voz y la utilicen para suplantarnos cuando hablamos a dispositivos que soportan comandos de voz.
Figura 38: Advanced Persistent ... Toys!. Cómo crear un Chucky "Alonso"
[4 de 4] - Conclusión
Antes de nada, vamos terminar los ejemplos de explotación con un par de ellos más, pero en este caso no exfiltrando información, sino ejecutando acciones en tu cuenta.
Explotación: Ejecución de Acciones Añadir Tareas
En este ejemplo vamos a hacer la modificación de un elemento de la lista de tareas, para comprobar si podemos hacer cambios en la configuración que tenga un dispositivo, algo que ya sabemos que va a ser que sí.
Pero una vez comprobado que la voz de Chucky funciona, lo más importante es que se puede hacer todo lo que pueda hacer la persona que tiene que Alexa o Google Home en su casa.
En este otro ejemplo, hemos añadido una reunión, que puede modificar el comportamiento de una persona en su día a día. Pero esto puede ser mucho más peligroso con el mundo IoT del hogar, como por ejemplo apagar y encender luces, apagar y encender electrodomésticos o... apagar y encender la alarma de casa.
Contramedidas: Machine Learning para detectar voces clonadas
Volviendo a la aproximación del artículo de "Are You talkin' ta me?", donde usamos algoritmos de Machine Learning que analizan los ficheros de audio con una voz (.wav), transformados en un espectograma (imagen) para tener un modelo entrenado, que puede hacer predicción sobre si una voz está clonada o no. Algo que no es perfecto, y que es el juego del gato y el ratón, porque cada día las clonaciones son más perfectas.
Los resultados son muy sensibles al pre-procesado de los ficheros, al ruido en los audios, etcétera, pero en todo caso, da un indicio más sobre el audio de entrada en tus sistema que va a servir para ejecutar un comando emitido por vez en un sistema que ha pasado previamente el filtro de biometría.
Contramedidas: 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, los investigadores 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.
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.
Figura 48: El Fary en inglés con su voz clonada
Eso sí, los avances en DeepFakes no paran de avanzar, y como vemos en este vídeo hecho con HeyGen la clonación de una voz tan particular como la de El Fary, para hacerla hablar en inglés traduciendo el contenido de un vídeo se puede hacer en cuestión de unos minutos. Veremos dónde nos lleva el mundo de la Gen-AI aplicada a los Humanos Sintéticos.
Llegados a esta parte, toca ver cuál es la arquitectura de software que hemos utilizado, y ver a nuestro querido "Chucky Alonso", como lo bautizaron Iker Jiménez y Carmen Porter para su primera aparición televisiva, en algunos ejemplos de captura de voz, clonación, y explotación de acciones en un entorno concreto con Alexa o Google Home.
Figura 26: Advanced Persistent ... Toys!
Cómo crear un Chucky "Alonso" [3 de 4] - Exploiting
Lo primero, vistos los requisitos iniciales del proyecto, donde tenemos un "Caballo de Troya Físico" en forma de muñeco diabólico que tiene que conectarse a un C&C, grabar voces, y emitir sonidos, necesitábamos un sistema de comunicación basado en mensajes, así que utilizamos MQTT como Broker de mensajes de comunicación entre el C&C y nuestro Chucky.
Figura 27: Arquitectura de Chucky_as_a_Service
En el dispositivo corríamos el software de Chucky_as_a_Service como un framework en Python, que ya sabéis que es un lenguaje perfecto tanto para el pentesting como para el hacking, así que con él hicimos el framework de nuestro Chucky.
Si te conectas a la Raspberry Pi Zero W, puedes monitorizar el funcionamiento del sistema y revisar el log de acciones que se están llevando a cabo en el muñeco, taly como podéis ver en la siguiente captura.
El backend, donde ejecutamos los algoritmos de Machine Learning de HuggingFace y los servicios de Speech to text con Whisper, se está ejecutando en Plesk. En él ejecutamos los algoritmos de los que hemos hablado previamente:
Así, toda la carga de ejecución de algoritmos de Machine Learning recae en el backend, y no en nuestra Raspberry Pi, además de dejar las posibilidades de jugar con los datos obtenidos en el servidor controlado por el atacante.
Figura 30: C&C en Plesk donde se ejecutan los modelos ML
Por último, toda el trabajo de clonación de voces se hace con las APIs de ElevenLabs, que permiten clonar y generar cualquier texto con la voz clonada mediante el uso de los servicios SaaS de la compañía, así que todo se ha generado con sus modelos.
Explotación: Grabación, Diarization, Speaker Recognition y Text to Speech
Ahora, ya vista la arquitectura, podemos ver las demos para ver cómo funciona este proyecto tan curioso. En primer lugar, vamos a ver cómo graba las voces, las sube al servidor y ejecuta los algoritmos de Machine Learning de Speaker Diarization, Speaker Recognition y Voice to Text para poder tener en el panel de control en Plesk lo que se está diciendo cerca de nuestro muñeco diabólico.
Con los audios reconocidos se puede hacer la clonación de las voces, que vamos a ver en la siguiente demostración.
Explotación: Clonación de voz y utilización de voz clonada
En esta demostración, Alvaro Núñez-Romero del equipo de Ideas Locas realiza el proceso de clonación de su voz con el API de ElevenLabs en un minuto, y la utilización de la voz clonada para saltarse la protección de Google Home de Speaker ID utilizando la voz del dueño de la casa que se ha clonado.
En este caso la arquitectura de componentes que son necesarios para realizar este proceso se pueden ver en el siguiente flujo de acciones que describe qué esta pasando en cada momento.
Figura 33: Flujo del proceso de clonación de voces con ElevenLabs
Y a partir de aquí, se pueden lanzar todos los comandos de exfiltración y ejecución de acciones en los SmartSpeakers del hogar con la voz que se desee, que es la que quedará grabada en los logs de Alexa o Google Home.
Explotación: Ejecución de comandos y grabación de respuesta
Para poder sacar toda la información de un dispositivo, lo primero que necesitamos es tener un control de las respuestas que de el SmartSpeaker, ya que no vamos a estar presentes allí, así que Chucky ejecuta el comando, escucha la respuesta, graba lo respondido por el SmartSpeaker y te lo transcribe.
En este vídeo tienes un ejemplo de cómo funciona con un comando simple como "Hola", realizado a un Alexa.
Figura 35: Flujo del proceso de emitir un comando y grabar la respuesta
Y en el gráfico anterior tienes el flujo de componentes que son necesarios para realizar la ejecución de un comando y la grabación de la respuesta, así como su transcripción con Whisper.
Explotación: Exfiltración de datos con Alexa
Este ejemplo es uno muy sencillo, donde utilizando los comandos analizados en la parte anterior podemos sacar información de datos asociados a la cuenta de Amazon del dueño de un dispostivo Alexa. En este caso, unas preguntas sencillas de listas para ver qué sale.
Visto este ejemplo, cualquier pieza de información que Alexa comparta de cualquier cuenta de Amazon asociado al dispositivo, se podría extraer.
Explotación: Exfiltración de datos con Google Home
En este otro ejemplo, el objetivo es realizar lo mismo que en el caso anterior, que es probar la exfiltración de datos de una cuenta de Google asociada a Google Home. La cantidad de información que se puede extraer depende las configuraciones de privacidad y seguridad de Google Home.
El funcionamiento es muy similar a lo visto con Alexa, así que os podéis imaginar que a partir de este punto cualquier dato al que se tenga acceso, se puede exfiltrar, y utilizando la voz que se quiera.
Aún hay más
Por supuesto, no solo la parte de escuchar es peligroso. No solo que te puedan clonar la voz remotamente es un problema. Tampoco que te puedan sacar información de tus cuentas de Amazon o Google es lo peor. Y es que también pueden hacer acciones a través de tus SmartSpeakers, como Alexa o Google Home, como veremos en la última parte donde terminaremos este artículo.
Tras acabar los antecedentes de este proyecto "Codename:Chucky_as_a_Servive", vamos a continuar con la parte que tiene que ver más con los "makers". Al final, la idea de este Advanced Persistent Toy es la de crear un autentico Caballo de Troya en un espacio físico donde hay SmartSpeakers como Alexa o Google Home, así que necesitábamos un buen "caballo de madera", o en este caso un juguete lo suficientemente grande.
Figura 12: Advanced Persistent ... Toys! - Cómo crear un Chucky "Alonso"
[2 de 4] - Making & Working
Nosotros elegimos a Chucky, el muñeco diabólico porque nos parecía muy apropiado para la presentación, y buscamos uno que tuviera unas buenas dimensiones para poder incluirle una placa de control, un módulo de conectividad móvil, y una tarjeta de sonido para escuchar y hablar.
Como el objetivo era hacer una de nuestras PoCs & Hacks Just For Fun con Raspberry Pi, aprovechamos el espacio que traía la electrónica del propio muñeco de Chucky y metimos una batería externa que alimentara el equipamiento.
Figura 15: Esquema de conexión del HW de Chucky_as_a_Service
El esquema de conexión es muy sencillo, y hay que tener en cuenta que hay que conectarle los altavoces y y micrófono para que nuestro muñeco diabólico pueda escuchar la voz de las personas que se va a clonar, además de reproducir los comandos de voz que se envían desde el C&C cuando no hay nadie en casa.
Figura 16: "Operación HW" de Chucky
Si esto se convirtiera en un APT de verdad para una compañía, habría que buscar una solución con acceso a energía permanente, ya sea por medio de que sea un dispositivo siempre conectado, o porque tenga una recarga constante tipo la Roomba.
Figura 17: Otras CPU para hacer tu proyecto
Para nosotros era suficiente, pero podrías elegir otro muñeco, otro dispositivo y otro hardware para hacer el tuyo propio, con CPUs más pequeñas, y meterlas en otros muñecos menos "sospechosos" que nuestro muñeco diabólico.
Figura 18: Elige el mejor muñeco para meter tu "Chucky"
Una vez terminada la parte del hardware hay que pasar a la parte del software. Para eso, vamos a repasar los objetivos del proyecto, que nos llevarán a una arquitectura concreta para poder hacerlo de la mejor manera posible
Objetivos del Proyecto Chucky_as_a_Service
Vamos a describir las partes fundamentales del proyecto, y luego vemos las piezas de la arquitectura software que hemos construido, y las demos de Chucky_as_a_Service funcionando.
Ejecución de comandos de voz: Con la voz clonada elegida se ejecutan comandos de voz desde el muñeco, para poder controlar los SmartSpeakers del hogar.
Bypass de protección de reconocimiento de voz "Voiceprinting": Tanto el utilizado por Alexa - que se llama Alexa Voice ID -, como el de Google Home - llamado Speaker ID -: Para ello, se utilizan servicios de Text-To-Speech desde el APT y el API de ElevenLabs para conseguir el audio con el texto, el tono y la voz elegida para lanzar el comando.
Ejecución de Payloads: Una vez que tienes el el muñeco en el entorno físico objetivo, y ya se ha clonado la voz, solo debe esperarse a que no haya nadie en el hogar, algo que se puede hacer o bien analizando el ruido en el hogar, o las perturbaciones en la señal WiFi, y ejecutar comandos de voz para Alexa o Google Home que permitan tanto extraer información como ejecutar acciones en el dispositivo del hogar.
Figura 23: Chucky_as_a_Service Payloads
Para ello, hemos probado una lista de ellos con Google Home, Alexa y Siri, y en las configuraciones por defecto estos son los resultados obtenidos. De la parte de Siri, teníamos mucho hecho del libro de "Hacking iOS: iPhone & iPad (2ª Edición)" y de cuando nos dio por la locura de Klingonizar un iPhone con comandos de voz.
Se escuchan las respuestas y se suben al C&C: Por supuesto, después de ejecutar un comando con el SmartSpeaker, se escuchan las repuestas y se suben al panel de Control para que se puedan escuchar y transcribir el texto obtenido.
Figura 25: Exfiltración de la agenda de actividades en el C&C
Y hasta aquí esta segunda parte, en la siguiente veremos la arquitectura software y al muñeco diabólico haciendo de las suyas.
La semana pasada sacamos a la luz el proyecto Codename: Chucky_as_a_Service del equipo de Ideas Locas con el que llevamos trabajando desde la pasada RootedCON, donde hablamos de las DeepFakes de Audio y los esquemas de ciberseguridad que se abrían con la evolución tan exponencial de la calidad de éstas en el año 2022. Por supuesto, en 2023 esto ha sido aún mayor, y por eso comenzamos a trabajar en este muñeco diabólico que controla tu voz clonando tu voz y controlando tus SmartSpeakers cuando tú no estas.
Figura 1: Advanced Persistent ... Toys! : Cómo crear un Chucky "Alonso"
[1 de 4] - Antecedentes
La presentación la hicimos por primera vez en la pasada Navaja Negra de Albacete, donde además de tratarnos de maravilla como siempre, entregaron a todos los asistentes 100 Tempos de MyPublicInbox que tienen en su wallet nada más iniciar sesión, por si querían luego preguntarnos sobre este proyecto en concreto en nuestro buzón de Ideas Locas.
Antes de comenzar a desgranar la parte dedicada al proyecto Codename: Chucky_as_a_Service, que luego Iker Jiménez y Carmen Porter bautizaron en su programa como "Chucky Alonso", en la presentación comencé haciendo un recorrido del camino que hemos seguido hasta llegar aquí. Nada es fruto de un día, sino de un camino de muchos años jugando y haciendo cosas en este mundo. Este camino que nosotros hemos seguido, lo puedes seguir en varios artículos y conferencias que merece la pena que te leas y veas antes. Vamos con ellos.
La idea era tan sencilla como que alguien podía manejar un modelo de IA que me recreaba en tiempo real como podéis ver en este vídeo en el que Enrique Blanco me controla.
Figura 5: Demo de Enrique Blanco generando vídeo de Chema Alonso
Y esto nos llevó a meternos en mucha profundidad con las tecnologías de los DeepFakes, los humanos sintéticos y las técnicas de detección, algo de lo que hablé en el artículo Blade Runners & Virtual Replicants con DeepFakes y que impartí en la OpenExpo Europe en el año 2021 (en plena pandemia).
Jugar con los Cognitive Services y la Inteligencia Artificial se convirtió en nuestro día a día, y a principios del año, en la RootedCON 2022, presentamos lo que estábamos haciendo en la charla de Cognitive Services & Ciber Seguridad, donde además metíamos trabajos de Ciberseguridad y Machine Learning como los que recogimos en el libro de 0xWord dedicado a este tema.
En ella explicábamos casos de uso de cómo crear servicios de ciberseguridad basados en Cognitive Services y al mismo tiempo cómo, con los estos mismos Cognitive Services, hackear un Tesla o la vida digital de una persona, bastaba con poner pegatinas a una señal de tráfico y romper el Cognitive Service de Visión Artificial o usar el Cognitive Service de Alexa o Siri para simplemente hablar con ellos y conseguir lo que quieres.
En el año 2022, seguimos avanzando el mundo de las DeepFakes, pero sobre todo en la parte de las técnicas de detección. Durante ese año recopilamos todas las investigaciones posibles para detección de DeepFakes y acabamos con una herramienta que presentamos en la Hackron 2023 que es nuestro CodeName: Test Voigh-Kampff, que podéis ver en este vídeo.
Y llegados a este punto comenzamos a trabajar en el proyecto Codename: Chucky_as_a_Service con la premisa de... "y si metemos una Raspberry Pi o un Arduino dentro de un muñeco diabólico que te escuche en casa, te clone la voz, y una vez que no estés en tu casa te controle la vida hablando con tu Alexa o Google Home".... " ¿Tú crees que funcionará? No sé, es una locura, pero puede molar... ¿nos ponemos a ello?...
Pero eso os lo empiezo a contar ya en la segunda parte de este artículo, que no va a ser muy largo, pero espero que os anime a jugar con estas tecnologías.