安全验证的方法和装置的制作方法

文档序号:7721713阅读:139来源:国知局
专利名称:安全验证的方法和装置的制作方法
技术领域
本发明涉及网络安全的解决方案,特别地,本发明涉及在网络应用中对用户的输 入进行安全验证的方法和装置。
背景技术
现今,网络应用(Web application)中存在的安全漏洞的数目正在快速增加。网 络应用可能遭受的攻击类型包括跨站脚本(XSQ攻击、SQL注入式攻击、LDAP注入式攻击、 命令接入式攻击、PHP注入式攻击等等。统计数据表明,有75 %的攻击是针对应用层的,而 90 %的站点对于网络应用攻击是脆弱的。在Web应用安全的常规解决方案中,一方面,在客户端侧使用Web应用查看工具检 查代码;另一方面,在Web应用服务器侧使用Web应用防火墙来过滤并且阻止恶意输入。由 于恶意用户有可能绕过客户端侧的Web应用查看工具直接向Web应用服务器注入恶意代码 或者脚本,因此在Web应用服务器侧进一步对用户的输入进行验证是非常必要的。Web应用防火墙是一种Web应用服务器侧的透明的保护装置,其被配置为至少具 有以下功能性用于基于预先定义的安全规则验证用户的输入;对于违反安全规则的用户 输入采取适当安全保护动作。当检测到违反预定义的安全规则的用户输入时,诸如Web应 用防火墙的保护装置会根据预先设定的规则采取对应的行动,例如,阻止IP、拒绝请求、生 成日志,或者重新写入有效负载等。通过对在线Web应用的观察,可以发现在服务器侧由保护装置检测到的违反安全 规则的情况可以归因为以下两种情况1.无辜用户误输入某些违反安全规则的值;2.恶意用户通过使用某些工具绕过客户端侧的用户输入验证机制向Web应用服 务器注入恶意输入值以进行攻击。然而现有的对用户输入的验证方案并不能有效的识别无辜用户和恶意用户。保护 装置难以有针对性的采取适当的安全保护动作。例如,如果对输入错误的无辜用户执行阻 止其IP或者拒绝请求等动作,则会严重影响用户对于该Web应用的使用体验;如果无论恶 意用户还是无辜用户造成违规时都拒绝请求并以用户友好的方式提供安全提示,或者重写 用户的请求(Rewrite Request)进而提交给服务器端应用,则会增大安全验证系统的性能 的消耗。因此,需要提供一种网络应用的安全验证方案能够有效识别无辜用户和恶意用 户。

发明内容
为了克服现有技术中的缺陷,本发明提出一种用于在网络应用中对用户的输入进 行安全验证的方法。该方法包括向部署在客户端的预验证组件提供服务器侧保护装置的 安全规则的安全规则子集,以便由该预验证组件基于所提供的该安全规则子集在客户端侧执行对用户输入的安全验证;基于该保护装置的安全规则,对用户的输入进行验证;响应 于检测到违规的用户的输入并且所违反的安全规则未被提供到该预验证组件,将该用户确 定为第一类用户;以及响应于检测到违规的用户的输入并且所违反的安全规则已被提供到 该预验证组件,将该用户确定为第二类用户。本发明还提出一种用于在网络应用中对用户的输入进行安全验证的装置。该装置 包括用于向部署在客户端的预验证组件提供服务器侧保护装置的安全规则的安全规则子 集、以便由该预验证组件基于所提供的该安全规则子集在客户端侧执行对用户输入的安全 验证的装置;用于基于该保护装置的安全规则、对用户的输入进行验证的装置;用于响应 于检测到违规的用户的输入并且所违反的安全规则未被提供到该预验证组件、将该用户确 定为第一类用户的装置;以及用于响应于检测到违规的用户的输入并且所违反的安全规则 已被提供到该预验证组件、将该用户确定为第二类用户的装置。本发明还涉及包括该在网络应用中对用户的输入进行安全验证的装置的安全验 证系统。根据本发明的技术方案,能够有效地区分“第二类用户”和“第一类用户”。可以针 对第二类用户和第一类用户配置不同的应对方案,由此提高验证过程的针对性。根据本发 明的一个实施例,既能够尽量保证“第一类用户,,对Web应用的使用体验,又可以最大限度 地避免无谓的系统性能消耗。此外,根据本发明的技术方案还有利于减轻服务器侧保护装 置的工作负荷,从而提高整个安全验证系统的性能。


通过以下结合附图的说明,并且随着对本发明的更全面了解,本发明的其他目的 和效果将变得更加清楚和易于理解,其中图1示意性示出根据本发明一个实施方式能够实现其中的系统结构;图2示出了根据本发明一个实施方式的对用户的输入进行安全验证的方法流程 图;图3示出了根据本发明一个实施方式的服务器侧保护装置和客户端侧预验证组 件的工作流程图;图4示意性示出根据本发明一个实施方式的安全验证系统的模块间交互图。在所有的上述附图中,相同的标号表示具有相同、相似或相应的特征或功能。
具体实施例方式图1示意性示出根据本发明一个实施方式能够实现其中的系统结构。其中标号11 表示客户端侧的客户端浏览器,用于向Web应用服务器发送用户的HTTP请求并且接收相应 的响应;标号12表示网络,经由该网络Web应用服务器能够响应用户通过客户端浏览器经 由该网络发送的请求;标号10表示Web应用服务器侧的保护装置,用于在服务器侧验证用 户请求中的输入值,为Web应用服务器提供安全保护;标号13表示Web应用服务器。如图1所示,用户通过位于客户端侧的客户端浏览器11经由网络12向Web应用服 务器13发送带有输入值的请求。需要对用户输入值进行验证,以便确保Web应用的安全。 通常的用户在使用Web应用时不会在客户端侧键入逻辑代码(例如,JavaScript逻辑)等恶意值,然而潜在的恶意用户为了实现其攻击服务器或者窃取其它用户私人信息等的目的 会向Web应用服务器13注入恶意逻辑代码,该恶意代码如JavMcript被服务器发送到其 他客户端浏览器时,会窃取客户端的敏感信息。虽然客户端侧可以配置有Web应用查看工 具(未示出)来对用户输入值进行检测,但是恶意用户可以使用某些工具绕过Web应用查 看工具,例如以攻击脚本,注入工具如WebScrab的方式直接向Web应用服务器13注入恶意 值。因此,服务器侧的诸如应用防火墙的保护装置10需要配置有预先定义的安全规则,并 基于该预先定义的安全规则验证用户的输入值。当保护装置10检测到违反安全规则的用 户输入值时,则需要对该用户采取适当安全保护措施,以消除潜在的安全隐患。表1示出了 保护装置10可能采用的示例性的安全规则。表 权利要求
1. 一种用于在网络应用中对用户的输入进行安全验证的方法,包括向部署在客户端的预验证组件提供服务器侧保护装置的安全规则的安全规则子集, 以便由该预验证组件基于所提供的该安全规则子集在客户端侧执行对用户输入的安全验 证;基于该保护装置的安全规则,对用户的输入进行验证;响应于检测到违规的用户的输入并且所违反的安全规则未被提供到该预验证组件,将 该用户确定为第一类用户;以及响应于检测到违规的用户的输入并且所违反的安全规则已被提供到该预验证组件,将 该用户确定为第二类用户。
2.根据权利要求1所述的方法,还包括异步地对提供给该预验证组件的安全规则子集进行动态更新, 其中在向该预验证组件提供服务器侧保护装置的安全规则的安全规则子集的步骤中 和异步地对提供给该预验证组件的安全规则子集进行动态更新的步骤中以一定策略从该 保护装置的安全规则集合中筛选出所述安全规则子集。
3.根据权利要求1所述的方法,其中该预验证组件是能够在客户端浏览器中运行的独 AL Javascript ^ 牛。
4.根据权利要求1所述的方法,还包括针对确定的第一类用户和第二类用户执行不同的安全保护动作。
5.根据权利要求4所述的方法,其中针对确定的第一类用户和第二类用户执行不同的 安全保护动作的步骤包括针对第二类用户执行强制阻止其一切后续请求的安全保护动作;以及 针对第一类用户执行有利于保持其良好体验的安全保护动作。
6.根据权利要求2所述的方法,其中所述策略包括从以下组中选择的一项或多项 选择违规率高的安全规则;未包括该安全规则集合中所有否定规则; 不包括该安全规则集合中高风险的安全规则。
7.根据权利要求3所述的方法,其中该预验证组件响应于输入域属性改变事件,基于所提供的该安全规则子集在客户端侧 执行对用户输入的安全验证。
8.一种用于在网络应用中对用户的输入进行安全验证的装置,包括用于向部署在客户端的预验证组件提供服务器侧保护装置的安全规则的安全规则子 集、以便由该预验证组件基于所提供的该安全规则子集在客户端侧执行对用户输入的安全 验证的装置;用于基于该保护装置的安全规则、对用户的输入进行验证的装置; 用于响应于检测到违规的用户的输入并且所违反的安全规则未被提供到该预验证组 件、将该用户确定为第一类用户的装置;以及用于响应于检测到违规的用户的输入并且所违反的安全规则已被提供到该预验证组 件、将该用户确定为第二类用户的装置。
9.根据权利要求8所述的装置,还包括用于异步地对提供给该预验证组件的安全规则子集进行动态更新的装置,其中用于向该预验证组件提供服务器侧保护装置的安全规则的安全规则子集、以便由 该预验证组件基于所提供的该安全规则子集在客户端侧执行对用户输入的安全验证的装 置和用于异步地对提供给该预验证组件的安全规则子集进行动态更新的装置以一定策略 从该保护装置的安全规则集合中筛选出所述安全规则子集。
10.根据权利要求8所述的装置,其中该预验证组件是能够在客户端浏览器中运行的 Ι Javascript Μ ψο
11.根据权利要求8所述的装置,还包括用于针对确定的第一类用户和第二类用户执行不同的安全保护动作的装置。
12.根据权利要求11所述的装置,其中用于针对确定的第一类用户和第二类用户执行 不同的安全保护动作的装置包括用于针对第二类用户执行强制阻止其一切后续请求的安全保护动作的装置;以及用于针对第一类用户执行有利于保持其良好体验的安全保护动作的装置。
13.根据权利要求9所述的装置,其中所述策略包括从以下组中选择的一项或多项选择违规率高的安全规则;未包括该安全规则集合中所有否定规则;不包括该安全规则集合中高风险的安全规则。
14.根据权利要求10所述的装置,其中该预验证组件响应于输入域属性改变事件,基于所提供的该安全规则子集在客户端侧 执行对用户输入的安全验证。
全文摘要
本发明提供一种用于在网络应用中对用户的输入进行安全验证的方法,包括向部署在客户端的预验证组件提供服务器侧保护装置的安全规则的安全规则子集,以便由该预验证组件基于所提供的该安全规则子集在客户端侧执行对用户输入的安全验证;基于该保护装置的安全规则,对用户的输入进行验证;响应于检测到违规的用户的输入并且所违反的安全规则未被提供到该预验证组件,将该用户确定为第一类用户;以及响应于检测到违规的用户的输入并且所违反的安全规则已被提供到该预验证组件,将该用户确定为第二类用户。
文档编号H04L29/06GK102082780SQ20091024713
公开日2011年6月1日 申请日期2009年11月30日 优先权日2009年11月30日
发明者孟繁晶, 张煜, 杨顺祥, 罗琳 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1