2025-11-12T22:58:10.887954

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

基本信息

  • 论文ID: 2510.09984
  • 标题: Learning Joint Embeddings of Function and Process Call Graphs for Malware Detection
  • 作者: Kartikeya Aneja (University of Wisconsin-Madison), Nagender Aneja (Virginia Tech), Murat Kantarcioglu (Virginia Tech)
  • 分类: cs.LG (机器学习), cs.CR (密码学与安全)
  • 发表会议: 39th Conference on Neural Information Processing Systems (NeurIPS 2025) Workshop: New Perspectives in Advancing Graph Machine Learning
  • 论文链接: https://arxiv.org/abs/2510.09984

摘要

软件系统可以表示为图结构,捕获函数和进程之间的依赖关系。根据提取目标和优先级的不同,软件系统可以表示为不同类型的图。例如,函数调用图(FCG)突出函数间关系,而进程交互图(PCG)关注运行时行为和进程间通信。虽然这些图表示相关,但各自捕获系统的不同视角,提供互补的洞察。以往研究主要关注单一图表示,联合建模FCG和PCG的工作相对较少。本文提出GeminiNet,一个统一的神经网络方法,学习FCG和PCG的联合嵌入。在635个Windows可执行文件数据集上的实验表明,联合嵌入显著优于单图模型。

研究背景与动机

问题定义

恶意软件检测是网络安全领域的核心挑战。传统方法主要依赖单一类型的软件表示进行分析,要么使用静态分析(如函数调用图),要么使用动态分析(如进程交互图),但很少将两者结合。

研究重要性

  1. 多视角分析需求:软件系统具有复杂性,单一视角容易遗漏重要信息
  2. 对抗鲁棒性:依赖单一模态容易受到对抗攻击,多模态融合可提高鲁棒性
  3. 互补信息:静态FCG捕获控制流结构,动态PCG反映执行轨迹,两者互补

现有方法局限性

  1. 单一图表示:大多数研究仅使用FCG或PCG中的一种
  2. 信息不完整:静态分析无法捕获运行时行为,动态分析可能遗漏未执行代码路径
  3. 融合方法简单:现有多模态方法多采用简单拼接,缺乏自适应权重机制

研究动机

本文旨在通过联合学习FCG和PCG的嵌入表示,构建更全面、鲁棒的恶意软件检测系统,克服单一模态的局限性。

核心贡献

  1. 提出GeminiNet架构:设计了双分支图卷积网络,分别处理FCG和PCG,并通过自适应门控机制融合嵌入
  2. 构建多模态数据集:创建了包含635个Windows可执行文件的数据集,同时提取FCG和PCG
  3. 设计联合节点特征:结合局部度分布(LDP)和Shannon熵,提供结构和统计信息
  4. 验证融合优势:通过大量实验证明联合嵌入显著优于单图模型和简单合并方法

方法详解

任务定义

给定Windows可执行文件,提取其函数调用图G₁=(V₁,E₁)和进程调用图G₂=(V₂,E₂),学习联合嵌入表示进行二分类(恶意/良性)。

数据集构建

函数调用图(FCG)

  • 工具:使用Ghidra逆向工程框架
  • 表示:节点代表函数,有向边代表函数调用关系
  • 规模:635个可执行文件,共449,960个节点和1,048,741条边
  • 预处理:函数名替换为数值标识符

进程调用图(PCG)

  • 工具:使用Any.Run恶意软件沙箱
  • 执行时间:60秒(基于Küchler等人研究,98%代码覆盖率)
  • 表示:节点代表进程,有向边代表进程间通信或创建关系
  • 规模:3,053个节点和2,663条边

节点特征设计

局部度分布(LDP)

为每个节点计算5维特征向量:

  • 节点自身度数
  • 邻居节点度数的最小值、最大值、均值、标准差

Shannon熵

计算文件级别的信息熵: H(X) = -∑ᵢ pᵢ log₂ pᵢ

其中pᵢ是字节i的概率。高熵表示随机性强(可能是恶意软件),低熵表示冗余度高(可能是良性软件)。

组合特征(LDP+Entropy)

将LDP和Shannon熵拼接,形成6维特征向量,融合局部结构和全局统计信息。

GeminiNet架构

双分支设计

分支1: FCG → GCN₁ → 全局池化 → g₁
分支2: PCG → GCN₂ → 全局池化 → g₂

自适应门控机制

引入可学习的门控向量: α = softmax(w)

其中w是可训练参数。最终联合嵌入为: g = α₁g₁ + α₂g₂

满足α₁ + α₂ = 1且αᵢ ≥ 0的约束。

分类层

联合嵌入通过全连接层和ReLU激活: ŷ = softmax(MLP(g))

技术创新点

  1. 自适应权重融合:相比静态拼接或平均,门控机制能根据样本自适应调整各模态贡献
  2. 多粒度特征:结合局部拓扑(LDP)和全局统计(熵)信息
  3. 端到端学习:整个架构可端到端训练,门控权重自动优化
  4. 架构灵活性:可通过关闭分支退化为单图模型

实验设置

数据集

  • 规模:635个Windows PE文件(318恶意,317良性)
  • 来源:恶意软件样本和良性软件样本
  • 划分:5折交叉验证

评价指标

  • 主要指标:F1分数(平衡精确率和召回率)
  • 统计指标:均值、标准差、最小值、中位数、最大值

对比方法

  1. 单图模型:仅使用FCG或PCG
  2. 合并图模型:将FCG和PCG边列表合并为单一图
  3. 不同GNN架构:GCN、SGC、GIN、GraphSAGE、MLP

实现细节

  • 验证方式:5折交叉验证
  • 学习率调度:OneCycleLR、ReduceLROnPlateau
  • 正则化:Dropout
  • 架构参数:4-6层GCN,2-6层全连接,32-64隐藏维度

实验结果

主要结果

最佳配置性能

根据表1,最佳配置达到:

  • 平均F1分数:0.85 (标准差0.06-0.09)
  • 最高F1分数:0.94
  • 最佳特征:LDP+Entropy
  • 最佳架构:SGC和GCN with 加权求和融合

不同配置对比

  1. 联合嵌入(both_wsum):F1=0.85,中位数≈0.87
  2. 单PCG模型:F1=0.81-0.83,中位数≈0.82
  3. 合并图(both_merged):F1=0.72-0.73,中位数≈0.72
  4. 单FCG模型:F1=0.68-0.72,中位数≈0.67

消融实验

图类型消融

Kruskal-Wallis检验(p=3.86×10⁻⁷⁶)表明不同配置间存在显著差异:

  • both_wsum > single_pcg > both_merged > single_fcg
  • 所有pairwise比较均显著(Bonferroni校正后)

特征类型消融

Kruskal-Wallis检验(p=2.57×10⁻³³)显示特征重要性:

  • LDP+Entropy (中位数≈0.85) > LDP (≈0.82) > Entropy (≈0.77)
  • 组合特征显著优于单一特征

统计显著性分析

通过Dunn检验证实:

  1. 加权求和融合显著优于边合并方法
  2. PCG单独使用优于FCG单独使用
  3. 联合特征显著提升性能

实验发现

  1. 模态互补性:FCG和PCG提供互补信息,联合使用效果最佳
  2. 融合方式重要性:自适应加权求和优于简单边合并
  3. 特征组合效应:结构特征(LDP)与统计特征(熵)组合产生协同效应
  4. 架构鲁棒性:多种GNN架构均能受益于联合嵌入设计

相关工作

单图恶意软件检测

  1. FCG方法:Freitas & Dong, Chen等人使用函数调用图
  2. API调用图:Gao等人,Hou等人使用API调用序列
  3. 控制流图:Peng等人,Yan等人分析控制流结构
  4. 网络流图:Busch等人使用网络流信息

图神经网络应用

  • 大多数工作专注单一图表示
  • 缺乏多模态图融合的系统性研究
  • 本文填补了静态-动态联合分析的空白

多模态学习

现有方法多采用简单拼接或平均,缺乏自适应权重机制,本文的门控融合提供了更灵活的解决方案。

结论与讨论

主要结论

  1. 联合嵌入优势:FCG和PCG联合学习显著优于单一模态
  2. 融合机制重要性:自适应门控机制优于简单合并策略
  3. 特征工程价值:结构特征与统计特征组合提升判别能力
  4. 方法通用性:可扩展到漏洞检测、二进制相似性检测等任务

局限性

  1. 数据集规模:635个样本相对较小,可能影响泛化能力
  2. 执行时间限制:60秒沙箱执行可能无法捕获所有恶意行为
  3. 特征工程:依赖手工设计的LDP和熵特征
  4. 计算复杂度:双分支架构增加了计算开销

未来方向

  1. 规模扩展:在更大数据集上验证方法有效性
  2. 可解释性:开发解释技术理解模型决策过程
  3. 对抗鲁棒性:评估面对对抗样本的鲁棒性
  4. 自动特征学习:减少对手工特征的依赖

深度评价

优点

  1. 创新性强:首次系统性地联合FCG和PCG进行恶意软件检测
  2. 方法合理:双分支架构设计合理,门控机制有理论支撑
  3. 实验充分:5折交叉验证,多种架构对比,统计显著性检验
  4. 结果说服力强:一致性结果表明方法的有效性和稳定性

不足

  1. 数据集局限:仅限Windows PE文件,样本量相对较小
  2. 基线对比不足:缺少与最新恶意软件检测方法的对比
  3. 计算开销分析:未详细分析双分支架构的计算复杂度
  4. 超参数敏感性:未充分分析门控机制对超参数的敏感性

影响力

  1. 学术贡献:为多模态图学习在安全领域应用提供新思路
  2. 实用价值:可直接应用于恶意软件检测系统
  3. 可复现性:方法描述清晰,实验设置详细
  4. 扩展性:框架可扩展到其他软件分析任务

适用场景

  1. 恶意软件检测:企业安全产品,反病毒软件
  2. 软件分析:漏洞检测,代码相似性分析
  3. 研究平台:多模态图学习的测试平台
  4. 教育应用:图神经网络在安全领域的教学案例

参考文献

论文引用了18篇相关文献,涵盖:

  • 图表示学习基础方法
  • 恶意软件检测相关工作
  • 图神经网络架构(GCN, GIN, GraphSAGE, SGC)
  • 软件分析工具和平台

关键参考文献包括Xu等人的GIN架构、Wu等人的SGC简化方法,以及多篇恶意软件检测的相关工作,为本文提供了坚实的理论基础和对比基准。