System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机,具体地涉及一种用于漏洞检测的方法、处理器及机器可读存储介质。
技术介绍
1、安全漏洞的存在给网络安全带来了极大的风险,因此发现和防范漏洞是关键的网络安全措施之一。漏洞挖掘即针对目标信息系统进行分析,发现其中存在的漏洞的过程。现有技术通常采用关联分析组合,即通过目标程序代码序列对比脆弱信息数据库以发现漏洞,未处理代码序列存在细微变化的情况,可能导致无法发现目标中存在的漏洞,漏洞变种的检出概率较低。
技术实现思路
1、本申请实施例的目的是提供一种用于漏洞检测的方法、处理器及机器可读存储介质,用以解决现有技术中漏洞检出效率较低的问题。
2、为了实现上述目的,本申请实施例第一方面提供一种用于漏洞检测的方法,方法包括:
3、获取二进制目标程序;
4、对二进制目标程序进行反编译,以得到二进制目标程序对应的业务流程的控制流图;
5、根据控制流图和预构建的安全系统知识数据库,判断二进制目标程序是否存在漏洞。
6、在本申请实施例中,根据控制流图和安全系统知识数据库,判断二进制目标程序是否存在漏洞包括:根据所述控制流图,对所述业务流程的输入数据进行污点分析,以确定参与污点数据处理的初始函数序列;根据初始函数序列和预构建的安全系统知识数据库,判断二进制目标程序是否存在漏洞。
7、在本申请实施例中,预构建的安全系统知识数据库包括:基本库指纹数据库、危险函数库、安全过滤代码库和漏洞模式规则库。
8、在本申请
9、通过基本库指纹数据库识别初始函数序列中每个函数所使用的基本库及函数名;
10、根据每个函数所使用的基本库及函数名确定业务流程所引用的目标函数序列;
11、根据危险函数库和安全过滤代码库识别目标函数序列中的多个特定函数;
12、根据漏洞模式规则库对多个特定函数进行模式匹配,以确定二进制目标程序是否存在漏洞。
13、在本申请实施例中,根据危险函数库和安全过滤代码库识别目标函数序列中的多个特定函数包括:
14、将目标函数序列代入危险函数库,以判断目标函数序列中是否存在函数为危险函数;
15、将目标函数序列代入安全过滤代码库,以判断目标函数序列中是否存在函数为过滤函数;
16、在判定存在函数为危险函数或过滤函数的情况下,将危险函数和过滤函数确定为特定函数。
17、在本申请实施例中,根据漏洞模式规则库对特定函数进行模式匹配,以判断二进制目标程序是否存在漏洞包括:
18、在任意特定函数的模式匹配结果为数据为外部数据、数据未经过滤清洗直接参与计算以及计算结果未经过滤清洗直接参与内部使用的情况下,判定二进制目标程序存在漏洞。
19、在本申请实施例中,方法还包括:
20、在基本库指纹数据库、危险函数库以及安全过滤代码库无法识别的情况下,将二进制目标程序的主要业务流程的控制流图和污点数据以图形或列表的方式发送至用户终端,以通过用户终端判定二进制目标程序是否存在漏洞。
21、在本申请实施例中,方法还包括:
22、将库函数以及系统接口函数中的预设函数进行汇总以形成危险函数库;
23、将数据范围限定的代码、数据计算结果正确性验证代码以及安全内存操作代码进行汇总以形成安全过滤代码库;
24、通过语法定义,将预设漏洞规则进行汇聚以形成漏洞模式规则库;
25、基于基本库指纹数据库、危险函数库、安全过滤代码库和漏洞模式规则库构建安全系统知识数据库。
26、本申请实施例第二方面提供一种处理器,被配置成执行根据上述的用于漏洞检测的方法。
27、本申请实施例第三方面提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令用于使得机器执行根据上述的用于漏洞检测的方法。
28、通过上述技术方案,首先获取二进制目标程序,然后对二进制目标程序进行反编译,以得到二进制目标程序对应的业务流程的控制流图,最后根据控制流图和预构建的安全系统知识数据库,判断二进制目标程序是否存在漏洞。本申请能利用反编译工具和技术实现无程序源码情况下的自动化漏洞挖掘,降低了漏洞发现的条件,同时通过预构建的规则库,实现了自动化分析和漏洞挖掘且提高了漏洞检出概率。
29、本申请实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。
本文档来自技高网...【技术保护点】
1.一种用于漏洞检测的方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述根据所述控制流图和所述安全系统知识数据库,判断所述二进制目标程序是否存在漏洞包括:
3.根据权利要求1所述的方法,其特征在于,所述预构建的安全系统知识数据库包括:
4.根据权利要求3所述的方法,其特征在于,所述根据所述初始函数序列和所述预构建的安全系统知识数据库,判断所述二进制目标程序是否存在漏洞包括:
5.根据权利要求4所述的方法,其特征在于,所述根据所述危险函数库和所述安全过滤代码库识别所述目标函数序列中的多个特定函数包括:
6.根据权利要求4所述的方法,其特征在于,所述根据所述漏洞模式规则库对所述特定函数进行模式匹配,以确定所述二进制目标程序是否存在漏洞包括:
7.根据权利要求3所述的方法,其特征在于,所述方法还包括:
8.根据权利要求3所述的方法,其特征在于,所述方法还包括:
9.一种处理器,其特征在于,被配置成执行根据权利要求1至8中任一项所述的用于漏洞检测的方法。
< ...【技术特征摘要】
1.一种用于漏洞检测的方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述根据所述控制流图和所述安全系统知识数据库,判断所述二进制目标程序是否存在漏洞包括:
3.根据权利要求1所述的方法,其特征在于,所述预构建的安全系统知识数据库包括:
4.根据权利要求3所述的方法,其特征在于,所述根据所述初始函数序列和所述预构建的安全系统知识数据库,判断所述二进制目标程序是否存在漏洞包括:
5.根据权利要求4所述的方法,其特征在于,所述根据所述危险函数库和所述安全过滤代码库识别所述目标函数序列中的多个特定...
【专利技术属性】
技术研发人员:李闪闪,张黎元,郭勇生,
申请(专利权)人:北京天融信网络安全技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。