[发明专利]漏洞检测方法、装置及设备有效
| 申请号: | 201810969639.9 | 申请日: | 2018-08-23 |
| 公开(公告)号: | CN109359468B | 公开(公告)日: | 2021-12-14 |
| 发明(设计)人: | 陈钦 | 申请(专利权)人: | 创新先进技术有限公司 |
| 主分类号: | G06F21/57 | 分类号: | G06F21/57;G06F8/53 |
| 代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 林祥 |
| 地址: | 开曼群岛大开曼岛*** | 国省代码: | 暂无信息 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 漏洞 检测 方法 装置 设备 | ||
本说明书实施例提供一种漏洞检测方法、装置及设备,本说明书实施例利用历史漏洞的相关文件,特别是补丁文件,生成包括函数特征和反汇编信息的补丁特征数据库,并利用待测程序的可执行二进制文件构建待测程序的特征数据库,先将待测程序的函数特征与补丁特征数据库中的样本函数特征进行匹配,以识别尽可能多的函数,再将待测反汇编信息与补丁特征数据库中匹配上的样本函数所对应的样本反汇编信息进行匹配,以根据匹配结果确定待测程序是否存在对应的补丁,并在存在对应补丁时,根据补丁确定待测程序的漏洞类型。
技术领域
本说明书涉及安全检测技术领域,尤其涉及漏洞检测方法、装置及设备。
背景技术
计算机安全隐患(Vulnerability),俗称安全漏洞(Security hole),可以是指计算机系统安全方面的缺陷,使得系统或其应用数据的保密性、完整性、可用性、访问控制和监测机制等面临威胁。许多安全漏洞是程序存在缺陷导致的,而相关技术中常采用特征码匹配的方式检测程序的漏洞,冗余且准确率低。
发明内容
为克服相关技术中存在的问题,本说明书提供了漏洞检测方法、装置及设备。
根据本说明书实施例的第一方面,提供一种漏洞检测方法,所述方法包括:
对待测程序的可执行二进制文件进行反编译,获得待测反汇编信息;
基于所述待测反汇编信息构建待测程序的函数特征;
将待测程序的函数特征与补丁特征数据库中的样本函数特征进行匹配,以识别待测程序中的函数,并将待测反汇编信息与补丁特征数据库中匹配上的样本函数所对应的样本反汇编信息进行匹配,以根据匹配结果确定待测程序所需补丁的补丁标识;所述补丁特征数据库基于利用历史漏洞的相关文件构建的样本函数特征和样本反汇编信息而得,补丁特征数据库包括漏洞类型、补丁标识、样本函数特征、样本反汇编信息的关系;
根据所确定的补丁标识以及补丁标识与漏洞类型的映射关系,确定所述待测程序中漏洞的漏洞类型。
在一个实施例中,所述函数特征至少包括:函数名,所述函数特征还包括:控制流图和调用流图中的一种或多种特征,控制流图用于表示程序执行过程中会遍历到的路径,调用流程图用于表示程序中各函数的调用关系。
在一个实施例中,所述将待测程序的函数特征与补丁特征数据库中的样本函数特征进行匹配,包括:
将待测程序的函数名与补丁特征数据库中样本函数名进行匹配,以识别待测程序中的函数;
若待测程序中的函数全部被识别,则执行反汇编信息匹配操作;
若待测程序中的函数未全部被识别,利用回溯算法将待测程序的控制流图与补丁特征数据库中的样本控制流图进行匹配,以识别待测程序中的函数;
若待测程序中的函数全部被识别,则执行反汇编信息匹配操作;
若待测程序中的函数未完全被识别配,利用图同构算法将待测程序的调用流图与补丁特征数据库中的样本调用流图进行比较,以识别待测程序中的函数;
若待测程序中的函数全部被识别,则执行反汇编信息匹配操作。
在一个实施例中,所述补丁特征数据库中样本函数特征和样本反汇编信息的构建步骤,包括:
若历史漏洞的相关文件为补丁文件,基于所述补丁文件构建样本函数特征和样本反汇编信息;
若历史漏洞的相关文件为补丁文件和部分源代码,利用补丁文件整个文件构建样本函数特征和样本反汇编信息;
若历史漏洞的相关文件为补丁文件和全部源代码,将所述补丁文件和全部源代码编译为二进制文件,并利用中间编译信息构建样本函数特征和样本反汇编信息;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于创新先进技术有限公司,未经创新先进技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810969639.9/2.html,转载请声明来源钻瓜专利网。





