[发明专利]一种漏洞检测方法及装置在审
申请号: | 201811158050.7 | 申请日: | 2018-09-30 |
公开(公告)号: | CN109446814A | 公开(公告)日: | 2019-03-08 |
发明(设计)人: | 张文君;刘争辉;高春盟;杨文玉 | 申请(专利权)人: | 北京金山安全软件有限公司 |
主分类号: | G06F21/57 | 分类号: | G06F21/57;G06Q40/04 |
代理公司: | 北京柏杉松知识产权代理事务所(普通合伙) 11413 | 代理人: | 李欣;马敬 |
地址: | 100123 北京市朝*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 待检测文件 漏洞检测 可执行代码 逻辑表达式 检测文件 叶子节点 申请 测试 漏洞 应用 | ||
本申请实施例提供了一种漏洞检测方法及装置。所述方法包括:获取待检测文件;按照可执行代码的执行逻辑,确定针对所述待检测文件中各个叶子节点的逻辑表达式;对每个逻辑表达式进行测试,得到测试结果;根据所述测试结果,确定所述待检测文件是否存在漏洞;其中,所述待检测文件中包含可执行代码。应用本申请实施例提供的方案,能够提高对待检测文件进行漏洞检测时的准确性。
技术领域
本申请涉及安全检测技术领域,特别是涉及一种漏洞检测方法及装置。
背景技术
随着计算机技术的发展,用户可以通过包含可执行代码的文件来实现某些预定应用。当这些文件被电子设备执行时能够实现预定功能。对这些文件中的漏洞进行检测,能够尽可能避免损失,提高安全性。例如,基于区块链系统的以太坊平台,可以通过智能合约文件发布新型应用,区块链上的各个节点均可以通过智能合约文件实现对新型应用的使用。但是,智能合约文件的执行大多数还涉及用户之间的金钱转账,所以智能合约中的漏洞可能会造成严重后果。
在对待检测漏洞的文件进行漏洞检测时,通常采用漏洞特征匹配的方式。具体的,可以对待检测漏洞的文件中的代码进行检测,当检测到存在与漏洞特征代码匹配的代码时,认为文件中存在漏洞。但是这种方式只能检测出已知的安全漏洞,无法检测可能存在的未知安全漏洞,对文件漏洞的检测准确性不够高。
发明内容
本申请实施例的目的在于提供了一种漏洞检测方法及装置,以提高对待检测文件进行漏洞检测时的准确性。
第一方面,本申请实施例提供了一种漏洞检测方法,所述方法包括:
获取待检测文件;其中,所述待检测文件中包含可执行代码;
按照可执行代码的执行逻辑,确定针对所述待检测文件中各个叶子节点的逻辑表达式;
对每个逻辑表达式进行测试,得到测试结果;
根据所述测试结果,确定所述待检测文件是否存在漏洞。
可选的,所述按照可执行代码的执行逻辑,确定针对所述待检测文件中各个叶子节点的逻辑表达式的步骤,包括:
按照可执行代码的执行逻辑,生成所述待检测文件的可执行代码对应的执行流程图;
根据所述执行流程图,生成针对所述待检测文件中各个叶子节点的逻辑表达式。
可选的,所述对每个逻辑表达式进行测试,得到测试结果的步骤,包括:
针对每个逻辑表达式,确定与所述逻辑表达式对应的输入参量;其中,所述输入参量用于对逻辑表达式进行测试;
采用所述输入参量对对应的逻辑表达式进行测试,得到测试结果。
可选的,所述输入参量包括输入值以及将该输入值输入对应的逻辑表达式时的标准输出结果;
所述采用所述输入参量对对应的逻辑表达式进行测试,得到测试结果的步骤,包括:
将所述输入值输入对应的逻辑表达式,得到参考输出结果;
当所述参考输出结果与所述标准输出结果不符时,确定得到存在漏洞的测试结果;
当所述参考输出结果与所述标准输出结果相符时,确定得到不存在漏洞的测试结果。
可选的,所述获取待检测文件的步骤,包括:
获取区块链系统中的新增区块数据,从所述新增区块数据中获取新增智能合约,作为待检测文件。
可选的,当根据所述测试结果确定所述待检测文件存在漏洞时,所述方法还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京金山安全软件有限公司,未经北京金山安全软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811158050.7/2.html,转载请声明来源钻瓜专利网。