网站防护方法和装置的制作方法

文档序号:7661434阅读:148来源:国知局
专利名称:网站防护方法和装置的制作方法
技术领域
本发明涉及一种网站防护方法和装置。
背景技术
随着计算机技术的发展,网络安全日益引起人们的重视。图1是根据现有技术的一种计算机网络的基本结构的示意图。如图1所示,多个终端设备11(图中以省略方式示出多个)与计算机网络12连接,并且与网站服务器13连接,从而实现与网站服务器13的数据交互。网站服务器13可以向终端设备11输出网页,基于网页的信息,网站服务器13 能够向终端设备11提供各种网络服务。当有黑客攻击网站服务器13时,现有的网站防护方式主要是根据黑客攻击的特征来更新网站服务器13中已有的防护规则,然后按防护规则来防护黑客的这种攻击手段。 当有新的黑客攻击手段出现时,已有防护规则往往不能应对这种攻击,直到根据该攻击的特征更新了防护规则,因此网站防护的效果不佳。现有技术中的网站防护的效果不佳,对于该问题,目前尚未提出有效解决方案。

发明内容
本发明的主要目的是提供一种网站防护方法和装置,以解决现有技术中的网站防护的效果不佳的问题。为解决上述问题,根据本发明的一个方面,提供了一种网站防护方法。本发明的网站防护方法包括探测网站的网页代码存在的漏洞;根据所述漏洞的特征生成防护规则;按照所述防护规则对所述网站进行防护。进一步地,探测网站的网页代码存在的漏洞之前,还包括将所述网站的网页当前的MD5值与保存的该网页的MD5值进行比较,根据二者的不同,确认所述网站提供的网页发
生更新。进一步地,探测网站的网页代码存在的漏洞包括从汇总多个检测方法形成的检测方法表中依次读取各个表项,使用读取的表项中的检测方法对所述网页代码进行检测。进一步地,按照所述防护规则对所述网站进行防护包括按照所述防护规则对访问网站的请求进行解析得出与防护规则相关的解析结果,然后将该解析结果与防护规则进行比对,若违反防护规则,就拒绝所述请求。根据本发明的另一方面,提供了一种网站防护装置。本发明的网站防护装置包括网页漏洞检查模块,用于探测网站的网页代码存在的漏洞;网页漏洞利用防护规则模块,用于根据所述漏洞的特征生成防护规则;防护模块, 用于按照所述防护规则对所述网站进行防护。进一步地,本发明的网站防护装置还包括网站页面更新监控模块,用于监控所述网站提供的网页是否发生更新;所述网页漏洞检查模块还用于在所述更新发生的情况下探测网页代码存在的漏洞。
3
进一步地,所述网页漏洞检查模块还用于从汇总多个检测方法形成的检测方法表中依次读取各个表项,使用读取的表项中的检测方法对所述网页代码进行检测。进一步地,所述防护模块还用于按照所述防护规则对访问网站的请求进行解析得出与防护规则相关的解析结果,然后将该解析结果与防护规则进行比对,若违反防护规则, 就拒绝所述请求。根据本发明的技术方案,根据探测到网页代码存在的漏洞的特征生成防护规则, 再按照该规则对输出网页代码的网站进行防护,这样有助于在发生黑客攻击之前就消除网页代码存在的漏洞带来的隐患,从而提高网站防护的效果。


说明书附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图1是根据现有技术的一种计算机网络的基本结构的示意图;图2是根据本发明实施例的网站防护方法的基本步骤的示意图;图3是根据本发明实施例的网站防护装置的基本结构的示意图。
具体实施例方式需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。图2是根据本发明实施例的网站防护方法的基本步骤的示意图。如图2所示,本发明实施例的网站防护方法主要包括如下步骤步骤S21 探测网页代码存在的漏洞;步骤S23 根据探测到的漏洞的特征生成防护规则;步骤S25 按照生成的防护规则对输出所述网页代码的网站进行防护。以下对于上述的步骤作详细说明。网站代码漏洞主要是由于web网站开发人员在编写网页代码时,没有对用户的输入数据或者是页面中所携带的信息(如Cookie)进行必要的合法性判断而形成的可被攻击者利用的程序缺陷。网站漏洞在网站代码编写过程中产生,在网站第一发布或对网站更新时被暴露。下面以常见的用户登录页面/login, jsp代码对网页的漏洞和防护规则作进一步说明。本实施例中作为示例的一个用户登录页面/login, jsp代码如下<%
String no=new StringO ; no=request.getParameter(MnoM); String psw=new StringO; psw=request.getParameter(MpswM); Connection con=null; Statement sql=null; ResultSet rs=null;
try {Class.forName(Msun.jdbc.odbcJdbcOdbcDriver"); }
catch(ClassNotFoundException e){} try{con=DriverManager.getConnection("jdbc:odbc:sun","sa","密码"); sql=con.createStatement();
String condition=Mselect * from studentlnfo where sid= "++no.+" and psw=
"+","+psw+"m;
rs=sql.executeQuery(condition); if(rs.next()==false)
{out.prmtln("密码或用户名不正确!您现在是游客身份!");} else {out.println("登陆成功,欢迎您,"+rs.getString("name"));} con.close();
}
catch(SQLException el){}
%>以上代码的漏洞在于未对用户输入的登录账号no和密码psw进行数据类型、字段长度的校验,也未对用户输入进行特殊字符的过滤。因此,如果包含上述代码的网页被发布,那么黑客可以通过检测代码中是否对登录账号和密码的数据类型、字段长度作校验,从而发现上述漏洞,然后在登录账号输入框中输入“1’ orl = 1一”,在密码输入框中任意输入,并点击登录按钮,提交登录请求。后台执行代码将执行如下sql语句"select*from studentlnfo where sid =' Iorl = 1,,输出结果为studenthfo表中的所有用户账号和密码。步骤S21可以是对已有的网页代码进行探测,如果有网页发生更新,则可以对更新的网页代码进行探测。因此步骤S21之前还可以对网站的更新进行监控,以确认网站是否提供了新的网页。通过定时爬行网站发现网站是否改版或增加页面,通过检测每个网页 MD5值来确认网页是否发生更新。具体可以是将网页当前的MD5值与保存的该网页的MD5 值进行比较看二者是否相同。如果不同,则确认网页发生更新,并且保存当前的MD5值。如果检查到有网页发生更新,则执行步骤S21,探测这些网页的网页代码。探测网页的网页代码可以采用模拟黑客攻击的手段来进行。具体可以先将黑客攻
5击的各种手段所依据的网页检测方法汇总(例如上述的检测代码中是否对登录账号和密码的数据类型、字段长度作校验),形成检测方法表,每次探测网页时,从检测方法表中依次读取各个表项以及使用表项中的检测方法对网页代码进行检测。当发现网页内容发生变化或新增加网页,就需要对新增网页和发生变化的网页进行漏洞检测,为存在安全漏洞的页面生成防护规则。网站漏洞防护规则是用来定义正常或异常的网站访问行为或特征的一组数据。以上面的用户登录页面为例,考虑如下各项(1)被保护 URL /login. jsp(2)请求类型为post ;(3)变量个数和类型变量2个,变量名为sicUpsw,sid为数字,0 9’,psw为数字,0 9,或字母,a-z”A-Z,;(4)变量长度sid长度为固定长度6,psw长度为6 8。则防护规则可以定义如下URL = /login, jsp action = post varnum = 2sid =,0 9,psw =,0 9V a~zv k~V sidLength = 6pswLength = 6 8可以建立一个防护规则库,保存各项防护规则。在步骤S25中进行安全防护时,具体可以是按照防护规则库中的每个条目,针对每个访问网站的请求例如http请求进行解析,得出与防护规则相关的解析结果例如访问动作action、访问变量、变量值的长度和类型等,并和防护规则进行比对,当发现违反防护规则时就拒绝用户请求。可以对防护规则库进行升级,具体可以是当发现新网页漏洞,并生成新的防护规则后,将新的防护规则添加到防护规则库中。图3是根据本发明实施例的网站防护装置的基本结构的示意图,如图3所示,本实施例的网站防护装置30可以设置在网站服务器13和计算机网络12之间,主要包括如下模块网页漏洞检查模块31,用于探测网页代码存在的漏洞;网页漏洞利用防护规则模块32,用于根据探测到的漏洞的特征生成防护规则;防护模块33,用于按照生成的防护规则对提供网页代码的网站进行防护。网站防护装置30还可以包括网站页面更新监控模块(图中未示出),用于监控网站提供的网页是否发生更新;这样,网页漏洞检查模块31还可用于在上述更新发生的情况下探测网页代码存在的漏洞。网页漏洞检查模块31还可用于从汇总多个检测方法形成的检测方法表中依次读取各个表项,使用读取的表项中的检测方法对所述网页代码进行检测。防护模块33还可用于按照防护规则对访问网站的请求进行解析得出与防护规则相关的解析结果,然后将该解析结果与防护规则进行比对,若违反防护规则,就拒绝该请求。根据本发明实施例的技术方案,根据探测到网页代码存在的漏洞的特征生成防护规则,再按照该规则对输出网页代码的网站进行防护,这样有助于在发生黑客攻击之前就消除网页代码存在的漏洞带来的隐患,从而提高网站防护的效果。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种网站防护方法,其特征在于,包括探测网站的网页代码存在的漏洞;根据所述漏洞的特征生成防护规则;按照所述防护规则对所述网站进行防护。
2.根据权利要求1所述的方法,其特征在于,探测网站的网页代码存在的漏洞之前,还包括将所述网站的网页当前的MD5值与保存的该网页的MD5值进行比较,根据二者的不同,确认所述网站提供的网页发生更新。
3.根据权利要求1所述的方法,其特征在于,探测网站的网页代码存在的漏洞包括从汇总多个检测方法形成的检测方法表中依次读取各个表项,使用读取的表项中的检测方法对所述网页代码进行检测。
4.根据权利要求1所述的方法,其特征在于,按照所述防护规则对所述网站进行防护包括按照所述防护规则对访问网站的请求进行解析得出与防护规则相关的解析结果,然后将该解析结果与防护规则进行比对,若违反防护规则,就拒绝所述请求。
5.一种网站防护装置,其特征在于,包括网页漏洞检查模块,用于探测网站的网页代码存在的漏洞;网页漏洞利用防护规则模块,用于根据所述漏洞的特征生成防护规则;防护模块,用于按照所述防护规则对所述网站进行防护。
6.根据权利要求5所述的装置,其特征在于,还包括网站页面更新监控模块,用于监控所述网站提供的网页是否发生更新;所述网页漏洞检查模块还用于在所述更新发生的情况下探测网页代码存在的漏洞。
7.根据权利要求5所述的装置,其特征在于,所述网页漏洞检查模块还用于从汇总多个检测方法形成的检测方法表中依次读取各个表项,使用读取的表项中的检测方法对所述网页代码进行检测。
8.根据权利要求5所述的装置,其特征在于,所述防护模块还用于按照所述防护规则对访问网站的请求进行解析得出与防护规则相关的解析结果,然后将该解析结果与防护规则进行比对,若违反防护规则,就拒绝所述请求。
全文摘要
本发明提供了一种网站防护方法和装置,用以解决现有技术中的网站防护的效果不佳的问题。该方法包括探测网页代码存在的漏洞;根据漏洞的特征生成防护规则;使用新产生的规则对网站进行防护。采用本发明的技术方案,有助于在漏洞产生之时就消除网页代码漏洞带来的隐患,从而提高网站防护的效果。
文档编号H04L29/08GK102215222SQ20111011886
公开日2011年10月12日 申请日期2011年5月9日 优先权日2011年5月9日
发明者胡红涛 申请人:北京艾普优计算机系统有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1