基于网络加速设备的安全防御系统的制作方法

文档序号:7732413阅读:91来源:国知局
专利名称:基于网络加速设备的安全防御系统的制作方法
技术领域
本发明涉及一种计算机网络web安全领域,尤其涉及一种在网络加速产品上增加一层Web安全防御的系统,从而达到防御客户源被攻击的目的。
背景技术
计算机网络在经济和生活的各个领域正在迅速普及,整个社会对网络的依赖程度越来越大。网络已经成为社会和经济发展强大动力,其地位越来越重要。伴随着网络的发展,也产生了各种各样的问题,其中安全问题尤为突出。由于系统网络固有的开放性,网络协议自身存在的安全漏洞、各种软件的不完善或人为设置的“后门”、网络管理人员的错误设置及内部人员的违规操作等,使得网络安全问题日益严重。如今的企业用户大多数都部署了各种安全网关,但仍然面临着大量Web风险与漏洞的威胁。因为传统的边界安全设备,如防火墙、IPS等,往往局限于自身的产品定位和防护深度。安全漏洞是不断涌现的,新的应用常伴随着新的漏洞。防火墙的职责是保护“大门”, 如果攻击者从别的途径进入,防火墙也很难处理。由于很多公司部署了防火墙,所以黑客开始寻找新的攻击方法,Web应用攻击就是其中的一种。Web应用攻击之所以与其他攻击不同,是因为它们很难被发现,而且可能来自任何在线用户,甚至是经过验证的用户。Gartner 的调查显示,目前大约70 %的安全漏洞源自网络应用层,各类大小型企业都不断受到Web 安全威胁,Web安全问题日益突出。Web应用受到了各种威胁,常见的有跨站脚本、SQL注入、访问控制缺陷、缓冲区溢出等各类针对Web应用的攻击。其中最流行的Web攻击当属跨站脚本攻击和SQL注入攻击。跨站脚本(XSQ是一种强迫Web站点回送攻击者提供的可执行代码的技术,这些代码由用户的浏览器装入并执行。代码本身多是基于HTML/Javascript,但是也可能扩展到 VBScriPt, ActiveX, Java、Rash等,以及其它浏览器支持的技术。当攻击者在用户的浏览器中执行攻击者提供的的代码时,这些代码运行在用户主机的安全域中。在这种权限下,代码可以读取、修改和传送浏览器可以访问的所有敏感信息。受跨站脚本攻击的用户帐号可能被劫持(cookie盗用),他们的浏览器被指向另一个地址或显示他们访问的Web站点的欺骗性的信息。跨站脚本实际上威胁了用户和Web站点间的信任关系。SQL注入是一种利用用户输入构造SQL语句的攻击。而大多数的数据库应用程序, 几乎都可以通过SQL语言进行访问。如果Web应用没有适当地验证用户输入的信息,攻击者就有可能改变后台执行的SQL语句。由于程序运行SQL语句时的权限与当前该组件(例如,数据库服务器、Web应用服务器及Web服务器等)的权限相同,而这些组件运行权限一般都较高,而且经常是以管理员的权限运行,所以攻击者可以获得数据库的完全控制,并执行系统命令,造成严重危害。要能做到对Web攻击的防御,前提是必须检测出Web攻击。Web攻击的检测技术通常分为两类,异常检测和误用检测。
异常检测也叫基于行为的检测,是利用统计的方法来检测系统的异常行为。异常检测只能识别出那些与正常过程有较大偏差的行为,由于对各种网络环境的适应性不强, 且缺乏准确的判定标准,异常检测经常会出现误报等现象,这就导致了异常检测误报率较
尚ο误用检测也叫基于知识的检测,是指运用已知的攻击方法,根据已定义好的入侵模式,通过判断这些入侵模式是否出现来检测入侵。这种方法由于依据具体特征库进行判断,所以对已知的攻击类型非常有效。虽然这种方法在处理攻击的变种以及新的攻击上有一定劣势,但基于CDN系统上的Web安全防御要求——尽可能降低误报率,宁漏报不误报的原则,误用检测对于CDN系统是一个较为理想的检测模型。

发明内容
本发明的目的在于解决上述问题,提供了一种基于网络加速设备的安全防御系统,对来自web应用程序客户端的各类请求进行内容检测和验证,确保其安全性和合法性, 对非法的请求予以实时阻断,从而对购买网络加速服务的各类网站站点进行有效防护。本发明的技术方案为本发明揭示了一种基于网络加速设备的安全防御系统,使得设置所述网络加速设备的网站站点获得针对web攻击的防护,所述系统包括系统规则库模块、系统决策模块、系统入侵检测模块以及系统反馈模块,其中所述系统规则库模块,初始化针对web攻击的规则库文件,规则库文件定义了规则的关键字、匹配规则和匹配算法,并且所述系统规则库模块负责初始化关键字检测树以及把决策算法注册到所述系统决策模块中;所述系统决策模块,对安全检测所需的决策算法进行注册;所述系统入侵检测模块,接收来自web应用程序客户端的请求,根据所述系统决策模块中的决策算法对请求进行内容检测和验证,确保请求的安全性,将检测结果传输给所述系统反馈模块;所述系统反馈模块,对于符合安全性的请求,让请求直接进入安全防御之后的流程,对于不符合安全性的请求,采取相应的防御措施。根据本发明的基于网络加速设备的安全防御系统的一实施例,所述网络加速设备包括cache缓存服务器或者cache上的上层负载均衡服务器。根据本发明的基于网络加速设备的安全防御系统的一实施例,所述系统针对的 web攻击包括跨站脚本和SQL注入。根据本发明的基于网络加速设备的安全防御系统的一实施例,所述系统规则库模块初始化的所述规则库文件是支持跨站脚本攻击和SQL注入的规则库文件。根据本发明的基于网络加速设备的安全防御系统的一实施例,所述系统规则库模块在初始化规则库文件之前预先配置针对web攻击的所述规则库文件。根据本发明的基于网络加速设备的安全防御系统的一实施例,所述系统决策模块进一步包括关键字树算法决策单元以及正则表达式匹配算法决策单元。根据本发明的基于网络加速设备的安全防御系统的一实施例,所述系统入侵检测模块包括预处理层检测单元、关键字检测层检测单元、可选处理层检测单元、规则匹配层检测单元。
根据本发明的基于网络加速设备的安全防御系统的一实施例,所述系统反馈模块包括请求拒绝单元和恶意语句删除单元,所述请求拒绝单元直接拒绝不符合安全性的请求,直接拒绝该请求;所述恶意语句删除单元将该请求中的恶意语句删除,再让经过恶意语句删除之后的请求进入安全防御之后的流程。本发明对比现有技术有如下的有益效果本发明提供了一个基于网络加速产品的安全防御系统,首先在各个网络加速产品如Cache上增加该防御系统。当启动Cache加速的同时启动该防御系统,防御系统根据外部配置的规则库做初始化工作,并载入系统决策模块中各类决策算法。此后,在Cache接受外部请求时,该请求先进入防御系统的入侵检测模块,进而进行内容的检测与验证,最后检测结果由系统反馈模块进行处理。对比现有技术, 本发明将防御系统和网络加速设备相结合,使得购买网络加速服务的各类网站客户成为受益者,在一定程度上加快了检测速度,获得了不错的检测效果。


图1为用户、⑶N系统、安全防御系统以及客户源的工作交互过程示意图。图2为本发明的基于网络加速设备的安全防御系统的实施例的总体架构图。图3为SQL注入的实例示意图。
具体实施例方式下面结合附图和实施例对本发明作进一步的描述。如图1所示,⑶N服务器群3设置在用户1和客户源服务器2之间,在⑶N服务器群3和客户源服务器2之间安装安全防御系统4。在⑶N加速设备(如cache机器)上安装安全防御系统,使得安全防御系统4和cache系统相结合。网络加速设备包括cache缓存服务器或者cache上的上层负载均衡服务器。安全防御系统4针对的web攻击包括跨站脚本和SQL注入。图2示出了本发明的基于网络加速设备的安全防御系统的实施例的总体架构。请参见图2,本实施例的安全防御系统包括系统规则库模块40、系统决策模块42、系统入侵检测模块44以及系统反馈模块46。系统规则库模块40、系统决策模块42分别连接系统入侵检测模块44,系统入侵检测模块44的输出端连接系统反馈模块46。启动系统前,系统规则库模块40配置防御系统所需的规则库文件,例如支持XSS 攻击和SQL注入的规则库文件。规则库文件定义了规则的关键字、匹配规则和匹配算法,并且所述系统规则库模块负责初始化关键字检测树以及把决策算法注册到所述系统决策模块中。启动cache加速的同时启动防御系统,防御系统中的系统规则库模块40根据外部配置的规则库进行初始化工作,并载入系统决策模块42的各类决策算法,在系统决策模块 42中,对安全检测所需的决策算法进行注册。系统决策模块42进一步包括关键字树算法决策单元420以及正则表达式匹配算法决策单元424。还可以包括其他针对各个关键字的可选算法的决策单元424。在关键字树算法决策单元420中,关键字树采用多叉树的数据结构形式,关键字树的每个节点存放关键字中的一个字符,并且由于节点存放的字符都是ASCII 值,因此采用二分查找法,查找时间复杂度为线性O(n)。在正则表达式匹配算法决策单元424中例如可以实现DFA算法-Lex算法以及NFA算法-Pcre算法。当cache接收外部请求时,这一请求先进入安全防御系统4的系统入侵检测模块 44进行内容检测和验证。系统入侵检测模块44接收来自web应用程序客户端的请求,根据系统决策模块42 中的决策算法对请求进行内容检测和验证,确保请求的安全性,将检测结果传输给系统反馈模块46。系统入侵检测模块44包括依序连接的预处理层检测单元440、关键字检测层检测单元442、可选处理层检测单元444、规则匹配层检测单元446。如果在其中的某一个检测单元中判断出该请求是合理请求,则返回检测结果至系统反馈模块46,否则进行下一个检测单元。在预处理层检测单元440中,针对检测内容进行一些特殊处理。如对于请求的 URI,造成攻击的只可能是动态页面和动态内容,因此只需检测动态页面和动态内容,比如只需检测带?问号后面的URI请求内容。在关键字检测层检测单元442中,第一,因为XSS攻击和SQL攻击的关键字是 ASCII中'!'-' '之间的合法字符,因此XSS攻击和SQL攻击字符只会出现在标准 ASCII字符中,而对于以中文字符出现频率较多的网页而言,过滤掉非ASCII字符可大大缩减需检测的内容,加快检测速度。第二,对输入字符进行快速字符转换,如'a' , ‘ A'、‘、‘等统一转换为固定的一个ASCII值'a',即97。由于关键字个数达到一定数量时,检测速率会受到较大影响,所以这样的转换可以大大减少关键字的个数以及规则文件中正则表达式的长度,使得检测速度大为提高。第三,关键字检测主要采用基于树的思想,在第二步的基础上采用基于二分查找的方法,可以加快检测速度。第四,关键字权重的引入,这里主要考虑关键字成为攻击语句的可能性。由于 “select”的出现经常伴随着SQL注入攻击,所以在配置文件中可以赋予“select”较高的权重。比如,当同时检测出“and”和“select”两个关键词时,由于配置文件中“select”的权重高于“and”的权重,在后续检测步骤中就先对“select”关键词进行处理。在可选处理层检测单元444中,可选处理可以有多步,具体由配置文件决定。比如,有下配置不例keyword:and ;weight ;optprocessand_opt 1, and_opt2 ;msg:,,” ; pcre: “ (\% 27 I\s | \+120 | (/\*. V ) ; |\% 3b)and"; 0 当检测到“and,,关键字时,可以配置后面的可选处理模块去处理“and”的后续输入字符。如以上配置所示, “and”的可选处理由ancLoptl和and_opt2这两个操作依次进行处理。这样,对于某个关键字的处理就可以根据特殊使用场景进行多步处理。在规则匹配层检测单元446中,当检测出某个关键字时,会自动判断该关键字所属的攻击类型。比如,在只有XSS和SQL注入这两种攻击的情况下,当检测出“select”关键字时,系统会自动判断该关键字属于SQL注入攻击类型,并进入规则匹配层。在规则匹配层中只需去处理SQL对应“select”关键字的匹配规则,而无需去匹配所有的SQL规则以及 XSS规则,这样就可以大大加快检测速度。系统反馈模块46对于符合安全性的请求,让请求直接进入安全防御之后的流程,对于不符合安全性的请求,采取相应的防御措施。系统反馈模块46包括请求拒绝单元460 和恶意语句删除单元462,请求拒绝单元460直接拒绝不符合安全性的请求,直接拒绝该请求。恶意语句删除单元462将该请求中的恶意语句删除,再让经过恶意语句删除之后的请求进入安全防御之后的流程。图3示出了 SQL注入的实例。如图3所示,在步骤①中,进行预处理,对URI,只检测“?”后面的内容。在步骤②中是关键字的查找,关键字采用树结构,遍历一次找出所有的关键字。当前URI中存在的关键字是“and”,“select”和“or”。由于查找算法中增加了部分语法的判断,最终将排除select”和“or”。在步骤③中,部分关键字的特殊处理(可配置),例如对于“and”和“or”,判断后面有没有出现“=”、“>”、“<”。在步骤④中,进行 pcre正则表达式的匹配。上述实施例是提供给本领域普通技术人员来实现和使用本发明的,本领域普通技术人员可在不脱离本发明的发明思想的情况下,对上述实施例做出种种修改或变化,因而本发明的发明范围并不被上述实施例所限,而应该是符合权利要求书所提到的创新性特征的最大范围。
权利要求
1.一种基于网络加速设备的安全防御系统,使得设置所述网络加速设备的网站站点获得针对web攻击的防护,所述系统包括系统规则库模块、系统决策模块、系统入侵检测模块以及系统反馈模块,其中所述系统规则库模块,初始化针对web攻击的规则库文件,规则库文件定义了规则的关键字、匹配规则和匹配算法,且所述系统规则库模块负责初始化关键字检测树以及把决策算法注册到所述系统决策模块中;所述系统决策模块,对安全检测所需的决策算法进行注册;所述系统入侵检测模块,接收来自web应用程序客户端的请求,根据所述系统决策模块中的决策算法对请求进行内容检测和验证,确保请求的安全性,将检测结果传输给所述系统反馈模块;所述系统反馈模块,对于符合安全性的请求,让请求直接进入安全防御之后的流程,对于不符合安全性的请求,采取相应的防御措施。
2.根据权利要求1所述的基于网络加速设备的安全防御系统,其特征在于,所述网络加速设备包括cache缓存服务器或者cache上的上层负载均衡服务器。
3.根据权利要求1所述的基于网络加速设备的安全防御系统,其特征在于,所述系统针对的web攻击包括跨站脚本和SQL注入。
4.根据权利要求3所述的基于网络加速设备的安全防御系统,其特征在于,所述系统规则库模块初始化的所述规则库文件是支持跨站脚本攻击和SQL注入的规则库文件。
5.根据权利要求1所述的基于网络加速设备的安全防御系统,其特征在于,所述系统规则库模块在初始化规则库文件之前预先配置针对web攻击的所述规则库文件。
6.根据权利要求1所述的基于网络加速设备的安全防御系统,其特征在于,所述系统决策模块进一步包括关键字树算法决策单元以及正则表达式匹配算法决策单元。
7.根据权利要求1所述的基于网络加速设备的安全防御系统,其特征在于,所述系统入侵检测模块包括预处理层检测单元、关键字检测层检测单元、可选处理层检测单元、规则匹配层检测单元。
8.根据权利要求1所述的基于网络加速设备的安全防御系统,其特征在于,所述系统反馈模块包括请求拒绝单元和恶意语句删除单元,所述请求拒绝单元直接拒绝不符合安全性的请求,直接拒绝该请求;所述恶意语句删除单元将该请求中的恶意语句删除,再让经过恶意语句删除之后的请求进入安全防御之后的流程。
全文摘要
本发明公开了一种基于网络加速设备的安全防御系统,对购买网络加速服务的各类网站站点进行有效防护。其技术方案为系统包括系统规则库模块、系统决策模块、系统入侵检测模块以及系统反馈模块,其中系统规则库模块,初始化针对web攻击的规则库文件;系统决策模块对安全检测所需的决策算法进行注册;系统入侵检测模块接收来自web应用程序客户端的请求,根据所述系统决策模块中的决策算法对请求进行内容检测和验证,确保请求的安全性,将检测结果传输给所述系统反馈模块;系统反馈模块对于符合安全性的请求,让请求直接进入安全防御之后的流程,对于不符合安全性的请求,采取相应的防御措施。
文档编号H04L29/06GK102291394SQ20111020788
公开日2011年12月21日 申请日期2011年7月22日 优先权日2011年7月22日
发明者刘成彦, 洪珂, 陈小芬 申请人:网宿科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1