Aprendizaje y fusión de representaciones de código de múltiples vistas para la detección de vulnerabilidades de funciones
Autores: Tian, Zhenzhou; Tian, Binhui; Lv, Jiajun; Chen, Lingwei
Idioma: Inglés
Editor: MDPI
Año: 2023
Acceso abierto
Artículo científico
2023
Aprendizaje y fusión de representaciones de código de múltiples vistas para la detección de vulnerabilidades de funciones
Categoría
Ingeniería y Tecnología
Subcategoría
Ingeniería Eléctrica y Electrónica
Palabras clave
Crecimiento
Vulnerabilidades
SFVD
Características
Detección
Código
Licencia
CC BY-SA – Atribución – Compartir Igual
Consultas: 22
Citaciones: Sin citaciones
El crecimiento explosivo de vulnerabilidades plantea una amenaza significativa para la seguridad de los sistemas de software. Aunque han surgido varios métodos de detección de vulnerabilidades basados en el aprendizaje profundo, estos dependen principalmente de características semánticas extraídas de una única estructura de representación de código, lo que limita su capacidad para detectar vulnerabilidades ocultas en profundidad dentro del código. Para abordar esta limitación, proponemos SFVD, abreviatura de Detector de Vulnerabilidades basado en la Fusión de Secuencia y Estructura, que fusiona características indicativas de vulnerabilidad aprendidas a partir de múltiples vistas del código para una detección de vulnerabilidades más precisa. Específicamente, SFVD emplea modelos de redes neuronales bien adaptados o cuidadosamente extendidos para extraer características semánticas indicativas de vulnerabilidad de la secuencia de tokens, el grafo de flujo de control atribuido (ACFG) y las representaciones del árbol de sintaxis abstracta (AST) de una función, respectivamente. Estas características capturan diferentes perspectivas del código, que luego se fusionan para permitir que SFVD detecte con precisión vulnerabilidades que están bien ocultas dentro de una función. Los experimentos realizados en dos grandes conjuntos de datos de vulnerabilidades demostraron el rendimiento superior de SFVD frente a enfoques de vanguardia, con una precisión y puntuaciones F1 que alcanzaron el 98,07% y el 98,14% respectivamente en la detección de la presencia de vulnerabilidades, y el 97,93% y el 97,94%, respectivamente, en la identificación de tipos específicos de vulnerabilidades. Además, con respecto al conjunto de datos del mundo real D2A, SFVD logró ganancias de rendimiento promedio del 6,86% y del 14,84% en términos de precisión y métricas F1, respectivamente, sobre las líneas de base de vanguardia. Este estudio de ablación también confirma la superioridad de fusionar la semántica implícita en múltiples vistas de código distintas para mejorar aún más el rendimiento de detección de vulnerabilidades.
Descripción
El crecimiento explosivo de vulnerabilidades plantea una amenaza significativa para la seguridad de los sistemas de software. Aunque han surgido varios métodos de detección de vulnerabilidades basados en el aprendizaje profundo, estos dependen principalmente de características semánticas extraídas de una única estructura de representación de código, lo que limita su capacidad para detectar vulnerabilidades ocultas en profundidad dentro del código. Para abordar esta limitación, proponemos SFVD, abreviatura de Detector de Vulnerabilidades basado en la Fusión de Secuencia y Estructura, que fusiona características indicativas de vulnerabilidad aprendidas a partir de múltiples vistas del código para una detección de vulnerabilidades más precisa. Específicamente, SFVD emplea modelos de redes neuronales bien adaptados o cuidadosamente extendidos para extraer características semánticas indicativas de vulnerabilidad de la secuencia de tokens, el grafo de flujo de control atribuido (ACFG) y las representaciones del árbol de sintaxis abstracta (AST) de una función, respectivamente. Estas características capturan diferentes perspectivas del código, que luego se fusionan para permitir que SFVD detecte con precisión vulnerabilidades que están bien ocultas dentro de una función. Los experimentos realizados en dos grandes conjuntos de datos de vulnerabilidades demostraron el rendimiento superior de SFVD frente a enfoques de vanguardia, con una precisión y puntuaciones F1 que alcanzaron el 98,07% y el 98,14% respectivamente en la detección de la presencia de vulnerabilidades, y el 97,93% y el 97,94%, respectivamente, en la identificación de tipos específicos de vulnerabilidades. Además, con respecto al conjunto de datos del mundo real D2A, SFVD logró ganancias de rendimiento promedio del 6,86% y del 14,84% en términos de precisión y métricas F1, respectivamente, sobre las líneas de base de vanguardia. Este estudio de ablación también confirma la superioridad de fusionar la semántica implícita en múltiples vistas de código distintas para mejorar aún más el rendimiento de detección de vulnerabilidades.