著录项信息
专利名称 | 应用程序漏洞检测方法、装置及服务器 |
申请号 | CN201510036672.2 | 申请日期 | 2015-01-23 |
法律状态 | 驳回 | 申报国家 | 中国 |
公开/公告日 | 2015-04-22 | 公开/公告号 | CN104537309A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F21/57 | IPC分类号 | G06F21/57;G06F11/36查看分类表>
|
申请人 | 北京奇虎科技有限公司;奇智软件(北京)有限公司 | 申请人地址 | 北京市西城区新街口外大街28号D座112室(德胜***
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 北京奇虎科技有限公司,奇智软件(北京)有限公司 | 当前权利人 | 北京奇虎科技有限公司,奇智软件(北京)有限公司 |
发明人 | 申迪;卢加磊;田从新;龚广 |
代理机构 | 北京市浩天知识产权代理事务所(普通合伙) | 代理人 | 宋菲;刘云贵 |
摘要
本发明公开了一种应用程序漏洞检测方法、装置及服务器。其中方法包括:获取待检测的应用程序的安装包文件,提取安装包文件的静态特征,通过将安装包文件的静态特征与预先存储的漏洞静态特征进行匹配,得到静态检测结果;将安装包文件传递给终端设备,以使终端设备安装安装包文件对应的应用程序;将终端设备实际运行应用程序所产生的动态特征与预先存储的漏洞动态特征进行匹配,得到动态检测结果;结合静态检测结果和动态检测结果,检测应用程序是否具有漏洞,进而确定对应用程序的安全审计结果。本发明帮助开发方查找安装包文件中存在的安全漏洞等问题,从而保证应用程序的整体质量,防止泄露用户隐私或给用户造成财产损失。
1.一种应用程序漏洞检测方法,其包括:
获取待检测的应用程序的安装包文件,提取所述安装包文件的静态特征,通过将所述安装包文件的静态特征与预先存储的漏洞静态特征进行匹配,得到静态检测结果;
将所述安装包文件传递给终端设备,以使所述终端设备安装所述安装包文件对应的应用程序;
将所述终端设备实际运行所述应用程序所产生的动态特征与预先存储的漏洞动态特征进行匹配,得到动态检测结果;
结合所述静态检测结果和所述动态检测结果,检测所述应用程序是否具有漏洞,进而确定对所述应用程序的安全审计结果。
2.根据权利要求1所述的方法,还包括:收集大量应用程序的漏洞静态特征和漏洞动态特征,预先将所述漏洞静态特征和漏洞动态特征存储到云端漏洞知识库中。
3.根据权利要求1或2所述的方法,所述提取所述安装包文件的静态特征进一步包括:
对所述安装包文件进行反编译处理,得到反编译代码;
从所述反编译代码中提取所述安装包文件的静态特征。
4.根据权利要求1-3任一项所述的方法,所述结合所述静态检测结果和所述动态检测结果,检测所述应用程序是否具有漏洞进一步包括:
若所述静态检测结果表明所述安装包文件的静态特征与预先存储的至少一个漏洞静态特征相匹配,和/或,所述动态检测结果表明所述终端设备实际运行所述应用程序所产生的动态特征与预先存储的至少一个漏洞动态特征相匹配,则检测出所述应用程序具有漏洞。
5.根据权利要求3所述的方法,还包括:
对所述反编译代码进行数据流分析得到用于实现漏洞攻击的信息;
根据所述用于实现漏洞攻击的信息,对所述终端设备进行漏洞攻击,接收所述终端设备反馈的针对所述漏洞攻击的日志输出结果;
所述结合所述静态检测结果和所述动态检测结果,检测所述应用程序是否具有漏洞具体为:结合所述静态检测结果、所述动态检测结果和所述日志输出结果,检测所述应用程序是否具有漏洞。
6.根据权利要求1-4任一项所述的方法,所述将所述终端设备实际运行所述应用程序所产生的动态特征与预先存储的漏洞动态特征进行匹配,得到动态检测结果进一步包括:
利用所述预先存储的漏洞动态特征,根据与所述预先存储的漏洞动态特征对应的动态检测逻辑通过触发终端设备中的动态检测的代理程序对安装有所述安装包文件的终端设备进行动态检测,得到动态检测结果。
7.根据权利要求1-6任一项所述的方法,所述漏洞静态特征包括:调用危险的应用程序接口、和/或具有危险的应用程序配置文件、和/或无法实现关键安全函数。
8.根据权利要求6所述的方法,所述用于实现漏洞攻击的信息包括:应用程序潜在的攻击点和攻击应用程序所需的参数。
9.一种应用程序漏洞检测装置,其包括:
提取模块,适于获取待检测的应用程序的安装包文件,提取所述安装包文件的静态特征;
静态扫描模块,适于通过将所述安装包文件的静态特征与预先存储的漏洞静态特征进行匹配,得到静态检测结果;
传递模块,适于将所述安装包文件传递给终端设备,以使所述终端设备安装所述安装包文件对应的应用程序;
动态扫描模块,适于将所述终端设备实际运行所述应用程序所产生的动态特征与预先存储的漏洞动态特征进行匹配,得到动态检测结果;
检测模块,适于结合所述静态检测结果和所述动态检测结果,检测所述应用程序是否具有漏洞,进而确定对所述应用程序的安全审计结果。
10.一种服务器,包括权利要求9所述的应用程序漏洞检测装置,用于对应用程序开发方所上传的应用程序进行安全审计。
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2014-08-13
|
2014-05-19
| | |
2
| |
2013-10-30
|
2012-04-28
| | |
3
| |
2013-02-20
|
2012-09-29
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 1 | | 2016-08-08 | 2016-08-08 | | |
2 | | 2015-07-06 | 2015-07-06 | | |
3 | | 2016-02-17 | 2016-02-17 | | |
4 | | 2016-08-09 | 2016-08-09 | | |
5 | | 2015-06-04 | 2015-06-04 | | |
6 | | 2015-12-24 | 2015-12-24 | | |