The embodiment of this application provides a vulnerability detection method and device. The method includes: acquiring the file to be detected; determining the logical expression for each leaf node in the file to be detected according to the execution logic of the executable code; testing each logical expression to obtain the test result; determining whether the file to be detected has a vulnerability according to the test result; and including the executable code in the file to be detected. \u3002 The application of the scheme provided by the embodiment of the present application can improve the accuracy of vulnerability detection for detecting files.
【技术实现步骤摘要】
一种漏洞检测方法及装置
本申请涉及安全检测
,特别是涉及一种漏洞检测方法及装置。
技术介绍
随着计算机技术的发展,用户可以通过包含可执行代码的文件来实现某些预定应用。当这些文件被电子设备执行时能够实现预定功能。对这些文件中的漏洞进行检测,能够尽可能避免损失,提高安全性。例如,基于区块链系统的以太坊平台,可以通过智能合约文件发布新型应用,区块链上的各个节点均可以通过智能合约文件实现对新型应用的使用。但是,智能合约文件的执行大多数还涉及用户之间的金钱转账,所以智能合约中的漏洞可能会造成严重后果。在对待检测漏洞的文件进行漏洞检测时,通常采用漏洞特征匹配的方式。具体的,可以对待检测漏洞的文件中的代码进行检测,当检测到存在与漏洞特征代码匹配的代码时,认为文件中存在漏洞。但是这种方式只能检测出已知的安全漏洞,无法检测可能存在的未知安全漏洞,对文件漏洞的检测准确性不够高。
技术实现思路
本申请实施例的目的在于提供了一种漏洞检测方法及装置,以提高对待检测文件进行漏洞检测时的准确性。第一方面,本申请实施例提供了一种漏洞检测方法,所述方法包括:获取待检测文件;其中,所述待检测文件中包含可执行代码;按照可执行代码的执行逻辑,确定针对所述待检测文件中各个叶子节点的逻辑表达式;对每个逻辑表达式进行测试,得到测试结果;根据所述测试结果,确定所述待检测文件是否存在漏洞。可选的,所述按照可执行代码的执行逻辑,确定针对所述待检测文件中各个叶子节点的逻辑表达式的步骤,包括:按照可执行代码的执行逻辑,生成所述待检测文件的可执行代码对应的执行流程图;根据所述执行流程图,生成针对所述待检测文件中 ...
【技术保护点】
1.一种漏洞检测方法,其特征在于,所述方法包括:获取待检测文件;其中,所述待检测文件中包含可执行代码;按照可执行代码的执行逻辑,确定针对所述待检测文件中各个叶子节点的逻辑表达式;对每个逻辑表达式进行测试,得到测试结果;根据所述测试结果,确定所述待检测文件是否存在漏洞。
【技术特征摘要】
1.一种漏洞检测方法,其特征在于,所述方法包括:获取待检测文件;其中,所述待检测文件中包含可执行代码;按照可执行代码的执行逻辑,确定针对所述待检测文件中各个叶子节点的逻辑表达式;对每个逻辑表达式进行测试,得到测试结果;根据所述测试结果,确定所述待检测文件是否存在漏洞。2.根据权利要求1所述的方法,其特征在于,所述按照可执行代码的执行逻辑,确定针对所述待检测文件中各个叶子节点的逻辑表达式的步骤,包括:按照可执行代码的执行逻辑,生成所述待检测文件的可执行代码对应的执行流程图;根据所述执行流程图,生成针对所述待检测文件中各个叶子节点的逻辑表达式。3.根据权利要求1或2所述的方法,其特征在于,所述对每个逻辑表达式进行测试,得到测试结果的步骤,包括:针对每个逻辑表达式,确定与所述逻辑表达式对应的输入参量;其中,所述输入参量用于对逻辑表达式进行测试;采用所述输入参量对对应的逻辑表达式进行测试,得到测试结果。4.根据权利要求3所述的方法,其特征在于,所述输入参量包括输入值以及将该输入值输入对应的逻辑表达式时的标准输出结果;所述采用所述输入参量对对应的逻辑表达式进行测试,得到测试结果的步骤,包括:将所述输入值输入对应的逻辑表达式,得到参考输出结果;当所述参考输出结果与所述标准输出结果不符时,确定得到存在漏洞的测试结果;当所述参考输出结果与所述标准输出结果相符时,确定得到不存在漏洞的测试结果。5.根据权利要求1所述的方法,其特征在于,所述获取待检测文件的步骤,包括:获取区块链系统中的新增区块数据,从所述新增区块数据中获取新增智能合约,作为待检测文件。6.根据权利要求1所述的方法,其特征在于,当根据所述测试结果确定所述待检测文件存在漏洞时,所述方法...
【专利技术属性】
技术研发人员:张文君,刘争辉,高春盟,杨文玉,
申请(专利权)人:北京金山安全软件有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。