Learning Joint Embeddings of Function and Process Call Graphs for Malware Detection
Aneja, Aneja, Kantarcioglu
Software systems can be represented as graphs, capturing dependencies among functions and processes. An interesting aspect of software systems is that they can be represented as different types of graphs, depending on the extraction goals and priorities. For example, function calls within the software can be captured to create function call graphs, which highlight the relationships between functions and their dependencies. Alternatively, the processes spawned by the software can be modeled to generate process interaction graphs, which focus on runtime behavior and inter-process communication. While these graph representations are related, each captures a distinct perspective of the system, providing complementary insights into its structure and operation. While previous studies have leveraged graph neural networks (GNNs) to analyze software behaviors, most of this work has focused on a single type of graph representation. The joint modeling of both function call graphs and process interaction graphs remains largely underexplored, leaving opportunities for deeper, multi-perspective analysis of software systems. This paper presents a pipeline for constructing and training Function Call Graphs (FCGs) and Process Call Graphs (PCGs) and learning joint embeddings. We demonstrate that joint embeddings outperform a single-graph model. In this paper, we propose GeminiNet, a unified neural network approach that learns joint embeddings from both FCGs and PCGs. We construct a new dataset of 635 Windows executables (318 malicious and 317 benign), extracting FCGs via Ghidra and PCGs via Any.Run sandbox. GeminiNet employs dual graph convolutional branches with an adaptive gating mechanism that balances contributions from static and dynamic views.
academic
Aprendizaje de Incrustaciones Conjuntas de Grafos de Llamadas de Función y Proceso para Detección de Malware
Título: Learning Joint Embeddings of Function and Process Call Graphs for Malware Detection
Autores: Kartikeya Aneja (University of Wisconsin-Madison), Nagender Aneja (Virginia Tech), Murat Kantarcioglu (Virginia Tech)
Clasificación: cs.LG (Aprendizaje Automático), cs.CR (Criptografía y Seguridad)
Conferencia de Publicación: 39th Conference on Neural Information Processing Systems (NeurIPS 2025) Workshop: New Perspectives in Advancing Graph Machine Learning
Los sistemas de software pueden representarse como estructuras de grafos que capturan las dependencias entre funciones y procesos. Dependiendo del objetivo de extracción y las prioridades, los sistemas de software pueden representarse como diferentes tipos de grafos. Por ejemplo, el grafo de llamadas de función (FCG) destaca las relaciones entre funciones, mientras que el grafo de interacción de procesos (PCG) se enfoca en el comportamiento en tiempo de ejecución y la comunicación entre procesos. Aunque estas representaciones de grafos están relacionadas, cada una captura diferentes perspectivas del sistema, proporcionando información complementaria. La investigación anterior se ha enfocado principalmente en representaciones de grafos únicos, con relativamente poco trabajo sobre el modelado conjunto de FCG y PCG. Este artículo propone GeminiNet, un enfoque de red neuronal unificado que aprende incrustaciones conjuntas de FCG y PCG. Los experimentos en un conjunto de datos de 635 archivos ejecutables de Windows demuestran que las incrustaciones conjuntas superan significativamente a los modelos de grafo único.
La detección de malware es un desafío central en el campo de la ciberseguridad. Los métodos tradicionales se basan principalmente en representaciones de software de un único tipo para el análisis, utilizando ya sea análisis estático (como grafos de llamadas de función) o análisis dinámico (como grafos de interacción de procesos), pero rara vez combinan ambos.
Necesidad de Análisis Multimodal: Los sistemas de software poseen complejidad inherente; una perspectiva única puede omitir información importante
Robustez Adversarial: La dependencia de una modalidad única es susceptible a ataques adversariales; la fusión multimodal puede mejorar la robustez
Información Complementaria: El FCG estático captura la estructura del flujo de control, mientras que el PCG dinámico refleja las trayectorias de ejecución; ambos son complementarios
Representación de Grafo Único: La mayoría de la investigación utiliza solo uno de FCG o PCG
Información Incompleta: El análisis estático no puede capturar el comportamiento en tiempo de ejecución; el análisis dinámico puede omitir rutas de código no ejecutadas
Métodos de Fusión Simples: Los métodos multimodales existentes emplean principalmente concatenación simple, careciendo de mecanismos de ponderación adaptativa
Este artículo tiene como objetivo construir un sistema de detección de malware más completo y robusto mediante el aprendizaje conjunto de representaciones incrustadas de FCG y PCG, superando las limitaciones de modalidades únicas.
Propuesta de Arquitectura GeminiNet: Diseño de una red de convolución de grafos de dos ramas que procesa FCG y PCG respectivamente, fusionando incrustaciones mediante un mecanismo de compuerta adaptativa
Construcción de Conjunto de Datos Multimodal: Creación de un conjunto de datos que contiene 635 archivos ejecutables de Windows con extracción simultánea de FCG y PCG
Diseño de Características de Nodos Conjuntos: Combinación de distribución de grados local (LDP) y entropía de Shannon, proporcionando información estructural y estadística
Verificación de Ventajas de Fusión: Demostración mediante experimentos extensivos de que las incrustaciones conjuntas superan significativamente a los modelos de grafo único y métodos de fusión simple
Dado un archivo ejecutable de Windows, extraer su grafo de llamadas de función G₁=(V₁,E₁) y grafo de llamadas de proceso G₂=(V₂,E₂), aprendiendo una representación incrustada conjunta para clasificación binaria (malicioso/benigno).
Cálculo de la entropía de información a nivel de archivo:
H(X) = -∑ᵢ pᵢ log₂ pᵢ
donde pᵢ es la probabilidad del byte i. La alta entropía indica aleatoriedad fuerte (posiblemente malware), mientras que la baja entropía indica alta redundancia (posiblemente software benigno).
Concatenación de LDP y entropía de Shannon, formando un vector de características de 6 dimensiones que fusiona información de estructura local e información estadística global.
Fusión de Ponderación Adaptativa: En comparación con concatenación estática o promediación, el mecanismo de compuerta puede ajustar adaptativamente la contribución de cada modalidad según la muestra
Características de Múltiples Granularidades: Combinación de topología local (LDP) e información estadística global (entropía)
Aprendizaje de Extremo a Extremo: Toda la arquitectura puede entrenarse de extremo a extremo, con ponderaciones de compuerta optimizadas automáticamente
Flexibilidad Arquitectónica: Puede degradarse a un modelo de grafo único desactivando ramas
Los métodos existentes emplean principalmente concatenación simple o promediación, careciendo de mecanismos de ponderación adaptativa; la fusión de compuerta de este artículo proporciona una solución más flexible.
El artículo cita 18 referencias relacionadas, que abarcan:
Métodos fundamentales de aprendizaje de representación de grafos
Trabajo relacionado con detección de malware
Arquitecturas de redes neuronales de grafos (GCN, GIN, GraphSAGE, SGC)
Herramientas y plataformas de análisis de software
Las referencias clave incluyen la arquitectura GIN de Xu et al., el método SGC simplificado de Wu et al., y múltiples trabajos relacionados con detección de malware, proporcionando una base teórica sólida y puntos de referencia de comparación para este artículo.