Seguridad

El Captcha Cognitivo de HBO max de reconocimiento de sonidos con Machine Learning & GPT4-o

Hace un tiempo que tenía pendiente contaros un caso con el que he estado jugado un rato con mis compañeros Julián Isla, y Fran Ramírez y que tiene que ver con un Captcha Cognitivo de reconocer sonidos. Y claro, era demasiado jugoso para no acabar de probarlo con los motores de GenAI. Así que aprovecho hoy para contároslo.

Figura 1: El Captcha Cognitivo de HBO max de reconocimiento
de sonidos con Machine Learning &  GPT4-o
Antes de comenzar con esta prueba, os dejo aquí las referencias a todas las pruebas con Captchas Cognitivos que he ido recapitulando durante estos últimos meses, por si os gusta este mundillo.
En este caso, el Captcha Cognitivo es auditivo para las personas que tengan alguna dificultad con la visión para resolver los clásicos Captchas Cogntivos de agudeza visual o de resolución de puzzles gráficos. En este caso, es de HBO max

Figura 2: Captcha Cognitivo de HBO max para proteger tu cuenta
Si os fijáis en la imagen anterior que os publiqué en el artículo de «Captcha Cognitivo de la mano y la plancha en HBO max» se puede ver como está el «Audio Challenge«. Donde lo que te hacen es pedir que reconozcas un tipo de sonido, así que nos pusimos a jugar con ello para ver si éramos capaces de resolverlo al estilo de cómo nos saltamos el ReCaptchav2 de Google con Cognitive Services para reconocer los caracteres usando el «Audio Challenge» de accesibilidad.
Al final, este tipo de barreras evitan el uso de herramientas de pentesting automático en ejercicios de Red Team, y saber cómo saltarse estos bloqueos de Captcha Cognitivo usando Inteligencia Artificial es siempre una buena práctica. El ejemplo que tenéis aquí es el vídeo que yo grabé del Audio Challenge que me tocó con HBO max el mismo día que tenía que resolver el de la plancha y los dedos. Así que podías elegir cualquiera de los dos.

Figura 4: El Audio Challenge de HBO max
La primera idea fue hacer un procesado manual por nuestra parte, y cortar los sonidos de las tres opciones haciendo un procesado del sonido, reconociendo con un Cognitive Service los sonidos de «Option 1«, «Option 2» y «Option 3«, para luego hacer una descripción de los audios.

Figura 5: Cortando las opciones en ficheros de audio

Lo siguiente fue utilizar un clasificador que nos permitiera describir los audios, así que probamos YAMNET que tiene un descriptor de sonidos entrenado con un dataset de 2.1 Millones de sonidos para poder describir los sonidos.
Con esta aproximación nos parecía una solución perfecta basada en un modelo de Machine Learning que ha aprendido a reconocer sonidos, así que iba a ser sencillo resolverlo, así que nada, lanzamos un Python con el fichero de audio que sabíamos que era del sonido de gatos.

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

El resultado lo tenéis en esta captura, donde se puede ver cómo describe YAMNet el audio donde salen maullando los gatos.

Figura 8: Resultado de YAMNet

El resultado, aunque prometedor, no nos resolvía el problema de manera fácil y rápida para automatizarlo, así que teníamos que buscar otra alternativa que decidiera si con esa salida sería posible que fuera el maullido de un gato o no.
ChatGPT4-o
Estuvimos probando diferentes opciones, pero al final, nos encamino a lo más sencillo. Es decir, nos estuvimos complicando cuando podía ser más sencillo. En esta captura corte el vídeo de la Figura 4 y le pregunté a ChatGPT si le parecía un gato o no, y respondió que sí.

Figura 9: «Si tuviera que apostar, diría que es un gato»

El juego está en que todos los sonidos podrían ser un gato – en circunstancias curiosas – pero se trataba de que eligiera solo uno de ellos, así que le hicimos el prompt adecuado. Al final, todos estos «Audio Challenge» llevan tres opciones y un. texto descriptivo del reto que se puede leer con IA fácilmente, así que bastaba con describirle bien el proceso.

Figura 10: «He revisado manualmente el audio»
Y lo hace perfectamente. Dice que el sonido que más se asemeja a maullidos de gatos es la Opción 2. Lo curioso es que hace el proceso completo. Extrae el audio del vídeo, busca los segmentos por las opciones y el número y luego analiza «manualmente» cada segmento para ver cuál se parece más al de los gatos, así que hace un proceso completo.
Reflexión final
Hemos probado mucho con este Captcha Cognitivo con diferentes modelos LLM Multimodales, y los resultados han sido dispares. Desde no puedo analizarlo hasta alucinaciones varias. En el caso de GPT4o vimos que analizaba el audio con herramientas de Machine Learning, y en este caso extrae la pista de audio – procesa el vídeo -, corta el audio en segmentos, analiza los ruidos con el modelo de ML, y da una predicción. Lo que deja claro que en nada de tiempo los Captchas Cognitivos van a tener que evolucionar a algo que no puedan hacer estas herramientas de GenAI, porque se los van a saltar con extrema facilidad.
¡Saludos Malignos!
Autor: Chema Alonso (Contactar con Chema Alonso)  

Powered by WPeMatico

Gustavo Genez

Informático de corazón y apasionado por la tecnología. La misión de este blog es llegar a los usuarios y profesionales con información y trucos acerca de la Seguridad Informática.