基于大型isp互联口的漏洞检测系统及其方法

文档序号:7814416阅读:458来源:国知局
基于大型isp互联口的漏洞检测系统及其方法
【专利摘要】本发明公开了一种基于大型ISP互联口的漏洞检测系统及其方法。所述方法包括:URL采集系统,采集在互联网上访问网址时的网络数据,获取并将URL网络数据定时发送至数据预处理服务器;数据预处理服务器过滤出网址后缀名符合.action或者.do的URL网络数据,存储到数据存储服务器;数据存储服务器,存储URL网络数据;struts2漏洞检测系统,逐条测试每个URL对应的网站是否存在漏洞,并存储到数据库服务器;数据库服务器,存储检测出存在漏洞的URL记录;展示系统,读取漏洞URL记录并显示。本发明可以向教育网内各网站提供web漏洞信息,便于及时修复漏洞,避免带来严重损失。
【专利说明】基于大型ISP互联口的漏洞检测系统及其方法

【技术领域】
[0001]本发明涉及计算机网络安全领域,更具体地,涉及一种基于大型ISP互联口的apache struts2漏洞检测系统及其方法,用于为教育网内的各网站提供web漏洞信息。

【背景技术】
[0002]近年来,随着中国互联网产业高速发展,信息网络已经成为社会发展的重要保证。网络数据中有很多是敏感信息,甚至是国家机密,因此难免会招致来自世界各地的人为攻击。Struts2是Apache基金会Jakarta项目组的一个开源项目,目前Struts2广泛应用于大型互联网企业、政府、金融机构等网站建设,并作为网站开发的底层模板使用,是应用最广泛的Web应用框架之一。但是Struts2存在使用缩写的重定向参数前缀时的开放式重定向漏洞,导致黑客可以获取网站服务器的最高权限,非法获得敏感信息。
[0003]Struts2的情况描述具体如下:
[0004]Struts2的核心使用webwork框架,处理act1n时通过调用底层的getter/setter方法来处理http的参数,它将每个http参数声明为一个ONGL语句。为了防范篡改服务器端对象,即XWork的ParametersInterceptor,不允许参数名中出现“#”字符,但如果使用了 Java的Unicode字符串表示\u0023,攻击者就可以绕过保护,通过在URL中拼接Java代码的方式完成攻击。
[0005]Apache团队发现漏洞后,直接在网站上发布漏洞原理。导致网站没有及时升级,而且一些自动化、傻瓜化的利用工具开始出现,填入地址可直接执行服务器命令,读取数据甚至直接关机等操作。


【发明内容】

[0006]为解决上述现有技术中存在的问题,本发明提出一种基于大型ISP互联口的apache struts2漏洞检测系统及方法。通过在ISP互联口进行URL采集、漏洞检测和漏洞报告,可以快速协助网站定位问题。
[0007]本发明公开的一种1、一种基于大型ISP互联口的struts2漏洞检测与状态自动更新系统,其包括:
[0008]URL采集系统,其用于实时采集在互联网上终端用户访问网址时的网络数据,从中获取URL网络数据,并将获取的URL网络数据定时发送至数据预处理服务器进行处理;
[0009]数据预处理服务器,用于过滤出网址后缀名符合.act1n或者.do的URL网络数据,并存储到数据存储服务器;
[0010]数据存储服务器,用于存储经数据预处理服务器过滤后得到的URL网络数据;
[0011]struts2漏洞检测系统,其从所述数据存储服务器获取URL网络数据,然后逐条测试每个URL对应的网站是否存在漏洞,并将存在漏洞的URL存储到数据库服务器;
[0012]数据库服务器,用于存储检测出可能存在漏洞的URL形成漏洞URL记录;
[0013]展示系统,用于从数据库服务器中读取漏洞URL记录并显示在交互界面中。
[0014]本发明还公开了一种基于大型ISP互联口的struts漏洞检测与状态自动更新方法,其包括:
[0015]URL采集系统实时采集在互联网上终端用户访问网址时的网络数据,从中获取URL网络数据,并将获取的URL网络数据定时发送至数据预处理服务器进行处理;
[0016]数据预处理服务器过滤出网址后缀名符合.act1n或者.do的URL网络数据,并存储到数据存储服务器;
[0017]数据存储服务器存储经数据预处理服务器过滤后得到的URL网络数据;
[0018]struts2漏洞检测系统从所述数据存储服务器获取URL网络数据,然后逐条测试每个URL对应的网站是否存在漏洞,并将存在漏洞的URL存储到数据库服务器;
[0019]数据库服务器存储检测出可能存在漏洞的URL形成漏洞URL记录;
[0020]展示系统从数据库服务器中读取漏洞URL记录并显示在交互界面中。
[0021]本发明提出的上述方案通过将URL采集、structs2漏洞检测、W3SP系统、数据存储服务器和数据库服务器模块结合,实现实时、高效和准确地定位网站漏洞功能,用于向教育网内各站点及时提供漏洞信息,及时解决安全隐患。

【专利附图】

【附图说明】
[0022]图1为本发明中基于大型ISP互联口的apache struts2漏洞检测与状态自动更新系统的架构图;
[0023]图2(a)为本发明中展示系统的整体架构示意图;
[0024]图2(b)为本发明中展示系统的类图架构设计示意图;
[0025]图3为本发明中URL采集子系统实时采集URL网络数据的方法实现流程图;
[0026]图4为本发明中struts漏洞检测系统进行漏洞检测的方法实现流程图;
[0027]图5为本发明中展示系统读取存在漏洞的URL记录并显示的方法实现流程图。

【具体实施方式】
[0028]为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。根据本发明的实施例程,能够清晰展示该发明下的漏洞检测与状态自动更新功能。
[0029]本发明公开的一种基于大型ISP互联口的apache struts2漏洞检测系统,其包括:
[0030]URL采集系统,其用于实时采集在互联网上终端用户访问网址时的网络数据,然后依次解析网络包头部,从而获取URL网络数据,并将所采集的URL网络数据定时发送至数据预处理服务器进行处理;
[0031]数据预处理服务器,用于过滤出网址后缀名符合.act1n或者.do的URL网络数据,并存储到数据存储服务器。
[0032]数据存储服务器,用于存储经数据预处理服务器过滤后得到的URL网络数据。
[0033]struts2漏洞检测系统,其从所述数据存储服务器获取URL网络数据记录,然后逐条测试每个URL对应的网站是否存在漏洞,将存在漏洞的URL记录存储到数据库服务器中形成漏洞URL记录;
[0034]数据库服务器,用于存储检测出可能存在漏洞的URL记录。
[0035]展示系统用于从数据库服务器中读取漏洞URL记录并显示在交互界面中。
[0036]本发明提出的上述系统一方面基于URL数据采集、解析和存储技术,不停获取网络上的原始URL资源;另一方面基于struts〗漏洞检测技术,实时检测可能存在漏洞的站点;最终通过展示系统将可能存在struts〗漏洞的URL进行分级,并以web页面展示。
[0037]下面详细介绍各个系统及服务器的具体细节。
[0038]URL采集系统
[0039]所述URL采集系统,具体是获取路由器上的IP报文,并解析IP (v4/v6)报首信息,解析TCP/UDP报首信息,保留目的或者源端口为80或者8080的报文,然后解析出http头部信息。IPv4报首解析必须遵循RFC791,IPv6报首解析必须遵循RFC2460,TCP报首解析必须遵循RFC793,UDP报首解析必须遵循RFC768。HTTP报首解析必须遵守RFC2068。系统的并发性要高,对于海量数据要有足够的抗压性,对于数据量不大的情况,不能占有不必要的系统资源。可选地,URL采集系统的运行环境可为遵循POSIX标准的类UNIX操作系统。
[0040]可选地,按照流水线技术思路,将报文抓取、协议解析、数据存储分解成模块,每类模块可以并发执行,以提高系统的并发度。
[0041]可选地,基于网络运营商的优势,所述URL采集系统可以部署在大型ISP互联口上,这样就可以采集到海量数据,为漏洞检测提供充足的URL数据量。
[0042]可选地,所述URL采集系统包括多个高性能刀片服务器。优选地,可以16个高性能刀片服务器采集URL网络数据,每个刀片服务器独立采集URL网络数据,这样可以避免刀片服务器间系统异常的相互干扰,提高了采集系统的稳定性和安全性。16台刀片服务器采集的URL网络数据最终汇总到数据预处理服务器上,由数据预处理服务器统一处理采集到的URL网络数据,进而过滤得到后缀名为.act1n或.do的URL记录,并将其存储在数据存储服务器上。其中所述刀片服务器和数据预处理服务器的网卡至少是千兆网卡,以提高数据传输速率和处理效率。
[0043]可选地,上述URL采集系统处于局域网中。
[0044]struts2漏洞检测系统
[0045]struts2框架有两个核心配置文件:struts, xml和struts, properties。其中struts, properties 定义了 struts2 框架大量的属性。在 struts, properties 配置文件中,一般都会设置 struts, act1n, extens1n = do, act1n。这样基于 struts2 框架搭建的网站的网址后缀一般为.act1n或.do。因此,struts2漏洞检测系统只需要检测后缀名为.act1n和.do的URL即可。
[0046]可选地,所述struts2漏洞检测系统采用单线程从数据存储服务器上读取URL数据,然后采用多线程并发检测URL记录是否存在漏洞,并将检测出漏洞的URL记录插入到链式队列中,然后由单线程负责将存在漏洞的URL记录存到数据库服务器中。
[0047]检测出漏洞的网站有可能以后就修复了,为了保证数据库记录的有效性,struts2漏洞检测系统会以预定周期如每个周末从数据库服务器中读取状态为存在漏洞的URL记录然后再逐条检测一遍,并删除其中已经修复了漏洞的URL记录。
[0048]展示系统
[0049]所述展示系统即为网站系统安全服务平台系统,采用分层设计,功能模块高内聚,模块间松耦合,便于系统功能的可扩展。各模块相对独立,单独模块可以复用到其他系统,各最基本的数据库操作方法由同一类继承,易于复用。
[0050]图2(a)示出了本发明中展示系统的整体架构示意图。如图3所示,所述展示系统包括:
[0051]客户终端,其为用户提供系统交互界面,并供用户查询哪些网站可能存在struts〗漏洞,并向用户展示查询结果;
[0052]网络服务器,其主要提供服务器端的前置访问,可以进行总体访问控制和负载均衡等操作;
[0053]数据库,用于存储数据库数据以及其它一些文档格式的数据。
[0054]可选地,所述网站系统安全服务平台系统即展示可基于η层的J2EE架构设计,具体包括以下几层:
[0055]用户层:工作人员;
[0056]网络层:用户可以通过Internet、Intranet和无线网访问该系统;
[0057]Web层:主要提供服务器端的前置访问,可以进行总体访问控制和负载均衡等操作;
[0058]应用层:应用层就是处理各种漏洞的入口,在本系统中我们主要讨论和处理web漏洞。
[0059]数据层:域名注册系统后端的数据层是系统的信息数据所在,它包括数据库数据以及其它一些文档格式的数据。
[0060]优选地,所述展示系统采用Struts2+Spring+Hibernate的集成框架,系统的类图架构设计主要包括控制层(Act1n类)、业务逻辑层(Service类)、数据访问层(Dao类)和数据模型(Model类)。如图2(b)所示。
[0061]根据本发明另一方面,其还提出了一种基于大型ISP互联口的apache struts2漏洞检测与状态自动更新的方法。该方法融合了 URL数据采集、struts漏洞检测和漏洞状态web展示的方法,从而有效实现漏洞的检测、状态更新并以web界面友好展示,便于管理。
[0062]本发明还公开了一种基于大型ISP互联口的apache struts2漏洞检测与状态自动更新的方法。该方法包括:
[0063]步骤1、URL采集子系统在ISP互联口上实时采集URL数据,并将这些数据定时发送至数据预处理服务器;
[0064]图3展示了本发明中URL采集子系统实时采集URL网络数据的方法实现流程图,如图3所示,该方法包括:
[0065]S1:报文抓取模块packet_capture实现对开源库Iibpcap的封装,调用Iibpcap接口进行网络抓包。由于抓包速度很快,因此可以采用单线程抓包存储到队列NetWorkPacket中。抓包参数的设置采用配置文件的方式,如设置抓包的端口号为80,抓包的长度为1470。这样可以提高系统的灵活性。
[0066]S2:协议解析模块Http_resolve开启多线程从队列NetWork Packet中读取网络包,进行协议分析,过滤出HTTP报文。其中,队列NetWork Packet必须加锁,因为抓包模块packet_capture和多线程的协议解析模块Http_resolve需要互斥的访问队列NetWorkPacket,加锁方式则采用经典的读写锁技术,这样可以多个Http_resolve模块之间并发读取队列NetWork Packet,以提高处理性能。解析后的http报文存储到链式队列中。
[0067]S3:为提高并发性,开启多个协议分析线程从过滤得到的HTTP报文中解析出URL然后存入数据预处理服务器。
[0068]步骤2、struts2漏洞检测系统从数据存储服务器获取URL记录,然后逐条测试每个URL对应的网站是否存在漏洞,具体的检测方法主要有两种方式:远程执行命令和远程重定向,如:http://192.168.1.1/helloworld.act1n ? redirect:http://www.baidu.com。如果网址http://192.168.1.1/helloworld.act1n存在漏洞则上述网址就会重定向到百度的首页。
[0069]图4展示了本发明中struts漏洞检测系统进行漏洞检测的方法实现流程图,如图4所示,其包括:
[0070]S1:单线程Read_URL从数据存储服务器中读取后缀名为.act1n或.do的URL数据,然后插入链式队列LQ_URL中,在插入前先对LQ_URL加上写锁,然后插入数据,插入完成释放写锁。
[0071]S2:URL_detect模块开启多线程从队列LQ_URL中读取URL数据,在读之前先加读锁,读取成功后释放读锁。每个线程针对读取的URL记录进行struts漏洞检测,若存在漏洞就插入到队列中LQ_flaw,否则丢弃该URL数据。
[0072]S3:单线程URL_insert从队列LQ_flaw中读取可能存在漏洞的URL记录然后插入到数据库中。
[0073]步骤3、展示系统从数据库服务器中读取存在漏洞的URL记录并显示在界面中。
[0074]图5展示了本发明中展示系统读取存在漏洞的URL记录并显示的方法实现流程图,如图5所示,其包括:
[0075]S1:WebLeakDao模块实现访问数据库的接口。
[0076]S2 =WebLeakManager模块负责调用上述接口从数据库获取漏洞信息列表。
[0077]S3 =WebLeakAct1n类模块负责对web漏洞信息的展示,在展示时根据URL进行分类可以快速定位到某个节点、某个区域和某些学校的网站。并展示当前漏洞的状态是否修复。
[0078]以上所述的具体实施例程,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例程而已,并不用于限制本发明,凡在本漏洞新发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种基于大型ISP互联口的漏洞检测系统,其包括: URL采集系统,其用于实时采集在互联网上终端用户访问网址时的网络数据,从中获取URL网络数据,并将获取的URL网络数据定时发送至数据预处理服务器进行处理; 数据预处理服务器,用于过滤出网址后缀名符合.act1n或者.do的URL网络数据,并存储到数据存储服务器; 数据存储服务器,用于存储经数据预处理服务器过滤后得到的URL网络数据;struts2漏洞检测系统,其从所述数据存储服务器获取URL网络数据,然后逐条测试每个URL对应的网站是否存在漏洞,并将存在漏洞的URL存储到数据库服务器; 数据库服务器,用于存储检测出可能存在漏洞的URL形成漏洞URL记录; 展示系统,用于从数据库服务器中读取漏洞URL记录并显示在交互界面中。
2.如权利要求1所述的系统,其中,所述URL采集系统具体通过从路由器上获取IP报文,并通过解析IP报首信息和TCP/UDP报首信息,保留目的或者源端为80或者8080的报文,进而解析出http头部信息中的URL网络数据。
3.如权利要求1所述的系统,其中,所述URL采集系统部署在ISP互联口上,其包括多个并行运行的刀片服务器。
4.如权利要求1所述的系统,其中,所述strutS2漏洞检测系统以预定周期从数据库服务器中读取漏洞URL记录然后再逐条检测一遍,并删除其中已经修复了漏洞的URL记录。
5.如权利要求1所述的系统,其中,所述展示系统包括: 客户终端,其为用户提供系统交互界面,并供用户查询哪些网站可能存在漏洞,向用户展示查询结果; 网络服务器,其用于提供服务器端的前置访问; 数据库,用于存储数据库数据以及其它一些文档格式的数据。
6.一种基于大型ISP互联口的漏洞检测方法,其包括: URL采集系统实时采集在互联网上终端用户访问网址时的网络数据,从中获取URL网络数据,并将获取的URL网络数据定时发送至数据预处理服务器进行处理; 数据预处理服务器过滤出网址后缀名符合.act1n或者.do的URL网络数据,并存储到数据存储服务器; 数据存储服务器存储经数据预处理服务器过滤后得到的URL网络数据;struts2漏洞检测系统从所述数据存储服务器获取URL网络数据,然后逐条测试每个URL对应的网站是否存在漏洞,并将存在漏洞的URL存储到数据库服务器; 数据库服务器存储检测出可能存在漏洞的URL形成漏洞URL记录; 展示系统从数据库服务器中读取漏洞URL记录并显示在交互界面中。
7.如权利要求6所述的方法,其中,所述URL采集系统实时采集的步骤具体包括: 利用抓包接口进行网络抓包; 利用多线程并行处理所抓取的网络包,并过滤出其中的HTTP报文; 采用多线程并行解析所述HTTP报文中的URL网络数据,并发送至数据预处理服务器。
8.如权利要求6所述的方法,其中,struts2漏洞检测系统进行漏洞检测的步骤具体包括: 从数据存储服务器中读取后缀名为.act1n或.do的URL网络数据,然后插入第一链式队列中;其中,所述插入操作开始前对所述第一链式队列写锁,插入操作完成后进行解锁; 利用多线程从所述第一链式队列并行读取URL网络数据,每个线程针对读取的URL网络数据进行struts2漏洞检测,若存在漏洞就插入到第二链式队列中,否则丢弃该URL网络数据; 从第二链式队列中读取所述URL网络数据并存储到数据库服务器中。
9.如权利要求8所述的方法,其中,所述struts漏洞检测系统采用远程执行命令和远程重定向检测URL网络数据对应的网站是否存在漏洞。
【文档编号】H04L29/06GK104301304SQ201410471641
【公开日】2015年1月21日 申请日期:2014年9月16日 优先权日:2014年9月16日
【发明者】黄友俊, 李星, 吴建平, 曲永丽, 王飞 申请人:赛尔网络有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1