[发明专利]一种漏洞检测方法及装置有效
申请号: | 201710938470.6 | 申请日: | 2017-09-30 |
公开(公告)号: | CN107657177B | 公开(公告)日: | 2020-11-06 |
发明(设计)人: | 宋君易 | 申请(专利权)人: | 北京奇虎科技有限公司 |
主分类号: | G06F21/57 | 分类号: | G06F21/57 |
代理公司: | 北京律诚同业知识产权代理有限公司 11006 | 代理人: | 王玉双 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 漏洞 检测 方法 装置 | ||
1.一种漏洞检测方法,其特征在于,所述方法包括:
获得请求;响应所述请求,运行所述请求对应的应用程序;
通过污点跟踪技术,获取所述应用程序运行时所产生的执行信息;
基于所述执行信息,使用预设的安全分析模型来对所述应用程序进行漏洞检测;
所述通过污点跟踪技术,获取应用程序运行时所产生的执行信息,包括:
在运行所述应用程序时,启动污染程序,获取所述请求中携带的输入参数;
污染所述输入参数,获得带污点的输入参数;
在所述应用程序的执行过程中,通过跟踪所述带污点的输入参数来获取所述执行信息;
所述在所述应用程序的执行过程中,通过跟踪所述带污点的输入参数,获取所述执行信息,包括:
对所述应用程序执行流程中与所述带污点的输入参数对应的处理函数进行挂钩Hook,获取所述处理函数输出的输出参数;
基于所述处理函数的函数类型、所述带污点的输入参数以及所述输出参数,对所述带污点的输入参数标记对应的安全状态信息。
2.根据权利要求1所述的方法,其特征在于,所述基于所述处理函数的函数类型、所述带污点的输入参数以及所述输出参数,对所述带污点的输入参数标记对应的安全状态信息,包括:
当所述处理函数的函数类型为改变变量安全状态时,判断所述处理函数为内置处理函数或者自定义处理函数;
如果所述处理函数为内置处理函数,基于所述处理函数的函数功能,对所述带污点的输入参数标记对应的安全状态信息;
如果所述处理函数为自定义处理函数,基于所述处理函数的处理逻辑、所述带污点的输入参数以及所述输出参数,对所述处理函数的功能进行分析;根据分析结果对所述带污点的输入参数标记对应的安全状态信息。
3.根据权利要求1所述的方法,其特征在于,所述获取所述请求中携带的输入参数,包括:
解析所述请求,获得所述请求对应的数据解析包;
将所述数据解析包中满足预设条件的数据确定为所述输入参数。
4.根据权利要求1所述的方法,其特征在于,所述基于所述执行信息,使用预设的安全分析模型来对所述应用程序进行漏洞检测,包括:
当所述应用程序的执行流程到达危险函数时,根据所述危险函数的函数类型,确定与所述危险函数对应的所述预设的安全分析模型;
使用所述预设的安全分析模型对所述执行信息进行安全分析,如果分析结果表明出现安全漏洞,生成告警数据。
5.根据权利要求4所述的方法,其特征在于,在生成所述告警数据之后,所述方法还包括:
基于所述告警数据,通过告警自动处理脚本自动确认存在所述安全漏洞。
6.根据权利要求5所述的方法,其特征在于,所述基于所述告警数据,通过告警自动处理脚本自动确认存在所述安全漏洞,包括:
通过告警自动处理脚本解析所述告警数据,还原触发所述安全漏洞的数据包;
基于所述数据包,复现所述安全漏洞;
如果成功完成所述安全漏洞的复现,确认告警有效,并确定所述安全漏洞存在。
7.根据权利要求4所述的方法,其特征在于,所述使用所述预设的安全分析模型对所述执行信息进行安全分析,如果所述分析结果表明出现安全漏洞,生成告警数据,包括:
将所述执行信息与所述预设的安全分析模型进行匹配;
如果所述执行信息与所述预设的安全分析模型不匹配,基于所述执行信息生成所述告警数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司,未经北京奇虎科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710938470.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种用于实时基因检测的检测装置
- 下一篇:一种正负压保护的沼气发酵装置