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.
소프트웨어 시스템은 함수 및 프로세스 간의 의존성을 포착하는 그래프 구조로 표현될 수 있습니다. 추출 목표 및 우선순위에 따라 소프트웨어 시스템은 다양한 유형의 그래프로 표현될 수 있습니다. 예를 들어, 함수 호출 그래프(FCG)는 함수 간 관계를 강조하고, 프로세스 상호작용 그래프(PCG)는 런타임 동작 및 프로세스 간 통신에 초점을 맞춥니다. 이러한 그래프 표현들이 관련되어 있지만, 각각은 시스템의 서로 다른 관점을 포착하여 상호 보완적인 통찰력을 제공합니다. 기존 연구는 주로 단일 그래프 표현에 초점을 맞추었으며, FCG와 PCG를 결합하여 모델링하는 연구는 상대적으로 적습니다. 본 논문은 FCG와 PCG의 결합 임베딩을 학습하는 통합 신경망 방법인 GeminiNet을 제안합니다. 635개의 Windows 실행 파일 데이터셋에 대한 실험은 결합 임베딩이 단일 그래프 모델보다 현저히 우수함을 보여줍니다.