摘要
本发明是一种基于中间语言的源码二进制匹配方法,检测对象是函数源码和与其对应的二进制函数。其核心是对源码使用预训练模型codebert分词并得到源码端的向量表示;使用Retdec反编译二进制程序并从中提取的大量IR语料对Bert模型进行预训练,设置三个任务:掩码语言模型、下一句预测、相邻块预测进行学习;对二进制程序使用Retdec工具转为LLVM IR,提取CFG,进行规范化,CFG中每个基本块的语句经过预训练之后的Bert模型转化为向量作为节点特征,通过GCN得到该函数的二进制端的向量表示;两端的向量通过triplet loss进行训练,并通过余弦函数计算得出两端的相似性。本方法能够实现跨架构和跨优化级别下的源码二进制匹配,为真实的源码与二进制相似性检测提供新的解决方案。
技术关键词
语句
预训练模型
节点特征
程序
分词
标签
指令
语义特征
变量
计算机
处理器
可读存储介质
模块
关系
存储器
命令
核心
标记
代表
系统为您推荐了相关专利信息
学科知识图谱
语义向量
度计算方法
模块
神经网络模型
AADL模型
时间自动机模型
验证系统
检查技术
时间自动机网络
图像场景理解
趋势预测模型
路况
潜在交互
场景语义理解
控制信号生成方法
变量
移动控制方法
控制信号生成装置
机器人控制技术