web应用漏洞检测方法及装置制造方法

文档序号:6535293阅读:253来源:国知局
web应用漏洞检测方法及装置制造方法
【专利摘要】本发明涉及一种web应用漏洞检测方法,包括:接收数据包,提取所述数据包的应用层负载内容;提取所述应用层负载内容包含的数据指纹,所述数据指纹包括协议标识、应用标识、应用版本或特征关键字中的至少一种;获取预设的漏洞特征库,在所述漏洞特征库中查找与所述数据指纹匹配的漏洞信息。此外,还包括一种web应用漏洞检测装置。上述web应用漏洞检测方法及装置能够降低web应用服务器的负载。
【专利说明】web应用漏洞检测方法及装置
【技术领域】
[0001]本发明涉及网络【技术领域】,特别是涉及一种web应用漏洞检测方法及装置。
【背景技术】
[0002]漏洞(vulnerability),是在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,从而可以使攻击者能够在未授权的情况下访问或破坏系统。通常是系统自身的问题引起的安全风险,一般包括了登录漏洞、拒绝服务漏洞、缓冲区溢出、信息泄漏、蠕虫后门、意外情况处置错误等,反映了系统自身的安全脆弱性。
[0003]传统技术中漏洞检测技术基于主动扫描,即由漏洞检测设备主动向web应用服务器发起检测包,并根据返回的应答包判断web应用是否存在安全漏洞。
[0004]然而,发明人经研究发现,传统技术中web应用漏洞检测方法至少存在如下问题:现有的漏洞检测设备在检测web应用的漏洞时,需要频繁向web应用发送检测包,使得web应用需要耗费较多计算资源对该检测包进行应答,从而浪费了 web应用的计算资源,提高了 web应用的负载。

【发明内容】

[0005]基于此,有必要提供一种能降低web应用的负载的web应用漏洞检测方法。
[0006]一种web应用漏洞检测方法,包括:
[0007]接收数据包,提取所述数据包的应用层负载内容;
[0008]提取所述应用层负载内容包含的数据指纹,所述数据指纹包括协议标识、应用标识、应用版本或特征关键字中的至少一种;
[0009]获取预设的漏洞特征库,在所述漏洞特征库中查找与所述数据指纹匹配的漏洞信
肩、O
[0010]在其中一个实施例中,所述提取所述数据包的应用层负载内容的步骤之前还包括:
[0011]对所述数据包执行检查合法性、分片重组和剥离传输层/网络层协议头中的至少一种。
[0012]在其中一个实施例中,所述提取所述应用层负载内容包含的数据指纹的步骤之前还包括:
[0013]对所述应用层负载内容进行SSL解密或base64解码。
[0014]在其中一个实施例中,所述漏洞信息包括漏洞类型和解决建议;
[0015]所述展示所述漏洞信息的步骤包括:
[0016]根据所述漏洞信息中的漏洞类型和解决建议生成报表展示,并记录日志。
[0017]在其中一个实施例中,所述方法还包括:
[0018]接收输入的漏洞信息更新指令,根据所述漏洞信息更新指令更新所述漏洞特征库。[0019]此外,还有必要提供一种能降低web应用的负载的web应用漏洞检测装置。
[0020]一种web应用漏洞检测装置,包括:
[0021]数据接收模块,用于接收数据包,提取所述数据包的应用层负载内容;
[0022]指纹提取模块,用于提取所述应用层负载内容包含的数据指纹,所述数据指纹包括协议标识、应用标识、应用版本或特征关键字中的至少一种;
[0023]漏洞查询模块,用于获取预设的漏洞特征库,在所述漏洞特征库中查找与所述数据指纹匹配的漏洞信息。
[0024]在其中一个实施例中,所述数据接收模块还用于对所述数据包执行检查合法性、分片重组和剥离传输层/网络层协议头中的至少一种。
[0025]在其中一个实施例中,所述装置还包括预处理模块,用于对所述应用层负载内容进行SSL解密或base64解码。
[0026]在其中一个实施例中,所述漏洞信息包括漏洞类型和解决建议;
[0027]所述装置还包括报表展示模块,用于根据所述漏洞信息中的漏洞类型和解决建议生成报表展示,并记录日志。
[0028]在其中一个实施例中,所述装置还包括漏洞库更新模块,用于接收输入的漏洞信息更新指令,根据所述漏洞信息更新指令更新所述漏洞特征库。
[0029]上述web应用漏洞检测方法及装置中,检测web应用漏洞的过程并不需要向web应用服务器发送检测包,然后对返回的响应包进行分析,而是直接根据外网用户与web应用服务器之间交互的与应用有关的业务数据包来分析,不会使web应用服务器产生应答检测包的额外负担,从而降低了 web应用的负载。
[0030]另外,上述检测方式与传统技术相比为被动检测方式,只要有数据包流经网关设备,检测行为即发生,因此无需管理员对检测方式进行监控。
【专利附图】

【附图说明】
[0031]图1为一个实施例中web应用漏洞检测方法的流程图;
[0032]图2为一个实施例中web应用漏洞检测装置的结构示意图;
[0033]图3为另一个实施例中web应用漏洞检测装置的结构示意图。
【具体实施方式】
[0034]如图1所不,在一个实施例中,一种web应用漏洞检测方法,该方法的执行依赖于计算机程序,可运行于基于冯洛伊曼体系的计算机系统上,该计算机系统可以是具有网关功能的计算机设备。该计算机设备可以是web应用服务器托管中心的机房对应的网关设备。部署多个web应用的多个服务器可放置在该机房中,通过该网关设备构成子网并与外网连接。互联网用户对web应用的访问均需要通过该网关设备的转发才能抵达相应的web应用服务器。
[0035]该方法包括:
[0036]步骤S102,接收数据包,提取数据包的应用层负载内容。
[0037]应用层负载内容即为数据包的正文部分。如前所述,网关设备接收到的发送给子网内的web应用服务器的数据包均为基于传输层/网络层(TCP/IP)的数据包。该数据包包含包头部分和正文部分。包头部分即为数据包的传输层协议头(TCP协议头)、网络层协议头(IP协议头)等。正文部分即应用层负载内容中即会包含应用层协议头和传输的应用层的数据。例如,基于http协议的web应用的数据包的应用层负载内容中,应用层协议头即为http协议的header部分,传输的应用层的数据即为请求或响应的数据。
[0038]在本实施例中,提取数据包的应用层负载内容的步骤之前还包括:对数据包执行检查合法性、分片重组和剥离传输层/网络层协议头中的至少一种。
[0039]对数据包的合法性进行检查即为对数据包的完整性以及数据包中序列号的顺序进行检查。数据包的分片重组即为根据IP协议中数据包的MTU (Maximum TransmissionUnit,最大传输单元)将多个数据包合成为一个。剥离传输层/网络层协议头即为将数据包的包头部分去除。
[0040]步骤S104,提取应用层负载内容包含的数据指纹,数据指纹包括协议标识、应用标识、应用版本或特征关键字中的至少一种。
[0041]协议标识可以是应用层协议的协议头中的标识信息,例如,对于基于http协议的web应用,其协议标识即为http协议头的中的http标识。应用标识即为web应用服务器的标识。例如,若web应用服务器为Apache服务器,则其应用标识即为Apache服务器的标识信息(数据包为web应用服务器返回给外网的终端的情况下)。对于接收到的客户端发送给web应用服务器的数据包,应用标识可以是终端操作系统或浏览器的标识,例如,windows标识或chrome标识。应用版本即为前述web应用或终端上操作系统或浏览器的版本信息。特征关键字即为应用的数据中包含的数据中的某几段。
[0042]在本实施例中,可获取预设的特征关键字列表,然后在应用层负载内容中查找其是否包含特征关键字列表中的特征关键字,若是,则获取该特征关键字。在其他实施例中,还可预设特征位置信息,根据特征位置信息在应用层负载内容中查找特征关键字。例如特征位置信息可以是http协议头中的accept属性,可通过该accept属性获取特征关键字。
[0043]在本实施例中,提取应用层负载内容包含的数据指纹的步骤之前还可对应用层负载内容进行SSL解密或base64解码。
[0044]某些数据包在传输时进行了 SSL加密或base64编码操作,可现对其解密或解码后再获取明文的应用层负载内容。
[0045]步骤S106,获取预设的漏洞特征库,在漏洞特征库中查找与数据指纹匹配的漏洞信息。
[0046]漏洞特征库即为预设的漏洞数据库(不局限于数据库形式,文件系统、分布式存储系统也可)。漏洞特征库中存储有数据指纹以及与数据指纹对应的漏洞信息。可通过比对数据指纹在漏洞特征库中查找相应的漏洞信息。比对的方式可以是简单的字符串匹配或是正则表达式匹配。
[0047]漏洞特征库为预先设置,由有经验的网络安全人员录入。后期还可补充,其过程为:接收输入的漏洞信息更新指令,根据漏洞信息更新指令更新漏洞特征库。
[0048]也就是说,托管中心的网络安全管理员可以随时通过在运行本方法的网关设备上输入漏洞信息更新指令根据事故以及日常的检测将新的数据指纹和相应的漏洞信息更新录入到漏洞特征库中。
[0049]在本实施例中,漏洞信息包括漏洞类型和解决建议。展示漏洞信息的步骤包括:根据漏洞信息中的漏洞类型和解决建议生成报表展示,并记录日志。
[0050]也就是说,漏洞信息中不进包括web应用服务器存在的漏洞的类型,还包括相应的漏洞清除建议。由于本方法的运行基于网关设备,因此无需人员监控,可24小时不间断地自动根据流入和流出的数据包进行漏洞分析,然后将分析得结果存储并记录日志。托管中心的网络安全管理员可通过访问网关设备的报表显示页面,查看网关设备持续检测得到的分析结果。从而根据报表中显示的解决建议对web应用的漏洞进行修复。
[0051]在一个实施例中,如图2所示,一种web应用漏洞检测装置,包括数据接收模块102、指纹提取模块104和漏洞查询模块106,其中:
[0052]数据接收模块102,用于接收数据包,提取数据包的应用层负载内容。
[0053]指纹提取模块104,用于提取应用层负载内容包含的数据指纹,数据指纹包括协议标识、应用标识、应用版本或特征关键字中的至少一种。
[0054]漏洞查询模块106,用于获取预设的漏洞特征库,在漏洞特征库中查找与数据指纹匹配的漏洞信息。
[0055]在本实施例中,数据接收模块102还用于对数据包执行检查合法性、分片重组和剥离传输层/网络层协议头中的至少一种。
[0056]在本实施例中,如图3所示,web应用漏洞检测装置还包括预处理模块108,用于对应用层负载内容进行SSL解密或base64解码。
[0057]在本实施例中,漏洞信息包括漏洞类型和解决建议。
[0058]如图3所示,web应用漏洞检测装置还包括报表展示模块110,用于根据漏洞信息中的漏洞类型和解决建议生成报表展示,并记录日志。
[0059]在本实施例中,如图3所示,web应用漏洞检测装置还包括漏洞库更新模块112,用于接收输入的漏洞信息更新指令,根据漏洞信息更新指令更新漏洞特征库。
[0060]上述web应用漏洞检测方法及装置中,检测web应用漏洞的过程并不需要向web应用服务器发送检测包,然后对返回的响应包进行分析,而是直接根据外网用户与web应用服务器之间交互的与应用有关的业务数据包来分析,不会使web应用服务器产生应答检测包的额外负担,从而降低了 web应用的负载。
[0061]另外,上述检测方式与传统技术相比为被动检测方式,只要有数据包流经网关设备,检测行为即发生,因此无需管理员对检测方式进行监控。
[0062]本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random AccessMemory, RAM)等。
[0063]以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
【权利要求】
1.一种web应用漏洞检测方法,包括: 接收数据包,提取所述数据包的应用层负载内容; 提取所述应用层负载内容包含的数据指纹,所述数据指纹包括协议标识、应用标识、应用版本或特征关键字中的至少一种; 获取预设的漏洞特征库,在所述漏洞特征库中查找与所述数据指纹匹配的漏洞信息。
2.根据权利要求1所述的web应用漏洞检测方法,其特征在于,所述提取所述数据包的应用层负载内容的步骤之前还包括: 对所述数据包执行检查合法性、分片重组和剥离传输层/网络层协议头中的至少一种。
3.根据权利要求1所述的web应用漏洞检测方法,其特征在于,所述提取所述应用层负载内容包含的数据指纹的步骤之前还包括: 对所述应用层负载内容进行SSL解密或base64解码。
4.根据权利要求1所述的web应用漏洞检测方法,其特征在于,所述漏洞信息包括漏洞类型和解决建议; 所述方法还包括: 根据所述漏洞信息中的漏洞类型和解决建议生成报表展示,并记录日志。
5.根据权利要求1所述的web应用漏洞检测方法,其特征在于,所述方法还包括: 接收输入的漏洞信息更新指令,根据所述漏洞信息更新指令更新所述漏洞特征库。
6.一种web应用漏洞检测装置,其特征在于,包括: 数据接收模块,用于接收数据包,提取所述数据包的应用层负载内容; 指纹提取模块,用于提取所述应用层负载内容包含的数据指纹,所述数据指纹包括协议标识、应用标识、应用版本或特征关键字中的至少一种; 漏洞查询模块,用于获取预设的漏洞特征库,在所述漏洞特征库中查找与所述数据指纹匹配的漏洞信息。
7.根据权利要求6所述的web应用漏洞检测装置,其特征在于,所述数据接收模块还用于对所述数据包执行检查合法性、分片重组和剥离传输层/网络层协议头中的至少一种。
8.根据权利要求6所述的web应用漏洞检测装置,其特征在于,所述装置还包括预处理模块,用于对所述应用层负载内容进行SSL解密或base64解码。
9.根据权利要求6所述的web应用漏洞检测装置,其特征在于,所述漏洞信息包括漏洞类型和解决建议; 所述装置还包括报表展示模块,用于根据所述漏洞信息中的漏洞类型和解决建议生成报表展示,并记录日志。
10.根据权利要求6所述的web应用漏洞检测装置,其特征在于,所述装置还包括漏洞库更新模块,用于接收输入的漏洞信息更新指令,根据所述漏洞信息更新指令更新所述漏洞特征库。
【文档编号】G06F21/57GK103731429SQ201410008853
【公开日】2014年4月16日 申请日期:2014年1月8日 优先权日:2014年1月8日
【发明者】刘余 申请人:深信服网络科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1