应用程序漏洞检测方法、装置及服务器的制造方法

文档序号:8223828阅读:314来源:国知局
应用程序漏洞检测方法、装置及服务器的制造方法
【技术领域】
[0001]本发明涉及互联网技术领域,具体涉及一种应用程序漏洞检测方法、装置及服务器。
【背景技术】
[0002]随着Android系统在智能设备领域市场份额的增加,Android应用的需求越来越大,越来越多的开发者加入到Android应用开发阵营,这些开发者良莠不齐,有的开发方安全意识缺乏,导致Android应用中存在各种安全漏洞。
[0003]公知的是,漏洞带来的最大问题即是木马,木马通常会利用计算机程序漏洞侵入后窃取文件和用户信息。木马是一种具有隐藏性的、自发性的可被用来进行恶意行为的程序。历史上对计算机木马的定义是,试图以有用程序的假面具欺骗用户允许其运行的一类渗透。请注意,过去的木马确实是这样,但现在它们已无需伪装自己。它们唯一的目的就是尽可能轻松地渗透并完成其恶意目标。从而利用这些漏洞泄露用户隐私甚至给用户造成财产损失。
[0004]因此,目前需要本领域技术人员迫切解决的一个技术问题就是:提供一种在开发方发布应用前对其应用进行漏洞检测的机制。

【发明内容】

[0005]鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的应用程序漏洞检测方法、相应的应用程序漏洞检测装置和服务器。
[0006]根据本发明的一个方面,提供了一种应用程序漏洞检测方法,其包括:
[0007]获取待检测的应用程序的安装包文件,提取所述安装包文件的静态特征,通过将所述安装包文件的静态特征与预先存储的漏洞静态特征进行匹配,得到静态检测结果;
[0008]将所述安装包文件传递给终端设备,以使所述终端设备安装所述安装包文件对应的应用程序;
[0009]将所述终端设备实际运行所述应用程序所产生的动态特征与预先存储的漏洞动态特征进行匹配,得到动态检测结果;
[0010]结合所述静态检测结果和所述动态检测结果,检测所述应用程序是否具有漏洞,进而确定对所述应用程序的安全审计结果。
[0011]根据本发明的另一方面,提供了一种应用程序漏洞检测装置,其包括:
[0012]提取模块,适于获取待检测的应用程序的安装包文件,提取所述安装包文件的静态特征;
[0013]静态扫描模块,适于通过将所述安装包文件的静态特征与预先存储的漏洞静态特征进行匹配,得到静态检测结果;
[0014]传递模块,适于将所述安装包文件传递给终端设备,以使所述终端设备安装所述安装包文件对应的应用程序;
[0015]动态扫描模块,适于将所述终端设备实际运行所述应用程序所产生的动态特征与预先存储的漏洞动态特征进行匹配,得到动态检测结果;
[0016]检测模块,适于结合所述静态检测结果和所述动态检测结果,检测所述应用程序是否具有漏洞,进而确定对所述应用程序的安全审计结果。
[0017]根据本发明的另一方面,提供了服务器,包括应用程序漏洞检测装置,用于对应用程序开发方所上传的应用程序进行安全审计。
[0018]根据本发明提供的方案,通过对安装包文件进行静态检测,在终端设备侧对运行的应用程序进行动态检测,来检测安装包文件是否存在漏洞,进而确定对应用程序的安全审计结果,在完全真实的终端设备环境下对终端设备进行动态检测,与终端设备模拟器相比,检测过程更加稳定,审计结果更加准确;此外,可以帮助开发方查找安装包文件中存在的安全漏洞等问题,从而保证应用程序的整体质量,防止泄露用户隐私或给用户造成财产损失。
[0019]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
【附图说明】
[0020]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0021]图1示出了根据本发明一个实施例的应用程序安全审计功能的智能调度系统的结构示意图;
[0022]图2示出了根据本发明一个实施例的应用程序漏洞检测方法的流程图;
[0023]图3示出了根据本发明另一个实施例的应用程序漏洞检测方法的流程图;
[0024]图4示出了根据本发明一个实施例的应用程序漏洞检测装置的结构示意图;
[0025]图5示出了根据本发明另一个实施例的应用程序漏洞检测装置的结构示意图;
[0026]图6示出了根据本发明一个实施例的服务器的结构示意图。
【具体实施方式】
[0027]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0028]由于开发方在应用程序开发过程中缺乏安全意识,或者由于应用程序代码本身存在的问题,导致应用中存在各种安全漏洞,从而给应用的使用者造成不必要的困扰或者财产损失,本发明的发明人基于此,研宄在开发方开发完成某一应用程序后,该应用程序发布前,对开发方所开发的应用程序进行漏洞检测,进行安全审计,以防止由于应用程序存在漏洞而给使用者造成困扰或财产损失。
[0029]图1示出了本发明所适用的具有应用程序安全审计功能的智能调度系统架构图,如图1所示,该系统包括:任务调度服务器101、至少一台安全审计服务器102以及多个终端设备103 ;每台安全审计服务器包括至少一个审计节点104,每个审计节点唯一对应于一个终端设备。该智能调度系统的主要功能是将应用程序开发方所提交的应用程序进行安全审计,确定应用程序中是否具有漏洞,并可以根据漏洞情况得到安全审计分析结果反馈给应用程序开发方,以指导应用程序开发方修补相应的漏洞。
[0030]具体地,任务调度服务器101适于:接收应用程序开发方所提交的应用程序的安装包文件,为每个应用程序创建对应的处理任务,将处理任务分配给对应的审计节点。其中,任务调度服务器101在接收到应用程序开发方所提交的应用程序的安装包文件后,为每个应用程序创建对应的处理任务,并权衡安全审计服务器中各个审计节点的负载,根据审计节点的负载情况,将处理任务分配给对应的审计节点,保证在部分审计节点处于空闲时优先将处理任务分配给空闲的审计节点。审计节点104适于:接收任务调度服务器分配的处理任务,将处理任务对应的应用程序的安装包文件传递给与审计节点对应的终端设备,以使终端设备安装该安装包文件;以及,对处理任务对应的应用程序的安装包文件进行安全审计,得到对应用程序的安全审计结果。具体地,审计节点104对处理任务对应的应用程序的安装包文件进行静态检测,以及对安装有安装包文件的终端设备进行动态检测,结合静态检测结果,和/或,动态检测结果得到对应程序的安全审计结果。终端设备103适于:安装审计节点传递的应用程序的安装包文件,实际运行应用程序。
[0031]在图1所示的系统中,核心的审计功能是由审计节点来完成的,下面通过几个具体的实施例对审计节点所采用的应用程序检测方法进行详细介绍。
[0032]图2示出了根据本发明一个实施例的应用程序漏洞检测方法的流程图。如图2所示,该方法包括以下步骤:
[0033]步骤S200,获取待检测的应用程序的安装包文件,提取安装包文件的静态特征,通过将安装包文件的静态特征与预先存储的漏洞静态特征进行匹配,得到静态检测结果。
[0034]漏洞静态特征是在不运行代码的方式下,通过词法检测、语法检测、控制流等技术对应用程序的安装包文件的程序代码进行静态检测,其中,词法分析主要是从左到右一个字符一个字符地读入源程序,即对构成源程序的字符流进行扫描然后根据构词规则识别单词,语法分析是在词法分析的基础上将单词序列组合成各类语法短语,控制流用于控制Transact-SQL语句、语句块和存储过程的执行流,以验证代码是否满足规范性、安全性、可靠性
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1