检测web应用中的安全漏洞制造技术

技术编号:9646447 阅读:125 留言:0更新日期:2014-02-07 12:39
本发明专利技术公开涉及检测web应用中的安全漏洞。检测安全漏洞的方法包括:在web应用执行期间与web应用交互以识别由web应用暴露的网页;静态分析网页以识别网页中受客户机端验证措施约束并且要发送到web应用的参数;鉴于由客户机端验证措施给予参数的约束来确定要应用到参数的服务器端验证措施;静态分析web应用以识别web应用中要把参数输入到web应用中的位置;在安全敏感操作中使用参数之前确定参数是否受服务器端验证措施的约束;及把参数识别为安全漏洞。

【技术实现步骤摘要】
【国外来华专利技术】检测web应用中的安全漏洞
技术介绍
如果不能在处理用户输入和在安全敏感操作中使用它们之前正确地验证用户输 入,那么基于互联网的计算机软件应用,或者说“web”应用,可能容易受到恶意攻击。一种常 用手段是通过在用户与之交互的web应用接口处约束用户输入来执行这种验证。因此,例 如,呈现给用户的基于HTML的网页可以包括只能经具有预定义值的有限集合以供用户选 择的下拉框填充的参数、及不让用户直接修改的隐式参数,然后这些参数转发到底层的web 应用。
技术实现思路
实施例提供了 web应用中安全漏洞的检测。在一种实施例中,一种方法包括在web 应用执行期间与所述web应用交互以识别由所述web应用暴露的网页;及静态分析所述网 页以识别所述网页中受客户机端验证措施约束并且要发送到所述web应用的参数。所述方 法还包括鉴于由客户机端验证措施给予参数的约束来确定要应用到所述参数的服务器端 验证措施;及静态分析所述web应用以识别所述web应用中要把所述参数输入到所述web 应用中的位置。所述方法还包括在安全敏感操作中使用所述参数之前确定所述参数是否受 服务器端验证措施的约束;及在安全敏感操作中使用所述参数之前在所述参数不受服务器 端验证措施约束的情况下把所述参数识别为安全漏洞。【附图说明】根据以下具体描述并结合附图,实施例将得到更加完全的理解和认可,其中:图1是根据本专利技术一种实施例构造并操作的、用于检测采用客户机端验证的web 应用中的安全漏洞的系统的简化概念性图示;图2是根据本专利技术一种实施例操作的图1系统操作的示例性方法的简化流程图图 示;及图3是根据本专利技术一种实施例构造并操作的计算系统的示例性硬件实现的简化 框图图示。【具体实施方式】现在在一种或多种实施例的背景下描述本专利技术,虽然本描述是要从整体上说明本 专利技术,而不是要把本专利技术限定到所示出的实施例。应当认识到,虽然没有在这里具体示出, 但是各种修改都是本领域技术人员可以想到的,而且仍然在本专利技术的真正主旨与范围内。所属
的技术人员知道,本专利技术的各个方面可以实现为系统、方法或计算 机程序产品。因此,本专利技术的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、 完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方 式,这里可以统称为“电路”、“模块”或“系统”。此外,在一些实施例中,本专利技术的各个方面 还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是一但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器 (EPR0M或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光数据存储器件、磁数据存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号, 其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括一但不限于一电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括一但不限于一无线、有线、光缆、RF等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言的任意组合来编写用于执行本专利技术操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言一诸如Java、Smalltalk、C++ 等,还包括常规的过程式程序设计语言一诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、 部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。 在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络一包括局域网(LAN) 或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。下面将参照根据本专利技术实施例的方法、装置(系统)和计算机程序产品的流程图和 /或框图描述本专利技术。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算`机程序指令存储在计算机可读介质中,这些指令使得计算机、 其它可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)?所述计算机程序指令还可以加载到计算机、其它可编程数据处理装置或者其它设备上,使得一系列操作步骤在计算机、其它可编程装置或者其它设备上执行,以产生一种计算机实现的过程,使得在所述计算机或者其它可编程装置上执行的指令提供用于实现在所述流程图和/或框图的一个或多个方框中所指定的功能/动作的过程。现在参考图1,其是根据一种实施例构造并操作的、用于检测采用客户机端验证的web应用中的安全漏洞的系统的简化概念性图示。在图1的系统中,在一种实施例中,黑盒 测试器100,诸如可以从位于纽约Armonk的国际商用机器公司商业获得的IBM Rational AppScan?,被配置成在web应用102执行过程中根据常规的黑盒测试技术与web应用102 交互,以便识别由web应用102暴露的任何静态或动态生成的网页。Web应用102可以是可 以由计算机服务器104托管并且由一个或多个客户计算机106经计算机网络108,诸如互联 网,访问的任何基于计算机的软件应用。在一种实施例中,约束管理器110被配置成静态地分析黑盒测试器100识别出的 网页,以便识别该网页中受一个或多个预定义客户机端验证措施112约束并且要发送到位 于服务器104处的web应用102的参数。这种客户机端验证措施112可以例如包括:-其中参数是隐式参数;-其中参数是通过从预定义值的列表中进行选择,诸如经下拉框,来给其分配值的 参数;及-其中参数是为其执行客户机端测试以便确定其值是否遵循正则表达式的参数。在一种实施例中,约束管理器110可以鉴于由客户机端验证措施112给予参数的 约束而确定应当应用到给定参数的一个或多个服务器端验证措施11本文档来自技高网
...

【技术保护点】
一种方法,包括:在web应用执行期间与所述web应用交互以识别由所述web应用暴露的网页;静态分析所述网页以识别所述网页中受客户机端验证措施约束并且要发送到所述web应用的参数;鉴于由客户机端验证措施给予参数的约束来确定要应用到所述参数的服务器端验证措施;静态分析所述web应用以识别所述web应用中要把所述参数输入到所述web应用中的位置;在安全敏感操作中使用所述参数之前确定所述参数是否受服务器端验证措施的约束;及在安全敏感操作中使用所述参数之前在所述参数不受服务器端验证措施约束的情况下把所述参数识别为安全漏洞。

【技术特征摘要】
【国外来华专利技术】2011.06.30 US 13/174,6281.一种方法,包括:在web应用执行期间与所述web应用交互以识别由所述web应用暴露的网页;静态分析所述网页以识别所述网页中受客户机端验证措施约束并且要发送到所述web 应用的参数;鉴于由客户机端验证措施给予参数的约束来确定要应用到所述参数的服务器端验证措施;静态分析所述web应用以识别所述web应用中要把所述参数输入到所述web应用中的位置;在安全敏感操作中使用所述参数之前确定所述参数是否受服务器端验证措施的约束;及在安全敏感操作中使用所述参数之前在所述参数不受服务器端验证措施约束的情况下把所述参数识别为安全漏洞。2.如权利要求1所述的方法,进一步包括:识别网页中的参数,其中所述参数是隐式参数。3.如权利要求1所述的方法,进一步包括:识别网页中的参数,其中所述参数是通过从预定义值的列表中进行选择来给其分配值的参数。4.如权利要求1所述的方法,进一步包括: 识别网页中的参数,其中所述参数是要为其执行客户机端测试以确定参数的值是否遵循正则表达式的参数。5.如权利要求1所述的方法,进一步包括:建立所述web应用的控制流模型与数据流模型。6.如权利要求1所述的方法,其中所述参数是隐式参数,所述web应用检查所述参数的值与客户机提供的至少一个其它参数的值之间的相关性。7.如权利要求1所述的方法,其中所述参数是通过从预定义值的列表中进行选择来给其分配值的参数,并且其中所述web应用检查所述值是属于固定的值集合还是预定义的值范围。8.如权利要求1所述的方法,其中所述参数是要为其执行客户机端测试以确定参数的值是否遵循正则表达式的参数。9.一种系统,包括:黑盒测试器,被配置成在web应用执行期间与所述web应用交互以识别由所述web应用暴露的网页;约束管理器,被配置成:静态分析所述网页以识别所述网页中受客户机端验证措施约束并且要发送到所述web 应用的参数;及鉴于由客户机端验证措施给予参数的约束来确定要应用到所述参数的服务器端验证措施;静态分析器,被配置成:静态分析所述web应用以识别所述web应用中要把所述参数输入到所述web应用中的位置;在安全敏感操作中使用所述参数之前确定所述参数是否受服务器端验证措施的约束;及在安全敏感操作中使用所述参数之前在所述参数不受服务器端验证措施约束的情况下把所述参数识别为安全漏洞。10.如权利要求9所述的系统,其中所述参数是隐式参数。11.如权利要求9所述的系统,其中所述参数是通过从预定义值的列表中进行选择来给其分配值的参数。12.如权利要求9所述的系统,其中所述参数是要为其执行客户机端测试以确定参数的值是否遵循正则表达式的参数。13.如权利要求9所述的系...

【专利技术属性】
技术研发人员:M·匹斯托爱O·塞伽尔O·特立普
申请(专利权)人:国际商业机器公司
类型:
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1