面向恶意软件检测的函数调用图与过程调用图联合嵌入学习
机器学习
2025-10-14 v1 密码学与安全
摘要
软件系统可表示为图,捕捉函数和进程之间的依赖关系。软件系统的一个有趣方面在于,根据提取目标和优先级不同,可以以不同类型的图来表示。例如,捕捉软件中函数调用可创建函数调用图(FCG),以突出函数及其依赖关系;或者可建模软件启动的进程来生成过程交互图(PCG),聚焦于运行时行为和进程间通信。尽管这些图表示方式相关,但每个都捕捉了系统的不同视角,为其结构和运行提供了互补见解。虽然先前研究利用图神经网络(GNN)分析软件行为,但大多数工作仅关注单一图表示。联合建模函数调用图和过程交互图仍大致未被探索,留下了更深入、多视角软件系统分析的机会。本文提出了构建和训练FCG与PCG的管道,并学习联合嵌入。我们证明联合嵌入优于单图模型。本文提出GeminiNet,一种统一的神经网络方法,从FCG和PCG中学习联合嵌入。我们构建了一个包含635个Windows可执行文件(318个恶意、317个良性)的数据集,通过Ghidra提取FCG,通过Any.Run沙箱提取PCG。GeminiNet采用双图卷积分支,集成自适应门控机制,在平衡静态和动态视图贡献方面发挥作用。
引用
@article{arxiv.2510.09984,
title = {Learning Joint Embeddings of Function and Process Call Graphs for Malware Detection},
author = {Kartikeya Aneja and Nagender Aneja and Murat Kantarcioglu},
journal= {arXiv preprint arXiv:2510.09984},
year = {2025}
}