[发明专利]一种二进制漏洞克隆检测方法及装置有效
申请号: | 201910457312.8 | 申请日: | 2019-05-29 |
公开(公告)号: | CN110287702B | 公开(公告)日: | 2020-08-11 |
发明(设计)人: | 高健;姜宇;顾明;孙家广 | 申请(专利权)人: | 清华大学 |
主分类号: | G06F21/57 | 分类号: | G06F21/57 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王庆龙;王文思 |
地址: | 100084 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 二进制 漏洞 克隆 检测 方法 装置 | ||
1.一种二进制漏洞克隆检测方法,其特征在于,包括:
获取漏洞数据库信息和待测目标二进制信息,根据所述漏洞数据库信息与待测目标二进制信息生成带标签语义流图集;
根据所述带标签语义流图集和预设深度神经网络模型进行分析处理,得到目标相似性结果信息,根据所述目标相似性结果信息确定语义仿真输入信息;
根据所述语义仿真输入信息进行语义仿真,得到语义仿真输出结果,根据所述语义仿真输出结果确定可疑漏洞;
其中,所述带标签语义流图集包括多个漏洞数据库信息的带标签语义流图和多个待测目标二进制信息的带标签语义流图;
其中,在所述根据所述漏洞数据库信息与待测目标二进制信息生成带标签语义流图集的步骤之前,所述方法还包括:
对所述漏洞数据库信息和待测目标二进制信息进行反汇编操作,得到汇编漏洞数据库信息和汇编待测目标二进制信息;
根据汇编漏洞数据库信息和汇编待测目标二进制信息生成带标签语义流图集;
其中,所述根据汇编漏洞数据库信息和汇编待测目标二进制信息生成带标签语义流图集的步骤,具体包括:
根据所述汇编漏洞数据库信息中每个输入函数和汇编待测目标二进制信息中每个输入函数生成控制流图集;
根据内存位置定义使用规则,识别所述汇编漏洞数据库信息中每个输入函数和汇编待测目标二进制信息中每个输入函数的数据依赖关系,生成数据流图集;
将所述控制流图集和所述数据流图集进行组合,生成带标签语义流图集;
其中,所述将所述控制流图集和所述数据流图集进行组合,生成带标签语义流图集的步骤,具体为:
获取各个基本块之间的控制流边,并在各个基本块之间的控制流边的基础上构建各个基本块之间的数据流边,从而生成带标签语义流图集;
其中控制流边和数据流边分别通过不同的标签进行区分。
2.根据权利要求1所述二进制漏洞克隆检测方法,其特征在于,所述根据所述带标签语义流图集和预设深度神经网络模型进行分析处理,得到目标相似性结果信息的步骤,具体包括:
基于预设轻量级汇编指令特征对所述带标签语义流图集进行数值特征提取处理,得到初始带标签语义流图向量集;
将所述初始带标签语义流图向量集输入预设深度神经网络模型进行分析处理,得到目标相似性结果信息。
3.根据权利要求1所述二进制漏洞克隆检测方法,其特征在于,所述根据所述目标相似性结果信息确定语义仿真输入信息的步骤,具体包括:
对目标相似性结果信息进行排序,得到目标相似性排序结果;
选取目标相似性排序结果相似性最高的k个目标相似性排序结果作为筛选结果信息,其中,1≤k≤M,M为目标相似性结果信息的数量;
将筛选结果信息所对应的待测目标二进制信息作为候选待测目标二进制信息;
将所述候选待测目标二进制信息和所述漏洞数据库信息作为语义仿真输入信息。
4.根据权利要求3所述二进制漏洞克隆检测方法,其特征在于,所述根据所述语义仿真输入信息进行语义仿真,得到语义仿真输出结果的步骤,具体包括:
对所述语义仿真输入信息进行识别,得到语义签名序列信息;
计算所述语义签名序列信息相似性,得到语义签名序列相似性信息;
对所述语义签名序列相似性信息进行排序,得到语义签名排序结果;
根据所述语义签名排序结果得到语义仿真输出结果。
5.根据权利要求4所述二进制漏洞克隆检测方法,其特征在于,所述语义签名序列信息具体包括:输入值、输出值、比较操作码、比较操作数和库函数调用。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910457312.8/1.html,转载请声明来源钻瓜专利网。