Sqlfuzz: dirigido fuzzing para vulnerabilidad de inyección sql
Autores: Yuan, Ye; Lu, Yuliang; Zhu, Kailong; Huang, Hui; Chen, Yuanchao; Zhang, Yifan
Idioma: Inglés
Editor: MDPI
Año: 2024
Acceso abierto
Artículo científico
2024
Sqlfuzz: dirigido fuzzing para vulnerabilidad de inyección sql
Categoría
Ingeniería y Tecnología
Subcategoría
Ingeniería Eléctrica y Electrónica
Palabras clave
Tecnología de pruebas de fuzz
Vulnerabilidades de inyección SQL
Pruebas de fuzz guiadas por cobertura en modo gris
Pruebas de fuzz guiadas por código potencialmente vulnerable en modo gris
Tecnología de análisis de taint
Sistema prototipo sqlFuzz
Licencia
CC BY-SA – Atribución – Compartir Igual
Consultas: 43
Citaciones: Sin citaciones
La tecnología de pruebas de fuzz es un enfoque importante para detectar vulnerabilidades de inyección SQL. Entre ellos, la tecnología de pruebas de fuzz de caja gris guiada por cobertura es el enfoque actual de investigación y se ha demostrado ser un método efectivo. Sin embargo, para la vulnerabilidad de inyección SQL, las pruebas de fuzz de caja gris guiadas por cobertura como método de detección tienen problemas de baja eficiencia y altos falsos positivos. Para resolver los problemas anteriores, proponemos una tecnología de pruebas de fuzz de caja gris guiada por código potencialmente vulnerable. En primer lugar, se utiliza la tecnología de análisis de manchas para localizar todos los caminos de propagación de manchas que contienen vulnerabilidades potenciales como códigos potencialmente vulnerables. Luego, se instrumenta el código fuente del programa de aplicación de acuerdo con la ubicación del código potencialmente vulnerable. Finalmente, se utiliza la retroalimentación de semillas durante la ejecución para guiar la selección y mutación de semillas, y se generan un gran número de casos de prueba. Basándonos en las técnicas anteriores, implementamos el sistema prototipo sqlFuzz y utilizamos este sistema para analizar ocho aplicaciones PHP modernas. Los resultados experimentales muestran que sqlFuzz no solo puede detectar más vulnerabilidades de inyección SQL que la tecnología de pruebas de fuzz de caja gris guiada por cobertura existente, sino que también mejora significativamente la eficiencia, en términos de eficiencia temporal aumentada en un 80 por ciento.
Descripción
La tecnología de pruebas de fuzz es un enfoque importante para detectar vulnerabilidades de inyección SQL. Entre ellos, la tecnología de pruebas de fuzz de caja gris guiada por cobertura es el enfoque actual de investigación y se ha demostrado ser un método efectivo. Sin embargo, para la vulnerabilidad de inyección SQL, las pruebas de fuzz de caja gris guiadas por cobertura como método de detección tienen problemas de baja eficiencia y altos falsos positivos. Para resolver los problemas anteriores, proponemos una tecnología de pruebas de fuzz de caja gris guiada por código potencialmente vulnerable. En primer lugar, se utiliza la tecnología de análisis de manchas para localizar todos los caminos de propagación de manchas que contienen vulnerabilidades potenciales como códigos potencialmente vulnerables. Luego, se instrumenta el código fuente del programa de aplicación de acuerdo con la ubicación del código potencialmente vulnerable. Finalmente, se utiliza la retroalimentación de semillas durante la ejecución para guiar la selección y mutación de semillas, y se generan un gran número de casos de prueba. Basándonos en las técnicas anteriores, implementamos el sistema prototipo sqlFuzz y utilizamos este sistema para analizar ocho aplicaciones PHP modernas. Los resultados experimentales muestran que sqlFuzz no solo puede detectar más vulnerabilidades de inyección SQL que la tecnología de pruebas de fuzz de caja gris guiada por cobertura existente, sino que también mejora significativamente la eficiencia, en términos de eficiencia temporal aumentada en un 80 por ciento.