-
题名基于跨模态协同表示学习的二进制代码相似性检测方法
- 1
-
-
作者
杨宏宇
王云龙
胡泽
成翔
-
机构
中国民航大学安全科学与工程学院
中国民航大学计算机科学与技术学院
扬州大学信息工程学院
中国民航大学民航飞联网重点实验室
-
出处
《电子学报》
北大核心
2025年第4期1279-1292,共14页
-
基金
国家自然科学基金(No.62201576,No.U1833107)
江苏省基础研究计划自然科学基金青年基金(No.BK20230558)。
-
文摘
二进制代码相似性检测(Binary Code Similarity Detection,BCSD)技术能够在无源代码的情况下检测二进制文件内在的安全威胁,在软件成分分析、漏洞挖掘等软件供应链安全领域中广泛应用.针对现有BCSD方法普遍忽略程序实际执行信息和局部语义信息,导致汇编指令语义表示学习效果不佳、特征提取模型的训练资源消耗过大以及相似性检测性能较差等问题,提出一种基于跨模态协同表示学习的二进制代码相似性检测方法(Cross-Modal coordinated Representation Learning for binary code similarity detection,CMRL).首先,提取汇编指令序列和编程语言片段语义间的对应关系并构建一个对比学习数据集,提出一种面向二进制代码的汇编指令-编程语言协同表示学习方法(Assembly code-Programming language Coordinated representations Learning method,APECL),将源代码的高层次语义作为监督信息,通过对比学习任务使汇编指令编码器APECL-Asm与编程语言编码器生成的特征表示在语义空间中对齐,提升APECL-Asm对汇编指令的语义表示学习效果.然后,设计一种基于图神经网络的二进制函数嵌入向量生成方法,通过语义结构感知网络对APECL-Asm提取到的语义信息和程序实际执行信息进行融合,生成函数嵌入向量.最后,通过计算函数嵌入向量之间的余弦距离对二进制代码进行相似性检测.实验结果表明,与现有方法相比,CMRL对二进制代码相似性检测的Recall@1指标提升8%~33%;针对代码混淆场景下的相似性检测任务,CMRL的Recall@1指标衰减幅度更小,具有更强的抗干扰能力.
-
关键词
二进制代码相似性检测
跨模态
协同表示学习
语义结构感知网络
深度神经网络
-
Keywords
binary code similarity detection
cross-modal
coordinated representation learning
semantic structureaware networks
deep neural network
-
分类号
TP309.5
[自动化与计算机技术—计算机系统结构]
-