Home Tecnología Fuzzer de código abierto utiliza un algoritmo evolutivo para producir entradas de...

Fuzzer de código abierto utiliza un algoritmo evolutivo para producir entradas de prueba personalizadas

4
0

Crédito: Dominio público de Pixabay/CC0

Durante la última década, los fuzzers se han convertido en las herramientas más utilizadas para probar la seguridad y la robustez del software. Generando entradas aleatorias y alimentándolas a una aplicación, ayudan a detectar el comportamiento del programa no deseado, como errores y vulnerabilidades.

Fandango, una nueva herramienta de difusión de código abierto, utiliza un algoritmo evolutivo para generar automáticamente miríadas de entradas de prueba de alta calidad que satisfacen restricciones definidas. Avance de las pruebas basadas en el lenguaje mediante un paso decisivo, Fandango emplea un procedimiento iterativo que se modela en la evolución biológica, produciendo entradas personalizadas que cubren tanto la semántica como la sintaxis. Ahora disponible en su lanzamiento 1.0, Fandango ha sido desarrollado por investigadores del CISPA Helmholtz Center
para la seguridad de la información.

Los investigadores de CISPA José Antonio Zamudio Amaya y el profesor Dr. Andreas Zeller han introducido el algoritmo bioinspirado en la pelusa de software. En una emulación de evolución biológica, su algoritmo realiza un proceso de mutación y selección para producir entradas que corresponden estrechamente a las condiciones del probador. Su papel es publicado En la revista Actas de la ACM sobre ingeniería de software.

Zamudio explica: “El algoritmo evolutivo es bastante sencillo. Comenzamos con una población de insumos que provienen de las especificaciones de un programa. Y luego hacemos dos cosas: primero, mutar esas entradas para activar diferentes cambios y segundo, cruzar estas entradas, lo que significa combinar partes de dos entradas para producir desprendimientos. Repitemos este proceso y con todas las iteraciones, evaluamos la calidad de las entradas en términos de las restricciones de las restricciones. probador “.

Este proceso da como resultado entradas de prueba válidas que están personalizadas para explorar específicamente partes particulares del programa que se está probando.

Fandango ofrece control completo sobre las entradas de prueba

Si bien no es la primera herramienta difusa para automatizar la generación de pruebas, Fandango es la primera herramienta que brinda a los probadores de software control completo sobre las características de las entradas que generan. Como Zeller explica: “En contraste con un fuzzer normal, Fandango produce entradas que están bajo el control del probador, porque suponemos que los probadores a) saben cómo se ve una entrada típica y b) tienden a tener una idea de dónde podrían estar los errores típicos. Son los que tienen el conocimiento del dominio y queremos que puedan usar ese conocimiento de dominio cuando prueban un programa”. “.

Fandango permite a los probadores no solo especificar la sintaxis de la entrada, es decir, la estructura que desean, sino también para definir la semántica de la entrada, es decir, su significado y propiedades específicas.

Para ilustrar los beneficios de Fandango para las pruebas de software, Zeller utiliza el ejemplo de una tienda en línea para muebles hechos a medida, donde los clientes deben ingresar valores individuales para la altura, la longitud y la profundidad que, en conjunto, determinan el tamaño de un mueble.

“En este caso”, explica Zeller, “sería interesante ver qué hace el programa cuando digo, por ejemplo, ‘este mueble debería tener una longitud de menos de cero o una superficie de asiento de un kilómetro cuadrado’. Usando nuestro algoritmo evolutivo, Fandango podría calcular automáticamente los valores para todos estos campos individuales (altura, longitud, profundidad, que satisfaría precisamente la condición de esta inmensa superficie de un kilómetro cuadrado “.

Comentarios invitados: Fandango está disponible en Github

Para que los probadores y programadores de software se beneficien de su investigación, Zamudio y Zeller han puesto a disposición Fandango en Girub. El programa es de código abierto y viene en forma de una herramienta de línea de comandos simple, acompañada de tutoriales y documentación extensa. Los investigadores de CISPA también están invitando abiertamente a la retroalimentación con el objetivo de mejorar aún más su fuzzador.

“No puedo esperar para ver cómo las personas usan Fandango y lo que sugieren que implementamos más. Ya he estado hablando con personas en varias compañías. La idea de controlar lo que debe probarse y la idea de poder verificar los resultados de un cálculo es una gran bendición para ellos”, dice Zeller.

La investigación de CISPA sobre Fandango se presentará en el Simposio Internacional sobre Pruebas y Análisis de Software (Icesta 2025) en Trondheim, Noruega el 27 de junio de 2025.

Más información: José Antonio Zamudio Amaya et al, Fandango: pruebas en evolución del lenguaje, Actas de la ACM sobre ingeniería de software (2025). Doi: 10.1145/3728915

Githubub: github.com/fandango-fuzzer/fandango

Proporcionado por CISPA Helmholtz Center for Information Security

Cita: Fuzzer de fuente abierta utiliza algoritmo evolutivo para producir entradas de prueba personalizadas (2025, 26 de junio) Recuperado el 26 de junio de 2025 de https://techxplore.com/news/2025-06-source-fuzzer-evolutionary-algorithm-customized.html

Este documento está sujeto a derechos de autor. Además de cualquier trato justo con el propósito de estudio o investigación privada, no se puede reproducir ninguna parte sin el permiso por escrito. El contenido se proporciona solo para fines de información.

Fuente de noticias