Fuzzing de vectores de entrada de audio

6

Hace unos días tuve que hacer una llamada telefónica y en el otro extremo de la línea había una máquina que usaba un software de reconocimiento de voz para validar las respuestas habladas por los clientes al menú de servicio. Me pregunté si sería posible confundir este tipo de entrada con algún tipo de archivos de ruido generados al azar o algo así. Al final, el software analiza la voz del cliente mediante algunas heurísticas o algún sistema de aprendizaje automático o similar.

    
pregunta Dirk 02.07.2014 - 22:15
fuente

1 respuesta

5

enlace

El documento anterior ofrece una explicación de una auditoría de dicho sistema. El primer lugar donde comienzan es mediante el uso de una API para automatizar las llamadas (skype en este caso) y trabajar para difuminar la interfaz basada en DTMF. Parece que pocos de estos sistemas están puramente basados en el reconocimiento de voz, y que se pueden encontrar muchas vulnerabilidades con solo automatizar los bits de tonos.

enlace

también tiene información sobre cómo romper un sistema de este tipo.

Entonces, para 1) No necesariamente tienes que borrar la voz directamente.

Ahora, si decidiste que tenía que confundir la voz, no creo que exista una biblioteca que lo haga por ti. Comenzaría con un diccionario de palabras grabadas, tal vez enlace , y escribiera un guión para reproducir combinaciones de palabras. Usaría la api de Skype para hacer la llamada y luego tocaría las oraciones que se le ocurrieron para probar el sistema.

También podría ser rentable disparar ruidos aleatorios / tonos sinusoidales en el sistema. Es posible que encuentre algún tipo de frecuencia de prueba que abra el sistema, como solía hacer el viejo teléfono. Hay literalmente toneladas de programas que te ayudarán a crear secuencias de comandos de prueba. Incluso podría escribir esa parte en javascript con la API de audio web si lo desea.

Entonces, es posible que desee utilizar un software de reconocimiento de voz para detectar los fracasos y los éxitos.

Nada de esto será posible sin un mapeo exhaustivo del sistema de antemano. El plan de pruebas que he vinculado arriba sugiere eso, y creo que ahí es donde debes comenzar.

    
respondido por el baordog 02.07.2014 - 22:36
fuente

Lea otras preguntas en las etiquetas