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
Learning Joint Embeddings of Function and Process Call Graphs for Malware Detection
Software systems can be represented as graph structures that capture dependencies between functions and processes. Depending on extraction targets and priorities, software systems can be represented as different types of graphs. For example, Function Call Graphs (FCG) highlight inter-function relationships, while Process Call Graphs (PCG) focus on runtime behavior and inter-process communication. Although these graph representations are related, each captures different perspectives of the system, providing complementary insights. Previous research has primarily focused on single graph representations, with relatively limited work on jointly modeling FCG and PCG. This paper proposes GeminiNet, a unified neural network approach that learns joint embeddings of FCG and PCG. Experiments on a dataset of 635 Windows executables demonstrate that joint embeddings significantly outperform single-graph models.
Malware detection is a core challenge in cybersecurity. Traditional approaches primarily rely on single types of software representations for analysis, using either static analysis (such as function call graphs) or dynamic analysis (such as process interaction graphs), but rarely combine both.
This paper aims to construct a more comprehensive and robust malware detection system by jointly learning embedding representations of FCG and PCG, overcoming the limitations of single modalities.
Proposes GeminiNet Architecture: Designs a dual-branch graph convolutional network that processes FCG and PCG separately and fuses embeddings through an adaptive gating mechanism
Constructs Multi-modal Dataset: Creates a dataset containing 635 Windows executables with both FCG and PCG extracted
Designs Joint Node Features: Combines Local Degree Distribution (LDP) and Shannon entropy, providing structural and statistical information
Validates Fusion Advantages: Extensive experiments demonstrate that joint embeddings significantly outperform single-graph models and simple concatenation methods
Given Windows executables, extract their function call graph G₁=(V₁,E₁) and process call graph G₂=(V₂,E₂), and learn joint embedding representations for binary classification (malicious/benign).
Compute file-level information entropy:
H(X) = -∑ᵢ pᵢ log₂ pᵢ
where pᵢ is the probability of byte i. High entropy indicates strong randomness (potentially malware), while low entropy indicates high redundancy (potentially benign software).
Adaptive Weight Fusion: Compared to static concatenation or averaging, the gating mechanism adaptively adjusts each modality's contribution based on samples
Multi-granularity Features: Combines local topology (LDP) and global statistical (entropy) information
End-to-End Learning: The entire architecture is trainable end-to-end with gating weights automatically optimized
Architecture Flexibility: Can degrade to single-graph models by disabling branches
Key references include Xu et al.'s GIN architecture, Wu et al.'s SGC simplification method, and multiple malware detection works, providing solid theoretical foundation and comparison benchmarks for this paper.