Método de clasificación basado en árboles de sintaxis profunda y podados para vulnerabilidades de código Java
Autores: Ding, Jiaman; Fu, Weikang; Jia, Lianyin
Idioma: Inglés
Editor: MDPI
Año: 2023
Acceso abierto
Artículo científico
2023
Método de clasificación basado en árboles de sintaxis profunda y podados para vulnerabilidades de código Java
Categoría
Matemáticas
Subcategoría
Matemáticas generales
Palabras clave
Desarrollo rápido
J2EE
Extracción de vulnerabilidades
árbol de sintaxis abstracta
Bosque profundo
Código Java
Licencia
CC BY-SA – Atribución – Compartir Igual
Consultas: 18
Citaciones: Sin citaciones
El rápido desarrollo de J2EE (Java 2 Platform Enterprise Edition) ha traído desafíos severos sin precedentes para la minería de vulnerabilidades. El método actual de clasificación de vulnerabilidades basado en árboles de sintaxis abstractos no elimina nodos irrelevantes al procesar el árbol de sintaxis abstracto, lo que resulta en un largo tiempo de entrenamiento y problemas de sobreajuste. Otro problema es que diferentes estructuras de código se traducirán a la misma secuencia de nodos de árbol al procesar árboles de sintaxis abstractos utilizando un recorrido en profundidad, por lo que en este proceso, el algoritmo de recorrido en profundidad conducirá a la pérdida de información de estructura semántica que reducirá la precisión del modelo. Con el objetivo de abordar estos dos problemas, proponemos un método de clasificación basado en bosque profundo y árbol de sintaxis podado (PSTDF) para vulnerabilidades de código Java. Primero, el recorrido en anchura del árbol de sintaxis abstracto obtiene la secuencia de árboles de sentencias, luego, la poda de árboles de sentencias elimina nodos irrelevantes, luego utilizamos un codificador basado en recorrido en profundidad para obtener el vector, y finalmente, utilizamos un bosque profundo como clasificador para obtener resultados de clasificación. Los experimentos en conjuntos de datos de vulnerabilidades de acceso público muestran que PSTDF puede reducir la pérdida de información de estructura semántica y eliminar efectivamente el impacto de la información redundante.
Descripción
El rápido desarrollo de J2EE (Java 2 Platform Enterprise Edition) ha traído desafíos severos sin precedentes para la minería de vulnerabilidades. El método actual de clasificación de vulnerabilidades basado en árboles de sintaxis abstractos no elimina nodos irrelevantes al procesar el árbol de sintaxis abstracto, lo que resulta en un largo tiempo de entrenamiento y problemas de sobreajuste. Otro problema es que diferentes estructuras de código se traducirán a la misma secuencia de nodos de árbol al procesar árboles de sintaxis abstractos utilizando un recorrido en profundidad, por lo que en este proceso, el algoritmo de recorrido en profundidad conducirá a la pérdida de información de estructura semántica que reducirá la precisión del modelo. Con el objetivo de abordar estos dos problemas, proponemos un método de clasificación basado en bosque profundo y árbol de sintaxis podado (PSTDF) para vulnerabilidades de código Java. Primero, el recorrido en anchura del árbol de sintaxis abstracto obtiene la secuencia de árboles de sentencias, luego, la poda de árboles de sentencias elimina nodos irrelevantes, luego utilizamos un codificador basado en recorrido en profundidad para obtener el vector, y finalmente, utilizamos un bosque profundo como clasificador para obtener resultados de clasificación. Los experimentos en conjuntos de datos de vulnerabilidades de acceso público muestran que PSTDF puede reducir la pérdida de información de estructura semántica y eliminar efectivamente el impacto de la información redundante.