Identificación de Procedencia de Compilación a Nivel de Función con Destilación y Fusión de Características Neuronales Multifacéticas
Autores: Gao, Yang; Liang, Lunjin; Li, Yifei; Li, Rui; Wang, Yu
Idioma: Inglés
Editor: MDPI
Año: 2024
Acceso abierto
Artículo científico
2024
Identificación de Procedencia de Compilación a Nivel de Función con Destilación y Fusión de Características Neuronales Multifacéticas
Categoría
Ingeniería y Tecnología
Subcategoría
Ingeniería Eléctrica y Electrónica
Palabras clave
Desarrollo de software
Herramientas de compilación
Ingenieros inversos
Analistas de seguridad
Código binario
Codificador neural
Licencia
CC BY-SA – Atribución – Compartir Igual
Consultas: 26
Citaciones: Sin citaciones
En el paisaje del desarrollo de software, la selección de herramientas de compilación y configuraciones desempeña un papel fundamental en la creación de binarios ejecutables. Esta diversidad, si bien beneficiosa, introduce desafíos significativos para los ingenieros inversos y analistas de seguridad al descifrar el origen de la compilación del código binario. Con este fin, presentamos MulCPI, abreviatura de Identificación de Proveniencia de Compilación basada en Fusión de Representación, que integra las características recopiladas de múltiples representaciones intermedias distintas del código binario para una mejor discernimiento de los detalles de compilación a nivel de función a nivel fino. En particular, ideamos un codificador neural orientado a grafos novedoso mejorado mediante la red neural de grafos con compuertas al introducir sutilmente un mecanismo de atención en el cálculo de la agregación de información de los nodos del vecindario, para destilar mejor las características más informativas del grafo de flujo de control atribuido. Al integrar además las características recopiladas de la secuencia de ensamblado normalizada con un codificador Transformer avanzado, MulCPI es capaz de capturar un conjunto más completo de características que manifiestan los conocimientos léxicos, sintácticos y estructurales multifacéticos del código binario. Una evaluación extensa en un conjunto de datos públicos que comprende 854,858 funciones únicas demuestra que MulCPI supera el rendimiento de los métodos líderes actuales en la identificación de la familia del compilador, el nivel de optimización, la versión del compilador y la combinación de configuraciones de compilación. Logra tasas de precisión promedio del 99.3%, 96.4%, 90.7% y 85.3% en estas tareas, respectivamente. Además, un estudio de ablación destaca la importancia de los diseños fundamentales de MulCPI, validando la eficiencia del codificador de red neural de grafos con compuertas mejorado con atención propuesta y las ventajas de incorporar múltiples representaciones de código.
Descripción
En el paisaje del desarrollo de software, la selección de herramientas de compilación y configuraciones desempeña un papel fundamental en la creación de binarios ejecutables. Esta diversidad, si bien beneficiosa, introduce desafíos significativos para los ingenieros inversos y analistas de seguridad al descifrar el origen de la compilación del código binario. Con este fin, presentamos MulCPI, abreviatura de Identificación de Proveniencia de Compilación basada en Fusión de Representación, que integra las características recopiladas de múltiples representaciones intermedias distintas del código binario para una mejor discernimiento de los detalles de compilación a nivel de función a nivel fino. En particular, ideamos un codificador neural orientado a grafos novedoso mejorado mediante la red neural de grafos con compuertas al introducir sutilmente un mecanismo de atención en el cálculo de la agregación de información de los nodos del vecindario, para destilar mejor las características más informativas del grafo de flujo de control atribuido. Al integrar además las características recopiladas de la secuencia de ensamblado normalizada con un codificador Transformer avanzado, MulCPI es capaz de capturar un conjunto más completo de características que manifiestan los conocimientos léxicos, sintácticos y estructurales multifacéticos del código binario. Una evaluación extensa en un conjunto de datos públicos que comprende 854,858 funciones únicas demuestra que MulCPI supera el rendimiento de los métodos líderes actuales en la identificación de la familia del compilador, el nivel de optimización, la versión del compilador y la combinación de configuraciones de compilación. Logra tasas de precisión promedio del 99.3%, 96.4%, 90.7% y 85.3% en estas tareas, respectivamente. Además, un estudio de ablación destaca la importancia de los diseños fundamentales de MulCPI, validando la eficiencia del codificador de red neural de grafos con compuertas mejorado con atención propuesta y las ventajas de incorporar múltiples representaciones de código.