Hacia una detección de vulnerabilidades en Python basada en Conformer a nivel de bloque
Autores: Bagheri, Amirreza; Hegeds, Péter
Idioma: Inglés
Editor: MDPI
Año: 2024
Acceso abierto
Artículo científico
2024
Hacia una detección de vulnerabilidades en Python basada en Conformer a nivel de bloque
Categoría
Ingeniería y Tecnología
Subcategoría
Ingeniería de Software
Palabras clave
Vulnerabilidades de software
Algoritmos de aprendizaje automático
Mecanismos de autoatención
Redes convolucionales
Conjuntos de datos de Python
Puntuación F1
Licencia
CC BY-SA – Atribución – Compartir Igual
Consultas: 36
Citaciones: Sin citaciones
Las vulnerabilidades del software representan una amenaza significativa para los sistemas informáticos porque pueden poner en peligro la integridad tanto del software como del hardware. Las herramientas existentes para detectar vulnerabilidades son inadecuadas. Los algoritmos de aprendizaje automático pueden tener dificultades para interpretar enormes conjuntos de datos debido a su capacidad limitada para comprender los vínculos intrincados dentro de datos de alta dimensión. Los procedimientos tradicionales, por otro lado, llevan mucho tiempo y requieren mucho trabajo manual. Además, los enfoques anteriores de aprendizaje profundo no lograron adquirir datos de características adecuados. Los mecanismos de autoatención pueden procesar información a través de grandes distancias, pero no recopilan datos estructurales. Este trabajo aborda el problema crítico de la detección inadecuada de vulnerabilidades en sistemas de software. Proponemos un método novedoso que combina autoatención con redes convolucionales para mejorar la detección de vulnerabilidades del software al capturar tanto características localizadas y específicas de posición como interacciones globales impulsadas por el contenido. Nuestra contribución radica en la integración de estas metodologías para mejorar la precisión y la puntuación F1 de los sistemas de detección de vulnerabilidades, logrando resultados sin precedentes en conjuntos de datos complejos de Python. Además, mejoramos los enfoques de autoatención al cambiar el denominador para abordar el problema de los cabezales de atención excesivos que crean perturbaciones irrelevantes. Evaluamos la efectividad de esta estrategia utilizando seis conjuntos de datos complejos de vulnerabilidades de Python obtenidos de GitHub. Nuestro riguroso estudio y comparación de datos con estudios anteriores resultaron en los resultados más precisos y la puntuación F1 (99%) jamás alcanzada por sistemas de aprendizaje automático.
Descripción
Las vulnerabilidades del software representan una amenaza significativa para los sistemas informáticos porque pueden poner en peligro la integridad tanto del software como del hardware. Las herramientas existentes para detectar vulnerabilidades son inadecuadas. Los algoritmos de aprendizaje automático pueden tener dificultades para interpretar enormes conjuntos de datos debido a su capacidad limitada para comprender los vínculos intrincados dentro de datos de alta dimensión. Los procedimientos tradicionales, por otro lado, llevan mucho tiempo y requieren mucho trabajo manual. Además, los enfoques anteriores de aprendizaje profundo no lograron adquirir datos de características adecuados. Los mecanismos de autoatención pueden procesar información a través de grandes distancias, pero no recopilan datos estructurales. Este trabajo aborda el problema crítico de la detección inadecuada de vulnerabilidades en sistemas de software. Proponemos un método novedoso que combina autoatención con redes convolucionales para mejorar la detección de vulnerabilidades del software al capturar tanto características localizadas y específicas de posición como interacciones globales impulsadas por el contenido. Nuestra contribución radica en la integración de estas metodologías para mejorar la precisión y la puntuación F1 de los sistemas de detección de vulnerabilidades, logrando resultados sin precedentes en conjuntos de datos complejos de Python. Además, mejoramos los enfoques de autoatención al cambiar el denominador para abordar el problema de los cabezales de atención excesivos que crean perturbaciones irrelevantes. Evaluamos la efectividad de esta estrategia utilizando seis conjuntos de datos complejos de vulnerabilidades de Python obtenidos de GitHub. Nuestro riguroso estudio y comparación de datos con estudios anteriores resultaron en los resultados más precisos y la puntuación F1 (99%) jamás alcanzada por sistemas de aprendizaje automático.