🤖 AI Summary
Existing malware detection methods predominantly rely on a single graph representation—such as a Function Call Graph (FCG) or a Process Communication Graph (PCG)—overlooking their complementary strengths. To address this limitation, we propose GeminiNet, the first dual-view graph neural network that jointly models FCGs and PCGs. GeminiNet statically extracts FCGs using Ghidra and dynamically captures PCGs via the Any.Run sandbox, then employs a two-branch Graph Convolutional Network (GCN) architecture augmented with an adaptive gating mechanism to dynamically fuse representations from both graphs. Experimental evaluation on 635 Windows malware samples demonstrates that GeminiNet’s joint embedding significantly outperforms single-graph baselines, achieving substantial gains in detection accuracy. This work constitutes the first systematic exploration of synergistic static–dynamic graph modeling for malware analysis, establishing a novel paradigm for fine-grained malicious behavior identification.
📝 Abstract
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.