通过配置第一计算机以执行由在第二计算机的计算机软件应用使用的数据检查软件副本测试计算机软件应用,使用在所述第一计算机的所述数据检查软件处理测试数据有效载荷的第一副本,其中所述测试数据有效载荷被配置为测试相关安全漏洞,确定所述测试数据有效载荷的所述第一副本被在所述第一计算机的所述数据检查软件认可用于进一步处理,并经由计算机网络向在所述第二计算机的所述计算机软件应用发送所述测试数据有效载荷的第二副本用于处理威胁。
【技术实现步骤摘要】
【国外来华专利技术】
本专利技术总体上涉及计算机软件测试。
技术介绍
动态分析工具经常被计算机软件开发人员用来测试计算机软件应用,通常的做法 是,首先,探索计算机软件应用来发现它的接口,包括通过其可向应用提供数据的那些接 口;然后,与应用的接口交互,并监视应用对这样的交互的响应。在一种动态分析中,通过向 应用提供带有已知的恶意属性的测试数据,然后观察应用的行为,测试计算机软件应用的 安全漏洞。例如,通过采用在一台计算机上运行的"黑盒测试仪",所述"黑盒测试仪"经由 计算机网络向另一计算机托管的网络应用发送HTTP请求,动态分析可被用于测试通过计 算机网络(比如因特网)访问的网络应用。所述HTTP请求配置有从测试数据有效载荷库 抽取的恶意测试数据有效载荷,该恶意测试数据有效载荷被设计用来测试比如SQL注入、 跨站点脚本、以及命令注入的安全漏洞。 "黑盒测试仪"可以向计算机软件应用发送所有可能的测试数据有效载荷以便测 试所有可能的安全漏洞。然而,由于经由计算机网络发送许多HTTP请求在时间和宽带方面 的成本高,经由计算机网络测试网络应用的商业黑盒测试仪通常对每个被测试的HTTP参 数仅发送几十个测试有效载荷以便控制这种成本。不幸的是,这往往意味着一些安全漏洞 被漏测。
技术实现思路
根据第一方面,提供了用于测试计算机软件应用的方法,所述方法包括配置第一 计算机以便执行由在第二计算机的计算机软件应用使用的数据检查软件的副本,使用在所 述第一计算机的所述数据检查软件处理测试数据有效载荷的第一副本,其中所述测试数据 有效载荷被配置为测试相关安全漏洞,确定所述测试数据有效载荷的所述第一副本被在所 述第一计算机的数据检查软件认可用于进一步处理,并经由计算机网络向在所述第二计算 机的所述计算机软件应用发送所述测试数据有效载荷的第二副本用于处理威胁(threat)。 优选地,所述方法进一步包括识别由所述计算机软件应用使用的所述数据检查 软件。更优选地,所述识别包括确定所述数据检查软件是消毒剂(sanitizer)和验证器 (validator)中的任意一个。更优选地,所述方法进一步包括装备所述计算机软件应用以便 执行所述识别。 优选地,所述测试数据有效载荷被储存在所述第一计算机。更优选地,所述测试数 据有效载荷包括被设计为利用所述安全漏洞的恶意有效载荷。更优选地,所述确定包括确 定所述测试数据有效载荷的所述第一副本被配置为在被所述第一计算机的所述数据检查 软件处理后测试其相关安全漏洞。更优选地,执行所述配置、处理、确定和发送,其中所述计 算机软件应用包括网络应用。 根据第二方面,提供了用于测试计算机软件应用的系统,所述系统包括:可配置 的有效载荷测试仪,配置第一计算机执行由在第二计算机的计算机软件应用使用的数据检 查软件副本,使用在所述第一计算机的所述数据检查软件处理测试数据有效载荷的第一副 本,其中所述测试数据有效载荷可配置为测试相关的安全漏洞,并确定所述测试数据有效 载荷的所述第一副本被在所述第一计算机的所述数据检查软件认可用于进一步处理;以及 应用测试仪,可配置为利用计算机网络向在所述第二计算机的所述计算机软件应用发送所 述测试数据有效载荷的第二副本用于处理威胁。 根据第三方面,提供了用于测试计算机软件应用的计算机程序产品,所述计算机 程序产品包括:非暂时的、计算机可读存储介质和包含于所述计算机可读存储介质中的计 算机可读程序代码,其中所述计算机可读程序代码是可配置的,其配置第一计算机以便执 行由在第二计算机的计算机软件应用使用的数据检查软件副本,使用在所述第一计算机的 所述数据检查软件处理测试数据有效载荷的第一副本,其中所述测试数据有效载荷被配置 为测试相关安全漏洞,确定所述测试数据有效载荷的所述第一副本被在所述第一计算机的 所述数据检查软件认可用于进一步处理,以及利用计算机网络向在所述第二计算机的所述 计算机网络应用发送所述测试数据有效载荷的第二副本用于处理威胁。【附图说明】 现在将仅通过示例的方式,参考如下附图来描述本专利技术的优选实施例: 图1是根据本专利技术实施例构成和实施的用于测试计算机软件应用的系统的简化 的概念图; 图2是根据本专利技术实施例实施的图1的系统的示例性操作方法的简化的流程图; 以及 图3是根据本专利技术实施例构成和实施的计算系统的示例性硬件实现的简化的框 图。【具体实施方式】 现在在一个或多个实施例的上下文内描述本专利技术,尽管所述描述旨在作为整体说 明本专利技术,并不意图被解释为将本专利技术限制到所示实施例。可以理解,虽然这里没有具体示 出,然而对于本领域技术人员来说可以想到的不同的修改,都在本专利技术的保护范围内。 所属
的技术人员知道,本专利技术的各个方面可以实现为系统、方法或计算 机程序产品。因此,本专利技术的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、 完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方 式,这里可以统称为"电路"、"模块"或"系统"。此外,在一些实施例中,本专利技术的各个方面 还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介 质中包含计算机可读的程序代码。 可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算 机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是一一但不限 于一一电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算 机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便 携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器 (EPROM或闪存)、光纤、便携式紧凑盘只读存储器(⑶-ROM)、光数据存储器件、磁数据存储 器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存 储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。 计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号, 其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括一一但 不限于一一电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是 计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者 传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。 计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括一一但不限 于一一无线、有线、光缆、RF等等,或者上述的任意合适的组合。 可以以一种或多种程序设计语言的任意组合来编写用于执行本专利技术操作的计算 机程序代码,所述程序设计语言包括面向对象的程序设计语言一诸如Java、Smalltalk、C++ 等,还包括常规的过程式程序设计语言一诸如"C"语言或类似的程序设计语言。程序代码可 以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、 部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。 在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络一一包括局域网(LAN) 或广域网(WAN)-本文档来自技高网...
【技术保护点】
一种用于测试计算机软件应用的方法,所述方法包括:配置第一计算机以便执行由在第二计算机的计算机软件应用使用的数据检查软件副本;使用在所述第一计算机的所述数据检查软件处理测试数据有效载荷的第一副本,其中所述测试数据有效载荷被配置为测试相关安全漏洞,确定所述测试数据有效载荷的所述第一副本被在所述第一计算机的所述数据检查软件认可用于进一步处理,以及利用计算机网络向在所述第二计算机的所述计算机软件应用发送所述测试数据有效载荷的第二副本用于处理威胁。
【技术特征摘要】
【国外来华专利技术】...
【专利技术属性】
技术研发人员:E贝斯克罗夫尼,O特里普,A兰达,
申请(专利权)人:国际商业机器公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。