CN101902367A - 一种产生测试用例的方法及装置 - Google Patents
一种产生测试用例的方法及装置 Download PDFInfo
- Publication number
- CN101902367A CN101902367A CN2009101438224A CN200910143822A CN101902367A CN 101902367 A CN101902367 A CN 101902367A CN 2009101438224 A CN2009101438224 A CN 2009101438224A CN 200910143822 A CN200910143822 A CN 200910143822A CN 101902367 A CN101902367 A CN 101902367A
- Authority
- CN
- China
- Prior art keywords
- message
- sequence
- current
- field
- legal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
本发明公开了一种产生测试用例的方法,该方法用于对协议进行模糊测试,该方法首先采用协议分析器抓取并记录协议双方之间交互的报文;然后采用协议分析器对所记录的报文进行解析,得到报文的各个字段;最后根据各个字段的类型,以相应类型的模糊数据填充该字段得到测试报文。本发明还公开了一种产生测试用例的系统。应用本发明能够在无需理解协议规范的相关知识的情况下,产生完整有效的测试用例,以完整、有效地评估协议产品的安全性。
Description
技术领域
本发明涉及软件安全性测试技术领域,特别涉及一种产生测试用例的方法及装置。
背景技术
软件(包括:应用程序、协议等)的安全性测试实际上是在软件输入空间中的一种探测。软件的输入空间由该软件的所有可能的输入、或所有可能的输入的组合构成。穷举是验证软件行为正确性的一种最极端的方法,然而,穷举对大部分案例来说不具备可操作性,因为通常情况下,软件程序的输入空间非常巨大,甚至可能是无穷大。相比于穷举的方法来说,模糊测试(Fuzz Testing)作为一种随机样本方法,是一种更具可行性的黑盒测试方法。
模糊测试是一种软件测试技术,该技术构造一些随机或半随机的数据(称为fuzz,以下称为模糊数据)作为被测试软件程序的输入,并观察被测试软件程序的工作状况。模糊测试是检查程序容错性的一种重要的测试手段。如果被测软件程序出错(例如:崩溃了或导致内置的断言验证代码为假),就表明检测出了缺陷。用于产生fuzz数据的程序称为模糊测试器(Fuzzers),模糊测试器是进行渗透测试或其它测试的有效工具。
作为一种黑盒测试工具,模糊测试通常用于大型软件开发项目。模糊测试被认为能够提高软件的安全性,这是因为:模糊测试总是能检测出一些测试人员未能发现的缺陷,这些缺陷往往会被软件测试工程师所忽略。目前,最常用的模糊测试是基于字符的,基于字符的模糊测试提供随机数据流(从文件或其它数据流中提供,例如:从套接字中提供)作为被测软件程序的输入,基于字符的模糊测试正广泛应用于协议或网络服务器的安全性测试。
虽然模糊测试具有上述种种优势,然而,当模糊测试的测试对象为协议(当然也包括对应于协议的应用或产品等)时,采用任意的输入作为测试用例就稍显不够了。这是因为:在进行协议测试时,交互的报文(或消息)必须符合相应的协议规范,因此,一次完整、有效的模糊测试需要基于协议规范进行,而非基于任意的随机输入进行。
协议规范定义了通信双方之间所交互的报文之间的关系、以及报文的格式,例如:哪个/哪些响应报文是对应于给定输入报文的。因此,只有输入适当的报文序列才能使协议产品进入随后的相应状态,而只有进入了这些状态,才有可能对这些状态下协议产品的行为进行测试。在不理解协议规范的相关知识的情况下,模糊测试只能采用任意的输入作为第一个报文来测试协议产品的初始状态,因此,这种模糊测试无法完整、有效地评估协议产品的安全性。
发明内容
有鉴于此,本发明实施例提供一种产生测试用例的方法,以在无需理解协议规范的相关知识的情况下,完整、有效地评估协议产品的安全性。
本发明实施例还提供一种产生测试用例的装置,以在无需理解协议规范的相关知识的情况下,完整、有效地评估协议产品的安全性。
本发明实施例提供的一种产生测试用例的方法,用于对协议进行模糊测试,包括:
A、采用协议分析器抓取并记录协议双方之间交互的报文;
B、采用协议分析器对所述记录的报文进行解析,得到报文的各个字段;
C、根据各个字段的类型,以相应类型的模糊数据填充所述字段得到测试报文。
较佳地,所述协议双方为:客户端和服务器;
在所述A之后可以进一步包括:将所述记录的报文中由客户端发送给服务器的报文按照发送的先后次序进行排列,得到第一合法报文序列;
所述B为:对所述第一合法报文序列中的报文进行解析,得到所述第一合法报文序列中各个报文的各个字段;
所述C为:根据所述第一合法报文序列中各个报文的各个字段的类型,依次以相应类型的模糊数据填充所述字段得到对应的测试报文,并依次以所述得到的每一个测试报文替换所述第一合法报文序列中的对应报文得到对应的报文序列,将所述得到的报文序列作为测试报文序列。
进一步地,该方法可以包括:预先设置需要进行模糊化的字段的类型,所述类型至少为一种;并针对每一种类型设置相应的模糊数据;
所述C可以包括:
C1、将所述第一合法报文序列中的第一个报文作为当前报文,将当前报文的第一个字段作为当前字段,将从所述第一合法报文序列中的第一个报文开始至当前报文为止的报文序列作为当前合法报文序列;
C2、判断所述预先设置的需要进行模糊化的字段的类型中是否存在与当前字段的类型相同的类型,若不存在,继续执行C3,若存在,继续执行C4;
C3、判断当前字段是否为当前报文的最后一个字段,若不是,则将当前字段的下一个字段作为当前字段,返回C2;若是,继续判断当前报文是否为第一合法报文序列中的最后一个报文,若是最后一个报文,则结束本方法流程,若不是最后一个报文,则将当前报文的下一个报文作为当前报文,将当前报文的第一个字段作为当前字段,将从所述第一合法报文序列中的第一个报文开始至当前报文为止的报文序列作为当前合法报文序列,返回C2;
C4、根据当前字段的类型从所述预先设置的模糊数据中确定对应的模糊数据,依次将所述模糊数据中的每一个填充到当前报文的当前字段,得到对应的报文,并依次以所述得到的每一个测试报文替换所述当前合法报文序列中的当前报文得到对应的报文序列,将所述得到的各个报文序列作为测试报文序列,返回C3。
所述C4中在得到对应的报文之后、并在依次以所述得到的每一个测试报文替换所述第一合法报文序列中的当前报文之前,可以进一步包括:
判断所述得到的报文的长度与所述当前报文的长度是否相等,若不相等,则将所述得到的报文的长度字段的值置为所述得到的报文的长度。
在所述得到第一合法报文序列之后,可以进一步包括:将所述记录的报文中由服务器返回给客户端的响应报文按照对应于所述第一合法报文序列的顺序进行排列,得到第二合法响应序列;
在所述C之后进一步包括:依次将每一个测试报文序列作为当前测试报文序列,执行D~F:
D、将当前测试报文序列发送给所述服务器;
E、将对应于所述当前测试报文序列的合法报文序列发送给所述服务器,并接收所述服务器返回的响应序列;
F、根据所述第二合法响应序列确定对应于所述合法报文序列的合法响应序列,判断所述服务器返回的响应序列与所述合法响应序列是否相同,若不相同,则记录当前测试报文序列以及所述服务器返回的响应序列。
本发明实施例提供的一种产生测试用例的装置,用于对协议进行模糊测试,该装置包括:协议分析器410和模糊测试器420,其中:
所述协议分析器410,用于抓取并记录协议双方之间交互的报文,并用于对所述记录的报文进行解析,得到报文的各个字段;
所述模糊测试器420,用于根据各个字段的类型,以相应类型的模糊数据填充所述字段得到测试报文。
较佳地,所述协议双方为:客户端和服务器;
所述协议分析器410,还可以用于将所述记录的报文中由客户端发送给服务器的报文按照发送的先后次序进行排列,得到第一合法报文序列,并用于对所述第一合法报文序列中的报文进行解析,得到所述第一合法报文序列中各个报文的各个字段;
所述模糊测试器420,还可以用于根据所述第一合法报文序列中各个报文的各个字段的类型,依次以相应类型的模糊数据填充所述字段得到对应的报文,并依次以所述得到的每一个测试报文替换所述第一合法报文序列中的对应报文得到对应的报文序列,将所述得到的报文序列作为测试报文序列。
较佳地,该装置中还可以包括:存储器430,用于存储预先设置的需要进行模糊化的字段的类型,所述类型至少为一种;以及用于存储针对每一种类型设置的相应的模糊数据;
所述模糊测试器420中进一步包括:初始化模块421、类型匹配模块422、遍历模块423和模糊化模块424,其中:
所述初始化模块421,用于将所述第一合法报文序列中的第一个报文作为当前报文,将当前报文的第一个字段作为当前字段,将从所述第一合法报文序列中的第一个报文开始至当前报文为止的报文序列作为当前合法报文序列,通知类型匹配模块422工作;
所述类型匹配模块422,用于根据所述初始化模块421或所述遍历模块423的通知,判断所述存储器430中预先存储的需要进行模糊化的字段的类型中是否存在与当前字段的类型相同的类型,在不存在时,通知遍历模块423工作,在存在时,通知模糊化模块424工作;
所述遍历模块423,用于根据所述类型匹配模块422或所述模糊化模块424的通知判断当前字段是否为当前报文的最后一个字段,在不是时,用于将当前字段的下一个字段作为当前字段,通知类型匹配模块422工作;在是时,还用于判断当前报文是否为第一合法报文序列中的最后一个报文,在是最后一个报文时,结束本装置的操作,在不是最后一个报文时,用于将当前报文的下一个报文作为当前报文,将当前报文的第一个字段作为当前字段,将从所述第一合法报文序列中的第一个报文开始至当前报文为止的报文序列作为当前合法报文序列,通知类型匹配模块422工作;
所述模糊化模块424,用于根据所述类型匹配模块422的通知,并根据当前字段的类型从所述存储器430中获取预先存储的对应于所述类型的模糊数据,依次将所述模糊数据中的每一个填充到当前报文的当前字段,得到对应的报文,并依次以所述得到的每一个测试报文替换所述当前合法报文序列中的当前报文得到对应的报文序列,将所述得到的各个报文序列作为测试报文序列,通知遍历模块423工作。
较佳地,所述模糊化模块424,还可以用于在得到对应的报文之后,判断所述得到的报文的长度与所述当前报文的长度是否相等,在不相等时,用于将所述得到的报文的长度字段的值置为所述得到的报文的长度。
较佳地,所述协议分析器410,还可以用于将所述记录的报文中由服务器返回给客户端的响应报文按照对应于所述第一合法报文序列的顺序进行排列,得到第二合法响应序列;
所述模糊测试器420中进一步包括测试模块425,所述测试模块425用于依次将每一个测试报文序列作为当前测试报文序列发送给所述服务器;并用于将对应于所述当前测试报文序列的合法报文序列发送给所述服务器,接收所述服务器返回的响应序列;还用于根据所述第二合法响应序列确定对应于所述合法报文序列的合法响应序列,判断所述服务器返回的响应序列与所述合法响应序列是否相同,在不相同时,记录当前测试报文序列以及所述服务器返回的响应序列。
由上述技术方案可见,本发明利用协议分析器抓取并记录被测协议产品接收和发送的合法的报文序列,并采用协议分析器对这些报文进行解析,将解析后的报文提供给模糊测试器,由模糊测试器对解析后的报文中的某些字段进行一些改变,从而构造出有针对性的测试报文。由于本发明所提供的技术方案中,测试报文序列由模糊测试器根据协议分析器所提供的解析后的报文构造得到,无需基于对协议规范的理解人工构造测试报文序列,这不仅节约了大量的时间成本和人力成本,而且提高了模糊测试的有效性,是一种快速、简便的用于对网络协议产品进行模糊测试的方案。
附图说明
下面将通过参照附图详细描述本发明的示例性实施例,使本领域的普通技术人员更清楚本发明的上述及其他特征和优点,附图中:
图1为本发明产生测试用例的方法的流程示意图;
图2为本发明一较佳实施例中进行模糊测试的方法的流程示意图;
图3为本发明一较佳实施例中追踪文件的数据结构Caputrue_file的示意图;
图4为本发明一较佳实施例中产生测试用例的装置的组成结构示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
虽然对于一次有效的模糊测试来说,理解协议规范的相关知识是必须的,但是,这是一项耗时、费力的任务,特别是对于复杂的协议而言。而且,它还需要花费大量的精力去人工记录用于测试协议产品不同状态的报文序列。
将协议分析器用于网络故障检测、网络分析、软件和通信协议开发、教育等领域由来已久。协议分析器(也称为网络嗅探器、网络分析器或报文嗅探器等)是一种计算机软件程序或计算机硬件,它能够抓取并记录流经整个数字网络或网络中某一局部区域内的数据流。随着数据流流经网络,协议分析器抓取每一个报文,并根据相应的规范对报文的内容进行解析、分析。目前,最流行的开源协议分析器包括:Wireshark(也就是Ethereal)、Tcpdump等。由于这些开源协议分析器本身已经集成有众多协议的规范知识,因此,开源协议分析器不仅可以抓取流经网络的报文,而且还可以基于这些协议规范对所抓取的报文进行解析。
本发明的主要思想在于:利用协议分析器抓取并记录被测协议产品接收和发送的合法的报文序列,并使用报文解析器(即经改进之后具备报文解析功能的协议分析器)对这些报文进行解析,将解析后的报文提供给模糊测试器,由模糊测试器对解析后的报文中的某些字段进行一些改变,从而构造出有针对性的测试报文。由于本发明所提供的技术方案中,测试报文序列由模糊测试器根据协议分析器所提供的解析后的报文构造得到,无需基于对协议规范的理解人工构造测试报文序列,这不仅节约了大量的时间成本和人力成本,而且提高了模糊测试的有效性,是一种快速、简便的用于对网络协议产品进行模糊测试的方案。
图1为本发明产生测试用例的方法的流程示意图。参见图1,该方法包括:
步骤101:采用协议分析器抓取并记录协议双方之间交互的报文;
步骤102:采用协议分析器对所述记录的报文进行解析,得到报文的各个字段;
步骤103:根据各个字段的类型,以相应类型的模糊数据填充所述字段得到测试报文。
采用本发明图1所示方法产生模糊测试的测试用例时,无需了解被测协议的协议规范相关信息,只需根据由协议分析器解析得到的报文的各个字段的类型,以相应类型的模糊数据对该字段进行填充,这样得到的报文是个别字段被模糊化了的报文,以这样的报文对被测协议进行模糊测试,一方面,在不具备被测协议的协议规范的相关知识的情况下实现了模糊测试,另一方面,这样的报文并非任意的随机输入,而是对合法报文的某些字段进行了有针对性的改变之后得到的报文,因此能够对被测协议的相关状态进行测试,保证了模糊测试的完整性和有效性。
本发明所述协议双方实际上是客户端和服务器,由于服务器的安全性和可靠性是保证协议产品正常运行的基础,因此,协议测试的主要测试目标是服务器。鉴于此,在构造测试用例时,可以对由客户端发送给服务器的报文、以及服务器返回给客户端的报文进行区分,并对由客户端发送给服务器的报文的某些字段采取本发明方法进行模糊化得到测试报文,并用所得到的测试报文对被测服务器进行测试,从而提高模糊测试的效率。
下面通过一个具体实施例对本发明产生测试用例的方法及利用所产生的测试用例进行模糊测试的方法的具体实施方式进行详细说明。
图2为本发明一较佳实施例中进行模糊测试的方法的流程示意图。本方法中,将协议双方分别称为客户端和被测服务器,该客户端和被测服务器支持同一协议,该协议为被测协议。参见图2,该方法包括:
步骤201:预先设置需要进行模糊化的字段的类型,并针对每一种类型设置相应的模糊数据。
本步骤需要根据实际应用的需要设置需要进行模糊化的字段的类型,以使所产生的测试用例更具针对性。这里,用户无需理解报文中每个字段的语义,只需定义用户所关注的字段的类型名即可。例如:字段长度、字符串、字节串等。用户所关注的这些字段的类型名可以在配置文件中进行设置。如此,报文解析器在解析当前报文时,只需根据配置文件查看报文字段的类型名即可。当然,如果没有进行本步骤的设置,本发明方法根据报文中每一个字段的类型以相应类型的模糊数据填充该字段也可以实现本发明的发明目的。
本步骤中,在设置模糊数据时,可以指定一个数据库、或一个文件或其他数据源作为模糊数据。
步骤202:采用协议分析器抓取并记录某一客户端与被测服务器之间交互的报文。
本步骤中,为了覆盖被测服务器的各种不同的协议状态,需要令客户端以尽可能多的、各种不同的方式接入被测服务器。例如:以初始状态时、数据传输时、结束通信时等多种方式向被测服务器发送对应的报文。
由于此时的客户端与被测服务器之间的交互是基于双方所运行的协议正常地进行,因此,该客户端与被测服务器之间交互的报文为合法的报文,这些合法的报文序列必将令被测服务器遍历协议规范所定义的各种协议状态。因此,一个报文序列可被当作模糊测试中的测试样本,用于构造符合协议规范的报文序列,去探测和测试被测服务器的不同协议状态。
本步骤中,所抓取的这些报文序列可由协议分析器当作追踪文件保存下来。
步骤203:协议分析器将所记录的报文中由客户端发送给服务器的报文按照发送的先后次序进行排列,得到第一合法报文序列;将所记录的报文中由服务器返回给客户端的响应报文按照对应于该第一合法报文序列的顺序进行排列,得到第二合法响应序列。
在模糊测试中,经改进之后具备报文解析功能的协议分析器充当报文解析器的角色,用于解析追踪文件以获取报文序列。由于追踪文件中既包含所有自客户端发出的报文,也包含所有自被测服务器发出的报文,而只有从客户端发送给被测服务器的报文可用于本发明的模糊测试,因此,报文解析器需要从追踪文件中找出从客户端发送给被测服务器的报文,并将它们按照如(1)所示形式进行排列:
P1,P2,...,Pm (1)
(1)就是第一合法报文序列,在(1)中,P1是客户端发给被测服务器的第一个报文,P2是客户端发给被测服务器的第二个报文,依此类推,Pm是客户端发给被测服务器的第m个报文。同理,可将被测服务器返回给客户端的响应报文按照如(2)所示形式进行排列:
R1,R2,...,Rm(2)
(2)就是第二合法响应序列,在(2)中,R1是被测服务器返回给客户端的对应于P1的响应报文,R2是被测服务器返回给客户端的对应于P2的响应报文,依此类推,Rm是被测服务器返回给客户端的对应于Pm的响应报文。
下面以Wireshark为例,说明在实际应用中如何从追踪文件中得到如(1)和(2)所示的报文序列。
由于Wireshark是一种开源的协议分析器,因此,可以将Wireshark中一些与本发明不相关的组件去除,而只保留与本发明有关的组件,例如:可以保留用于解析追踪文件以获取报文序列的组件。基于Wireshark中的可解析各种协议的报文的解析器,报文解析器将追踪文件导入如图3所示的数据结构Caputrue_file中。该数据结构Caputrue_file用于以分级的方式存储协议头和各字段。由于Wireshark中集成有上百种协议的解析器功能,这些解析器可以根据给定的协议将报文解析到字段级别,图3中,结构epan_dissect_t示出了哪种协议需要被分析。追踪文件中的每一个报文将被存储为proto_tree的结构,在该结构中,每一个字段以field_info这种数据结构的形式表示,并被存储为树型结构。在每一个field_info中,header_field_info用于描述字段属性信息(例如:字段名、字段类型等),fvalue_t用于存储实际的字段值。这里,对于图3中与本发明无关的数据结构未进行详细说明。
基于Wireshark的上述信息,报文解析器可以根据每个报文的地址字段(例如:IP地址字段)将由客户端发送给服务器的报文、以及由服务器返回给客户端的报文区分开来,并按照先后次序排列为如(1)和(2)所示的报文序列。
步骤204:对第一合法报文序列中的报文进行解析,得到第一合法报文序列中各个报文的各个字段。
由于协议分析器集成了对应于协议报文的格式信息,因此,协议分析器可以作为报文解析器对当前报文进行解析得到该报文的每一个字段。
以上为本发明产生测试用例的预备操作,以下将根据第一合法报文序列中的每一个报文Pi,i=1,2,…,m,进行产生测试用例的操作。
步骤205:进行初始化设置,即:将第一合法报文序列中的第一个报文P1作为当前报文,将当前报文的第一个字段作为当前字段,将从第一合法报文序列中的第一个报文开始至当前报文为止的报文序列作为当前合法报文序列。
步骤206:判断预先设置的需要进行模糊化的字段的类型中是否存在与当前字段的类型相同的类型,若不存在,继续执行步骤207,若存在,跳到步骤211。
本步骤中,可以根据预先设置的需要进行模糊化的字段的类型与当前字段的类型进行比较,从而确定该字段是否需要进行模糊化,以用于进行模糊测试。对于需要进行模糊化的字段,跳到步骤211进行模糊化,对于不需要进行模糊化的字段,无需进行模糊化操作,直接进入步骤207,对下一个字段或下一个报文进行判断。
步骤207:判断当前字段是否为当前报文的最后一个字段,若不是当前报文的最后一个字段,则继续步骤208,若是当前报文的最后一个字段,继续步骤209。
步骤208:将当前字段的下一个字段作为当前字段,返回步骤206。
步骤209:判断当前报文是否为第一合法报文序列中的最后一个报文,若是最后一个报文,结束产生测试用例的操作,跳到步骤212,继续进行采用测试用例进行模糊测试的操作,若不是最后一个报文,则继续步骤210。
本步骤中,若当前报文已经是第一合法报文序列的最后一个报文、且当前字段已经是当前报文的最后一个字段,表明已对第一合法报文序列的各个报文中的各个可被模糊化的字段进行了模糊数据的填充,以产生了足够多的符合条件的测试用例,因此,可以结束产生测试用例的操作,继续进行采用测试用例进行模糊测试的操作。
步骤210:将当前报文的下一个报文作为当前报文,将当前报文的第一个字段作为当前字段,将从第一合法报文序列中的第一个报文开始至当前报文为止的报文序列作为当前合法报文序列,返回步骤206。
举例而言,假设当前报文为Pi,那么当前合法报文序列就是P1,P2,...,Pi。
步骤211:根据当前字段的类型从预先设置的模糊数据中确定对应的模糊数据,依次将该模糊数据中的每一个填充到当前报文的当前字段,得到对应的报文,并依次以所得到的每一个测试报文替换当前合法报文序列中的当前报文得到对应的报文序列,将得到的各个报文序列作为测试报文序列,返回步骤207。
本步骤中,如果当前报文的当前字段的类型名与预设于配置文件中的某一个类型名匹配,则需要对该当前字段进行模糊数据填充。具体而言:假设当前报文为Pi,模糊测试器将首先从预设的模糊数据中(例如:一个预设的数据库或文件中)选取所有符合该类型的测试用例,然后对于每一个测试用例,将其填充到当前报文的当前字段中得到测试报文Pi’,以所得到的每一个Pi’替换当前合法报文序列中的当前报文Pi即可得到一个新的报文序列,该报文序列就是本发明的测试报文序列。
在必要时,模糊测试器可能需要对报文Pi’的长度字段进行适当的修改,因为测试用例的长度可能与Pi中该字段的原始内容的长度不相等。具体来说,就是判断所得到的报文的长度与当前报文的长度是否相等,若不相等,则将所得到的报文的长度字段的值置为所得到的报文的长度。
通过上述步骤,产生了大量的测试报文序列,下面可以采用这些测试报文序列对被测服务器进行测试。具体而言,在进行测试时,可以依次将每一个测试报文序列作为当前测试报文序列,执行步骤212~步骤214。
步骤212:模糊测试器向被测服务器发送当前测试报文序列。
本步骤中,假设当前测试报文序列为P1,P2,...,Pi-1,Pi’。
步骤213:将对应于该当前测试报文序列的合法报文序列发送给被测服务器,并接收被测服务器返回的响应序列。
本步骤中,模糊测试器可以启动与被测服务器的另一个连接,并通过该连接向被测服务器发送诸如P1,P2,...,Pi-1,Pi此类的正确的探测报文序列,该探测报文序列是合法的报文序列。
步骤214:判断被测服务器是否返回正确的响应报文,若是,表明被测服务器依然操作正常,若不是,则表明被测服务器在当前测试报文序列的测试下出现了异常,记录当前测试报文序列以及所述服务器返回的响应序列。
本步骤中,可以根据第二合法响应报文确定对应于P1,P2,...,Pi-1,Pi的正确的响应报文应当为R1,R2,...,Ri,如果被测服务器没有正常响应探测报文序列,表明被测服务器在当前测试报文序列的攻击下出现了异常状态,模糊测试器将该测试报文序列P1,P2,...,Pi-1,Pi’作为能够触发被测服务器的安全漏洞的报文序列进行保存,以供进一步分析。然后,重启被测服务器以进行进一步测试,并返回步骤212对下一个测试用例在Pi报文的当前可模糊化的字段进行尝试。如果被测服务器正常响应了探测报文序列,则返回步骤212对下一个测试用例在Pi报文的当前可模糊化的字段进行尝试。如果所有测试用例均以尝试完毕,返回步骤212对当前报文Pi的下一个可模糊化的字段进行尝试。
在对当前报文所有可模糊化的字段采用所有测试用例进行测试之后,对当前报文的下一个报文进行测试。如果每一个报文均已被测试,则结束模糊测试,并报告所发现的安全漏洞。
对应于上述方法,本发明还公开了一种产生测试用例的装置,该装置用于对协议进行模糊测试。图4为本发明一较佳实施例中产生测试用例的装置的组成结构示意图。图4中的装置包括:协议分析器(410)和模糊测试器(420),其中:
协议分析器(410),用于抓取并记录协议双方之间交互的报文,并用于对所述记录的报文进行解析,得到报文的各个字段;
模糊测试器(420),用于根据各个字段的类型,以相应类型的模糊数据填充所述字段得到测试报文。
较佳地,协议双方为:客户端和服务器;
图4所示装置中的协议分析器(410),还用于将所记录的报文中由客户端发送给服务器的报文按照发送的先后次序进行排列,得到第一合法报文序列,并用于对该第一合法报文序列中的报文进行解析,得到该第一合法报文序列中各个报文的各个字段;
相应地,图4所示装置中的模糊测试器(420),还用于根据第一合法报文序列中各个报文的各个字段的类型,依次以相应类型的模糊数据填充该字段得到对应的报文,并依次以所得到的每一个测试报文替换该第一合法报文序列中的对应报文得到对应的报文序列,将所得到的报文序列作为测试报文序列。
图4所示装置中还可以包括:存储器(430),用于存储预先设置的需要进行模糊化的字段的类型,所设置的类型至少为一种;以及用于存储针对每一种类型设置的相应的模糊数据;
模糊测试器(420)中可以进一步包括:初始化模块(421)、类型匹配模块(422)、遍历模块(423)和模糊化模块(424),其中:
初始化模块(421),用于将第一合法报文序列中的第一个报文作为当前报文,将当前报文的第一个字段作为当前字段,将从第一合法报文序列中的第一个报文开始至当前报文为止的报文序列作为当前合法报文序列,通知类型匹配模块(422)工作;
类型匹配模块(422),用于根据初始化模块(421)或遍历模块(423)的通知,判断存储器(430)中预先存储的需要进行模糊化的字段的类型中是否存在与当前字段的类型相同的类型,在不存在时,通知遍历模块(423)工作,在存在时,通知模糊化模块(424)工作;
遍历模块(423),用于根据类型匹配模块(422)或模糊化模块(424)的通知判断当前字段是否为当前报文的最后一个字段,在不是时,用于将当前字段的下一个字段作为当前字段,通知类型匹配模块(422)工作;在是时,还用于判断当前报文是否为第一合法报文序列中的最后一个报文,在是最后一个报文时,结束本装置的操作,在不是最后一个报文时,用于将当前报文的下一个报文作为当前报文,将当前报文的第一个字段作为当前字段,将从第一合法报文序列中的第一个报文开始至当前报文为止的报文序列作为当前合法报文序列,通知类型匹配模块(422)工作;
模糊化模块(424),用于根据类型匹配模块(422)的通知,并根据当前字段的类型从存储器(430)中获取预先存储的对应于该类型的模糊数据,依次将该模糊数据中的每一个填充到当前报文的当前字段,得到对应的报文,并依次以所得到的每一个测试报文替换该当前合法报文序列中的当前报文得到对应的报文序列,将所得到的各个报文序列作为测试报文序列,通知遍历模块(423)工作。
图4所示装置中的模糊化模块(424),还用于在得到对应的报文之后,判断所得到的报文的长度与当前报文的长度是否相等,在不相等时,用于将所得到的报文的长度字段的值置为所得到的报文的长度。
图4所示装置中,协议分析器(410),还用于将所记录的报文中由服务器返回给客户端的响应报文按照对应于第一合法报文序列的顺序进行排列,得到第二合法响应序列;
模糊测试器(420)中进一步包括测试模块(425),所述测试模块(425)用于依次将每一个测试报文序列作为当前测试报文序列发送给服务器;并用于将对应于当前测试报文序列的合法报文序列发送给服务器,接收服务器返回的响应序列;还用于根据第二合法响应序列确定对应于该合法报文序列的合法响应序列,判断服务器返回的响应序列与所述合法响应序列是否相同,在不相同时,记录当前测试报文序列以及服务器返回的响应序列。
由上述实施例可见,本发明利用协议分析器抓取并记录被测协议产品接收和发送的合法的报文序列,并采用协议分析器对这些报文进行解析,将解析后的报文提供给模糊测试器,由模糊测试器对解析后的报文中的某些字段进行一些改变,从而构造出有针对性的测试报文。由于本发明所提供的技术方案中,测试报文序列由模糊测试器根据协议分析器所提供的解析后的报文构造得到,无需基于对协议规范的理解人工构造测试报文序列,这不仅节约了大量的时间成本和人力成本,而且提高了模糊测试的有效性,是一种快速、简便的用于对网络协议产品进行模糊测试的方案。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种产生测试用例的方法,用于对协议进行模糊测试,其特征在于,包括:
A、采用协议分析器抓取并记录协议双方之间交互的报文;
B、采用协议分析器对所述记录的报文进行解析,得到报文的各个字段;
C、根据各个字段的类型,以相应类型的模糊数据填充所述字段得到测试报文。
2.根据权利要求1所述的方法,其特征在于:
所述协议双方为:客户端和服务器;
在所述A之后进一步包括:将所述记录的报文中由客户端发送给服务器的报文按照发送的先后次序进行排列,得到第一合法报文序列;
所述B为:对所述第一合法报文序列中的报文进行解析,得到所述第一合法报文序列中各个报文的各个字段;
所述C为:根据所述第一合法报文序列中各个报文的各个字段的类型,依次以相应类型的模糊数据填充所述字段得到对应的测试报文,并依次以所述得到的每一个测试报文替换所述第一合法报文序列中的对应报文得到对应的报文序列,将所述得到的报文序列作为测试报文序列。
3.根据权利要求2所述的方法,其特征在于,该方法进一步包括:预先设置需要进行模糊化的字段的类型,所述类型至少为一种;并针对每一种类型设置相应的模糊数据;
所述C包括:
C1、将所述第一合法报文序列中的第一个报文作为当前报文,将当前报文的第一个字段作为当前字段,将从所述第一合法报文序列中的第一个报文开始至当前报文为止的报文序列作为当前合法报文序列;
C2、判断所述预先设置的需要进行模糊化的字段的类型中是否存在与当前字段的类型相同的类型,若不存在,继续执行C3,若存在,继续执行C4;
C3、判断当前字段是否为当前报文的最后一个字段,若不是,则将当前字段的下一个字段作为当前字段,返回C2;若是,继续判断当前报文是否为第一合法报文序列中的最后一个报文,若是最后一个报文,则结束本方法流程,若不是最后一个报文,则将当前报文的下一个报文作为当前报文,将当前报文的第一个字段作为当前字段,将从所述第一合法报文序列中的第一个报文开始至当前报文为止的报文序列作为当前合法报文序列,返回C2;
C4、根据当前字段的类型从所述预先设置的模糊数据中确定对应的模糊数据,依次将所述模糊数据中的每一个填充到当前报文的当前字段,得到对应的报文,并依次以所述得到的每一个测试报文替换所述当前合法报文序列中的当前报文得到对应的报文序列,将所述得到的各个报文序列作为测试报文序列,返回C3。
4.根据权利要求3所述的方法,其特征在于,所述C4中在得到对应的报文之后、并在依次以所述得到的每一个测试报文替换所述第一合法报文序列中的当前报文之前,进一步包括:
判断所述得到的报文的长度与所述当前报文的长度是否相等,若不相等,则将所述得到的报文的长度字段的值置为所述得到的报文的长度。
5.根据权利要求2至4任一项所述的方法,其特征在于:
在所述得到第一合法报文序列之后,进一步包括:将所述记录的报文中由服务器返回给客户端的响应报文按照对应于所述第一合法报文序列的顺序进行排列,得到第二合法响应序列;
在所述C之后进一步包括:依次将每一个测试报文序列作为当前测试报文序列,执行D~F:
D、将当前测试报文序列发送给所述服务器;
E、将对应于所述当前测试报文序列的合法报文序列发送给所述服务器,并接收所述服务器返回的响应序列;
F、根据所述第二合法响应序列确定对应于所述合法报文序列的合法响应序列,判断所述服务器返回的响应序列与所述合法响应序列是否相同,若不相同,则记录当前测试报文序列以及所述服务器返回的响应序列。
6.一种产生测试用例的装置,用于对协议进行模糊测试,其特征在于,该装置包括:协议分析器410和模糊测试器420,其中:
所述协议分析器410,用于抓取并记录协议双方之间交互的报文,并用于对所述记录的报文进行解析,得到报文的各个字段;
所述模糊测试器420,用于根据各个字段的类型,以相应类型的模糊数据填充所述字段得到测试报文。
7.根据权利要求6所述的装置,其特征在于:
所述协议双方为:客户端和服务器;
所述协议分析器410,还用于将所述记录的报文中由客户端发送给服务器的报文按照发送的先后次序进行排列,得到第一合法报文序列,并用于对所述第一合法报文序列中的报文进行解析,得到所述第一合法报文序列中各个报文的各个字段;
所述模糊测试器420,还用于根据所述第一合法报文序列中各个报文的各个字段的类型,依次以相应类型的模糊数据填充所述字段得到对应的报文,并依次以所述得到的每一个测试报文替换所述第一合法报文序列中的对应报文得到对应的报文序列,将所述得到的报文序列作为测试报文序列。
8.根据权利要求7所述的装置,其特征在于,该装置中还包括:存储器430,用于存储预先设置的需要进行模糊化的字段的类型,所述类型至少为一种;以及用于存储针对每一种类型设置的相应的模糊数据;
所述模糊测试器420中进一步包括:初始化模块421、类型匹配模块422、遍历模块423和模糊化模块424,其中:
所述初始化模块421,用于将所述第一合法报文序列中的第一个报文作为当前报文,将当前报文的第一个字段作为当前字段,将从所述第一合法报文序列中的第一个报文开始至当前报文为止的报文序列作为当前合法报文序列,通知类型匹配模块422工作;
所述类型匹配模块422,用于根据所述初始化模块421或所述遍历模块423的通知,判断所述存储器430中预先存储的需要进行模糊化的字段的类型中是否存在与当前字段的类型相同的类型,在不存在时,通知遍历模块423工作,在存在时,通知模糊化模块424工作;
所述遍历模块423,用于根据所述类型匹配模块422或所述模糊化模块424的通知判断当前字段是否为当前报文的最后一个字段,在不是时,用于将当前字段的下一个字段作为当前字段,通知类型匹配模块422工作;在是时,还用于判断当前报文是否为第一合法报文序列中的最后一个报文,在是最后一个报文时,结束本装置的操作,在不是最后一个报文时,用于将当前报文的下一个报文作为当前报文,将当前报文的第一个字段作为当前字段,将从所述第一合法报文序列中的第一个报文开始至当前报文为止的报文序列作为当前合法报文序列,通知类型匹配模块422工作;
所述模糊化模块424,用于根据所述类型匹配模块422的通知,并根据当前字段的类型从所述存储器430中获取预先存储的对应于所述类型的模糊数据,依次将所述模糊数据中的每一个填充到当前报文的当前字段,得到对应的报文,并依次以所述得到的每一个测试报文替换所述当前合法报文序列中的当前报文得到对应的报文序列,将所述得到的各个报文序列作为测试报文序列,通知遍历模块423工作。
9.根据权利要求8所述的装置,其特征在于:
所述模糊化模块424,还用于在得到对应的报文之后,判断所述得到的报文的长度与所述当前报文的长度是否相等,在不相等时,用于将所述得到的报文的长度字段的值置为所述得到的报文的长度。
10.根据权利要求7至9任一项所述的装置,其特征在于:
所述协议分析器410,还用于将所述记录的报文中由服务器返回给客户端的响应报文按照对应于所述第一合法报文序列的顺序进行排列,得到第二合法响应序列;
所述模糊测试器420中进一步包括测试模块425,所述测试模块425用于依次将每一个测试报文序列作为当前测试报文序列发送给所述服务器;并用于将对应于所述当前测试报文序列的合法报文序列发送给所述服务器,接收所述服务器返回的响应序列;还用于根据所述第二合法响应序列确定对应于所述合法报文序列的合法响应序列,判断所述服务器返回的响应序列与所述合法响应序列是否相同,在不相同时,记录当前测试报文序列以及所述服务器返回的响应序列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101438224A CN101902367A (zh) | 2009-05-31 | 2009-05-31 | 一种产生测试用例的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101438224A CN101902367A (zh) | 2009-05-31 | 2009-05-31 | 一种产生测试用例的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101902367A true CN101902367A (zh) | 2010-12-01 |
Family
ID=43227586
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101438224A Pending CN101902367A (zh) | 2009-05-31 | 2009-05-31 | 一种产生测试用例的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101902367A (zh) |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102087631A (zh) * | 2011-03-09 | 2011-06-08 | 中国人民解放军国发科学技术大学 | 一种面向状态协议实现软件的模糊测试方法 |
CN102624574A (zh) * | 2011-01-27 | 2012-08-01 | 西门子公司 | 一种对协议实现进行安全测试的方法及装置 |
CN103034580A (zh) * | 2011-09-29 | 2013-04-10 | 西门子公司 | 模糊测试的方法、装置和系统 |
CN103078765A (zh) * | 2012-12-28 | 2013-05-01 | 华为技术有限公司 | 网元设备性能测试方法和装置 |
CN103812729A (zh) * | 2014-02-19 | 2014-05-21 | 北京理工大学 | 一种网络协议模糊测试方法和装置 |
CN104270282A (zh) * | 2014-09-11 | 2015-01-07 | 浙江宇视科技有限公司 | 一种ip网络端到端测试方法和装置 |
CN104320312A (zh) * | 2014-11-20 | 2015-01-28 | 国家电网公司 | 网络应用安全测试工具及模糊测试用例生成方法和系统 |
CN105068925A (zh) * | 2015-07-29 | 2015-11-18 | 北京理工大学 | 软件安全缺陷发现系统 |
CN105429982A (zh) * | 2015-11-20 | 2016-03-23 | 北京畅游天下网络技术有限公司 | 一种客户端与服务器端通信内容的解析方法及装置 |
CN106301994A (zh) * | 2015-06-24 | 2017-01-04 | 北京京东尚科信息技术有限公司 | 一种网络通信异常测试方法和装置 |
CN106484611A (zh) * | 2015-09-02 | 2017-03-08 | 腾讯科技(深圳)有限公司 | 基于自动化协议适配的模糊测试方法和装置 |
CN109214189A (zh) * | 2018-08-22 | 2019-01-15 | 深圳市腾讯网络信息技术有限公司 | 识别程序漏洞的方法、装置、存储介质和电子设备 |
CN109871332A (zh) * | 2019-03-05 | 2019-06-11 | 南方电网科学研究院有限责任公司 | 多功能电表通信协议测试用例的生成方法、装置及设备 |
CN110034972A (zh) * | 2019-03-22 | 2019-07-19 | 深圳市腾讯信息技术有限公司 | 服务器压力测试方法和装置 |
CN110191021A (zh) * | 2019-05-29 | 2019-08-30 | 北京百度网讯科技有限公司 | 一种协议测试方法、装置、电子设备及存储介质 |
CN110634471A (zh) * | 2019-09-21 | 2019-12-31 | 龙马智芯(珠海横琴)科技有限公司 | 一种语音质检方法、装置、电子设备和存储介质 |
CN110704267A (zh) * | 2019-09-23 | 2020-01-17 | 福建经联网络技术有限公司 | 一种核心控制芯片固件分析与验证系统 |
CN110995764A (zh) * | 2019-12-27 | 2020-04-10 | 北京清华亚迅电子信息研究所 | 一种移动蜂窝网络应用层数据流量模糊测试系统及方法 |
CN111444108A (zh) * | 2020-04-14 | 2020-07-24 | 北京天地和兴科技有限公司 | 一种基于s7工业协议的行为审计自动化测试方法 |
CN111628900A (zh) * | 2019-02-28 | 2020-09-04 | 西门子股份公司 | 基于网络协议的模糊测试方法、装置和计算机可读介质 |
CN111917692A (zh) * | 2019-05-10 | 2020-11-10 | 北京车和家信息技术有限公司 | 模糊测试方法、装置、设备及计算机可读存储介质 |
CN112685301A (zh) * | 2020-12-28 | 2021-04-20 | 浙江国利网安科技有限公司 | 模糊测试方法及装置 |
CN112749097A (zh) * | 2021-01-26 | 2021-05-04 | 杭州木链物联网科技有限公司 | 一种模糊测试工具性能测评方法、装置 |
CN113986712A (zh) * | 2021-09-10 | 2022-01-28 | 深圳开源互联网安全技术有限公司 | 一种基于http/2的模糊测试方法和装置 |
US20220166702A1 (en) * | 2020-11-24 | 2022-05-26 | Electronics And Telecommunications Research Institute | Fuzzing preprocessing apparatus and method for automating smart network fuzzing |
CN115550228A (zh) * | 2022-08-23 | 2022-12-30 | 深圳开源互联网安全技术有限公司 | 车联网总线通信网络测试方法及系统 |
-
2009
- 2009-05-31 CN CN2009101438224A patent/CN101902367A/zh active Pending
Cited By (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102624574B (zh) * | 2011-01-27 | 2015-07-01 | 西门子公司 | 一种对协议实现进行安全测试的方法及装置 |
CN102624574A (zh) * | 2011-01-27 | 2012-08-01 | 西门子公司 | 一种对协议实现进行安全测试的方法及装置 |
CN102087631B (zh) * | 2011-03-09 | 2012-09-05 | 中国人民解放军国发科学技术大学 | 一种面向状态协议实现软件的模糊测试方法 |
CN102087631A (zh) * | 2011-03-09 | 2011-06-08 | 中国人民解放军国发科学技术大学 | 一种面向状态协议实现软件的模糊测试方法 |
CN103034580A (zh) * | 2011-09-29 | 2013-04-10 | 西门子公司 | 模糊测试的方法、装置和系统 |
CN103078765A (zh) * | 2012-12-28 | 2013-05-01 | 华为技术有限公司 | 网元设备性能测试方法和装置 |
CN103812729A (zh) * | 2014-02-19 | 2014-05-21 | 北京理工大学 | 一种网络协议模糊测试方法和装置 |
CN103812729B (zh) * | 2014-02-19 | 2017-02-08 | 北京理工大学 | 一种网络协议模糊测试方法和装置 |
CN104270282A (zh) * | 2014-09-11 | 2015-01-07 | 浙江宇视科技有限公司 | 一种ip网络端到端测试方法和装置 |
CN104270282B (zh) * | 2014-09-11 | 2019-03-12 | 浙江宇视科技有限公司 | 一种ip网络端到端测试方法和装置 |
CN104320312A (zh) * | 2014-11-20 | 2015-01-28 | 国家电网公司 | 网络应用安全测试工具及模糊测试用例生成方法和系统 |
CN104320312B (zh) * | 2014-11-20 | 2018-01-02 | 国家电网公司 | 网络应用安全测试工具及模糊测试用例生成方法和系统 |
CN106301994B (zh) * | 2015-06-24 | 2023-11-03 | 北京京东尚科信息技术有限公司 | 一种网络通信异常测试方法和装置 |
CN106301994A (zh) * | 2015-06-24 | 2017-01-04 | 北京京东尚科信息技术有限公司 | 一种网络通信异常测试方法和装置 |
CN105068925A (zh) * | 2015-07-29 | 2015-11-18 | 北京理工大学 | 软件安全缺陷发现系统 |
CN105068925B (zh) * | 2015-07-29 | 2017-09-01 | 北京理工大学 | 软件安全缺陷发现系统 |
CN106484611A (zh) * | 2015-09-02 | 2017-03-08 | 腾讯科技(深圳)有限公司 | 基于自动化协议适配的模糊测试方法和装置 |
CN106484611B (zh) * | 2015-09-02 | 2021-01-15 | 腾讯科技(深圳)有限公司 | 基于自动化协议适配的模糊测试方法和装置 |
CN105429982B (zh) * | 2015-11-20 | 2019-11-08 | 北京畅游天下网络技术有限公司 | 一种客户端与服务器端通信内容的解析方法及装置 |
CN105429982A (zh) * | 2015-11-20 | 2016-03-23 | 北京畅游天下网络技术有限公司 | 一种客户端与服务器端通信内容的解析方法及装置 |
CN109214189A (zh) * | 2018-08-22 | 2019-01-15 | 深圳市腾讯网络信息技术有限公司 | 识别程序漏洞的方法、装置、存储介质和电子设备 |
CN109214189B (zh) * | 2018-08-22 | 2022-05-24 | 深圳市腾讯网络信息技术有限公司 | 识别程序漏洞的方法、装置、存储介质和电子设备 |
CN111628900B (zh) * | 2019-02-28 | 2023-08-29 | 西门子股份公司 | 基于网络协议的模糊测试方法、装置和计算机可读介质 |
CN111628900A (zh) * | 2019-02-28 | 2020-09-04 | 西门子股份公司 | 基于网络协议的模糊测试方法、装置和计算机可读介质 |
CN109871332A (zh) * | 2019-03-05 | 2019-06-11 | 南方电网科学研究院有限责任公司 | 多功能电表通信协议测试用例的生成方法、装置及设备 |
CN110034972A (zh) * | 2019-03-22 | 2019-07-19 | 深圳市腾讯信息技术有限公司 | 服务器压力测试方法和装置 |
CN111917692A (zh) * | 2019-05-10 | 2020-11-10 | 北京车和家信息技术有限公司 | 模糊测试方法、装置、设备及计算机可读存储介质 |
CN110191021A (zh) * | 2019-05-29 | 2019-08-30 | 北京百度网讯科技有限公司 | 一种协议测试方法、装置、电子设备及存储介质 |
CN110191021B (zh) * | 2019-05-29 | 2021-04-30 | 北京百度网讯科技有限公司 | 一种协议测试方法、装置、电子设备及存储介质 |
CN110634471A (zh) * | 2019-09-21 | 2019-12-31 | 龙马智芯(珠海横琴)科技有限公司 | 一种语音质检方法、装置、电子设备和存储介质 |
CN110634471B (zh) * | 2019-09-21 | 2020-10-02 | 龙马智芯(珠海横琴)科技有限公司 | 一种语音质检方法、装置、电子设备和存储介质 |
CN110704267A (zh) * | 2019-09-23 | 2020-01-17 | 福建经联网络技术有限公司 | 一种核心控制芯片固件分析与验证系统 |
CN110995764A (zh) * | 2019-12-27 | 2020-04-10 | 北京清华亚迅电子信息研究所 | 一种移动蜂窝网络应用层数据流量模糊测试系统及方法 |
CN110995764B (zh) * | 2019-12-27 | 2021-09-03 | 北京清华亚迅电子信息研究所 | 一种移动蜂窝网络应用层数据流量模糊测试方法、电子设备及存储介质 |
CN111444108A (zh) * | 2020-04-14 | 2020-07-24 | 北京天地和兴科技有限公司 | 一种基于s7工业协议的行为审计自动化测试方法 |
KR20220071788A (ko) * | 2020-11-24 | 2022-05-31 | 한국전자통신연구원 | 스마트 네트워크 퍼징의 자동화를 위한 퍼징 전처리 장치 및 방법 |
US20220166702A1 (en) * | 2020-11-24 | 2022-05-26 | Electronics And Telecommunications Research Institute | Fuzzing preprocessing apparatus and method for automating smart network fuzzing |
KR102580364B1 (ko) * | 2020-11-24 | 2023-09-20 | 한국전자통신연구원 | 스마트 네트워크 퍼징의 자동화를 위한 퍼징 전처리 장치 및 방법 |
CN112685301A (zh) * | 2020-12-28 | 2021-04-20 | 浙江国利网安科技有限公司 | 模糊测试方法及装置 |
CN112749097A (zh) * | 2021-01-26 | 2021-05-04 | 杭州木链物联网科技有限公司 | 一种模糊测试工具性能测评方法、装置 |
CN112749097B (zh) * | 2021-01-26 | 2024-02-13 | 浙江木链物联网科技有限公司 | 一种模糊测试工具性能测评方法、装置 |
CN113986712A (zh) * | 2021-09-10 | 2022-01-28 | 深圳开源互联网安全技术有限公司 | 一种基于http/2的模糊测试方法和装置 |
CN115550228A (zh) * | 2022-08-23 | 2022-12-30 | 深圳开源互联网安全技术有限公司 | 车联网总线通信网络测试方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101902367A (zh) | 一种产生测试用例的方法及装置 | |
CN108183895B (zh) | 一种网络资产信息采集系统 | |
CN105068925B (zh) | 软件安全缺陷发现系统 | |
Song et al. | SymbexNet: Testing network protocol implementations with symbolic execution and rule-based specifications | |
CN106330593B (zh) | 协议检测方法及装置 | |
CN105787364B (zh) | 任务的自动化测试方法、装置及系统 | |
CN107046526A (zh) | 基于Fuzzing算法的分布式异构网络漏洞挖掘方法 | |
CN105099811A (zh) | 一种接口测试方法和装置 | |
CN102123058A (zh) | 一种对网络协议解码器进行测试的测试设备和方法 | |
CN110489324A (zh) | 测试页面跳转的方法、装置、存储介质、电子装置 | |
US7908519B2 (en) | Trouble emulator for a rules-based diagnostic system | |
CN112540924A (zh) | 接口自动化测试方法、装置、设备及存储介质 | |
US7797590B2 (en) | Consensus testing of electronic system | |
US20060168467A1 (en) | Load testing methods and systems with transaction variability and consistency | |
CN112583663B (zh) | 一种基于国产操作系统的自动化网络性能测试方法 | |
KR20150025106A (ko) | 애플리케이션 검증결과 모니터링 서비스를 위한 검증장치, 단말장치, 시스템, 방법 및 컴퓨터로 판독 가능한 기록 매체 | |
CN108628742A (zh) | 系统性能测试方法和装置 | |
CN111930621A (zh) | Dns自动化性能测试方法、装置、设备及可读存储介质 | |
JP2014035595A (ja) | 通信システムの試験装置、通信システムの試験用プログラム及び通信システムの試験方法 | |
TW201629768A (zh) | 基礎架構規則產生技術 | |
CN117254964A (zh) | 基于高阶属性文法的电网智能终端协议漏洞检测方法 | |
CN103856373B (zh) | 基于HTTP协议变异的Web系统健壮性测试方法 | |
CN103297480A (zh) | 一种应用服务自动检测系统和方法 | |
CN110266554A (zh) | 一种私有通信协议的测试方法 | |
Catal et al. | Visualization of traffic flows in a simulated network environment to investigate abnormal network behavior in complex network infrastructures |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20101201 |