买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:中国工程物理研究院计算机应用研究所
摘要:本发明提出一种基于语义空间对齐的跨平台二进制代码相似性检测方法,首先构建跨平台二进制代码函数库;将开源库中每个函数通过编译器进行编译,通过不同的优化选项得到反汇编文本代码;然后采用Bert模型进行单平台代码语义嵌入模型的训练;使训练后的Bert模型能够识别平台代码语义;在经过基于ContrastiveLearning的语义对齐模型的训练;最后构建基于局部敏感哈希技术的快速查找数据库;将高维向量转为低维向量后,使用匹配方法获得相似的向量结果;通过对匹配结果进行分析,对实验模型进行评估;本发明解决了不同平台,如x86、ARM等平台下相同源代码的相似性匹配问题,实现了不同平台下相同语义的识别。
主权项:1.一种基于语义空间对齐的跨平台二进制代码相似性检测方法,其特征在于:所述方法具体包括以下步骤:步骤一:构建跨平台二进制代码函数库;将开源库中每个函数通过编译器进行编译,通过不同的优化选项得到反汇编文本代码;步骤二:采用Bert模型进行单平台代码语义嵌入模型的训练;使训练后的Bert模型能够识别平台代码语义;训练两个神经网络模型,使得神经网络模型能够获得平台代码的语义嵌入,所述神经网络模型中的MLM屏蔽语言模型训练任务,用于训练一个语言模型来预测指令中被掩盖的标记;所述MLM屏蔽语言模型训练任务为最近在NLP中提出的训练任务;所述神经网络模型中的CWP上下文窗口训练任务,通过预测两条指令是否共同出现在控制流的滑动窗口中,来推断单词或指令的语义;并且因为指令之间的数据依赖性或def-use关系不会被编译器优化所篡改,以此设计UDPdef-use预测训练任务;训练后的Bert模型能够将步骤一中任意一个平台架构下的代码语义映射到该平台架构的语义空间,并且不同的平台的语义空间相互独立;步骤三:基于ContrastiveLearning的语义对齐模型的训练;ContrastiveLearning能够无监督学习一般化的语义特征;相同的源代码在不同平台下具有不同的语义嵌入,所有嵌入后的语义构成了平行语料数据集合其中为源代码s1在x86平台下的语义嵌入,为源代码s1在arm平台下的语义嵌入,为源代码sn在x86平台下的语义嵌入,为源代码sn在arm平台下的语义嵌入,将pair对输入模型中进行训练,获得对齐后的语义嵌入模型;步骤四:构建基于局部敏感哈希技术的快速查找数据库;将高维向量转为低维向量后,使用匹配方法获得相似的向量结果;通过对匹配结果进行分析,对实验模型进行评估。
全文数据:
权利要求:
百度查询: 中国工程物理研究院计算机应用研究所 一种基于语义空间对齐的跨平台二进制代码相似性检测方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。