[发明专利]二进制代码相似度检测方法、模型训练方法及装置在审
| 申请号: | 202211249732.5 | 申请日: | 2022-10-12 |
| 公开(公告)号: | CN115758164A | 公开(公告)日: | 2023-03-07 |
| 发明(设计)人: | 张超;王皓 | 申请(专利权)人: | 清华大学 |
| 主分类号: | G06F18/22 | 分类号: | G06F18/22;G06F18/214;G06F18/213;G06F9/34;G06F9/355;G06F40/284;G06N3/0895 |
| 代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 白冬梅 |
| 地址: | 100084 北京市海淀区双清路*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 二进制 代码 相似 检测 方法 模型 训练 装置 | ||
本发明涉及软件安全技术领域,提供一种二进制代码相似度检测方法、模型训练方法及装置,其中方法包括:将待检测的每个二进制代码分别输入语言模型,获得每个二进制代码的特征向量,检测各二进制代码之间的相似度;语言模型是通过如下方式训练得到的:通过分词获得二进制代码样本中的目标词;基于所有目标词对初始模型进行预训练,当目标词为第一跳转指令的操作数时,词嵌入包含第一跳转指令的操作数所表征的第一跳转指令的目标指令的地址,初始模型的输出目标对应各指令和第一跳转指令的操作数;基于携带有相似度标签的二进制代码样本形成的数据集,对初始模型进行微调得到语言模型,解决二进制代码相似度检测的准确性较低的问题,提升了准确性。
技术领域
本发明涉及软件安全技术领域,尤其涉及一种二进制代码相似度检测方法、模型训练方法及装置。
背景技术
二进制代码相似度检测技术可以用于比较两个或多个二进制代码的片段(例如基本块和函数)以确定其相似度和差异性。在商业程序、遗留程序和恶意程序这些源代码不可用的情况下,二进制代码相似度检测技术非常重要,基于此,二进制代码相似度检测技术已得到广泛应用,例如可以应用到漏洞搜索,恶意软件聚类,恶意软件检测,补丁分析和软件盗版检测等涉及软件安全的应用场景中。
现有技术中,提供一种基于字符串编辑距离和传统程序分析的二进制代码相似度检测方案,通过图匹配算法来计算两个二进制代码的控制流图之间的相似度或者通过动态分析的方法来比较两个二进制代码的输入输出,此类方法没有考虑语义信息,只能进行基础的二进制代码相似度比对,二进制代码相似度检测的准确性较低。
发明内容
本发明提供一种二进制代码相似度检测方法、模型训练方法及装置,用以解决现有技术中二进制代码相似度检测的准确性较低的缺陷,实现二进制代码相似度检测的准确性的提升。
本发明提供一种二进制代码相似度检测方法,包括:
将待检测的每个二进制代码分别输入语言模型,获得每个所述二进制代码的特征向量;基于每个所述二进制代码的特征向量,检测各所述二进制代码之间的相似度;所述语言模型是通过如下方式训练得到的:
通过分词获得二进制代码样本中的目标词,所有所述目标词包括指令及其操作数;
基于所有所述目标词对初始模型进行预训练,所述初始模型的输入表示包括每个所述目标词对应的词嵌入和位置嵌入,所述位置嵌入表征所述目标词的地址,当所述目标词为第一跳转指令的操作数时,所述词嵌入包含所述第一跳转指令的操作数所表征的所述第一跳转指令的目标指令的地址,所述初始模型的输出目标对应各所述指令和所述第一跳转指令的操作数,所述第一跳转指令为直接跳转指令或者条件跳转指令;
基于携带有相似度标签的二进制代码样本形成的数据集,对所述初始模型进行微调,得到所述语言模型。
根据本发明提供的一种二进制代码相似度检测方法,所述基于所有所述目标词对初始模型进行预训练,包括:
将所有所述目标词进行正则化;其中,若所述目标词为字符串,将所述目标词替换为第一预设符号;若所述目标词为常数值,将所述目标词替换为第二预设符号;若所述目标词被所述二进制代码外部的函数调用,确定所述目标词保持不变;若所述目标词被所述二进制代码内部的函数调用,将所述目标词替换为第三预设符号;若所述目标词为第一跳转指令的操作数,将所述目标词替换为所述目标词对应的符号,所述目标词对应的符号中包含所述第一跳转指令的所述目标指令的地址;
将正则化的所有所述目标词中的指令和操作数输入至初始模型中,对所述初始模型进行预训练。
根据本发明提供的一种二进制代码相似度检测方法,当所述目标词为第二跳转指令的操作数时,所述词嵌入包括通过间接跳转识别策略识别出的所述第二跳转指令跳转的所有可能目标的所述位置嵌入的平均值,所述第二跳转指令为间接跳转指令,所述初始模型的输出目标还对应所述第二跳转指令的操作数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211249732.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种柔性橡胶生产用炼胶机
- 下一篇:一种检验科用细胞组织破碎装置





