CN112860549A - 一种测试样本的获取方法及装置 - Google Patents

一种测试样本的获取方法及装置 Download PDF

Info

Publication number
CN112860549A
CN112860549A CN202110132757.6A CN202110132757A CN112860549A CN 112860549 A CN112860549 A CN 112860549A CN 202110132757 A CN202110132757 A CN 202110132757A CN 112860549 A CN112860549 A CN 112860549A
Authority
CN
China
Prior art keywords
data
test sample
test
program
protocol
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
Application number
CN202110132757.6A
Other languages
English (en)
Inventor
崔宝江
刘新尧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN202110132757.6A priority Critical patent/CN112860549A/zh
Publication of CN112860549A publication Critical patent/CN112860549A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3676Test management for coverage analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3696Methods or tools to render software testable

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请实施例提供一种测试样本的获取方法及装置,涉及数据处理领域,该测试样本的获取方法包括:获取种子文件中包括的原始数据;根据预设通信协议的协议格式信息生成协议结构分解规则;根据协议结构分解规则对原始数据进行协议结构分解,得到树形结构数据;对树形结构数据进行变异操作,得到变异数据;对变异数据进行数据序列化处理,得到测试样本。可见,实施这种实施方式,能够获取到更优质的测试样本,从而提高样本通过率,进而提高测试效率。

Description

一种测试样本的获取方法及装置
技术领域
本申请涉及数据处理领域,具体而言,涉及一种测试样本的获取方法及装置。
背景技术
通信协议作为移动通信网络的核心部分,为了提升4G移动通信网络的安全性,目前除了采用安全运维与被动防护方法之外,通常还会采用主动脆弱性检测方法。然而,脆弱性检测方法一般是基于模糊测试方法展开的,该种方法是一种通过对种子文件进行变异批量生成变异样本,并检测被测试程序处理异常样本的过程和结果,再检测和记录被测试目标的脆弱点的方法。但是,在实践中发现,该种方法会因为通信协议的复杂性以及测试目标的多样性,而导致其测试效率降低、生成样本通过率降低。
发明内容
本申请实施例的目的在于提供一种测试样本的获取方法及装置,能够获取到更优质的测试样本,从而提高样本通过率,进而提高测试效率。
本申请实施例第一方面提供了一种测试样本的获取方法,所述方法包括:
获取种子文件中包括的原始数据;
根据预设通信协议的协议格式信息生成协议结构分解规则;
根据所述协议结构分解规则对所述原始数据进行协议结构分解,得到树形结构数据;
对所述树形结构数据进行变异操作,得到变异数据;
对所述变异数据进行数据序列化处理,得到测试样本。
在上述实现过程中,该方法可以优先接收种子文件,并在种子文件中提取该种子文件中包括的原始数据,然后生成与通信协议的协议格式信息相对应的结构分解规则,再然后对原始数据进行结构分解和变异操作,并在最后对变异后的数据进行序列化处理,得到测试样本。可见,实施这种实施方式,能够通过与通信协议相应的处理方式对原始数据进行处理,从而得到与实际情况更加匹配的测试样本,从而使得样本符合实际情况,提高样本的通过率,进而有利于系统对测试样本进行测试时的测试效率的提高。
进一步地,所述方法还包括:
发送所述测试样本至测试程序,以使所述测试程序对所述测试样本进行安全测试;
在所述测试程序对所述测试样本进行安全测试的过程中,获取代码覆盖情况信息和程序运行状态信息。
在上述实现过程中,该方法能够通过发送测试样本至测试程序,以使测序程序对测试样本进行安全测试,然后再实时获取测试过程中生成的代码处理过程信息和程序运行状态信息,从而实时获知代码的处理情况和程序是否出现崩溃或问题的信息。可见,实施这种实施方式,能够将测试样本发送到测试程序当中,并实时监控测试程序,从而获取到测试过程中的测试过程信息,进而能够实现对测试程序的测试,并能够通过测试过程信息对测试程序进行安全性评估。
进一步地,所述方法还包括:
根据所述代码覆盖信息和所述程序运行状态信息,生成用于优化调度运算资源的调度信息。
在上述实现过程中,该方法能够根据代码覆盖信息和程序运行状态信息生成用于优化调度运算资源的调度信息,以使调度信息可以用于在下次测试样本的生成过程中,对调度运算资源进行优化,从而有利于提高下一个生成的测试样本的效率与质量,进而有利于提高测试程序对测试样本进行测试的效果。
进一步地,所述树形结构数据包括多个数据节点,每个数据节点包括头数据、内容数据、所述头数据和所述内容数据之间的依赖关系数据。
在上述实现过程中,该方法中生成的树形结构数据是由多个数据节点所构成的,即多个数据节点构成了树状而得到上述的树形结构。其中,每个数据节点包括头数据、内容数据和依赖关系数据这三个部分,从而使得每个数据节点都是相对完整的数据。可见,实施这种实施方式,能够将原始数据转换成多个数据节点,以使多个被完整拆分的数据节点构成树形结构,从而得到优质的树形结构数据。
进一步地,所述对所述树形结构数据进行变异操作,得到变异数据的步骤包括:
通过添加方式、删除方式、插入方式、字节替换方式以及字节翻转方式中的至少一种变异方式,对所述树形结构数据进行变异操作,得到变异数据。
在上述实现过程中,该方法可以通过添加方式、删除方式、插入方式、字节替换方式以及字节翻转方式中的至少一种变异方式,对所述树形结构数据进行变异操作,得到变异数据。可见,实施这种实施方式,能够根据实际情况确定最合适的数据变异方式,从而完成对树形结构数据的变异操作,进而获取到更适合的变异数据。
本申请实施例第二方面提供了一种测试样本的获取装置,所述测试样本的获取装置包括:
获取单元,用于获取种子文件中包括的原始数据;
生成单元,用于根据预设通信协议的协议格式信息生成协议结构分解规则;
分解单元,用于根据所述协议结构分解规则对所述原始数据进行协议结构分解,得到树形结构数据;
变异单元,用于对所述树形结构数据进行变异操作,得到变异数据;
处理单元,用于对所述变异数据进行数据序列化处理,得到测试样本。。
在上述实现过程中,该装置能够通过与通信协议相应的处理方式对原始数据进行处理,从而得到与实际情况更加匹配的测试样本,从而使得样本符合实际情况,提高样本的通过率,进而有利于系统对测试样本进行测试时的测试效率的提高。
进一步地,所述获取装置还包括:
发送单元,用于发送所述测试样本至测试程序,以使所述测试程序对所述测试样本进行安全测试;
监控单元,用于在所述测试程序对所述测试样本进行安全测试的过程中,获取代码覆盖情况信息和程序运行状态信息。
在上述实现过程中,该装置能够将测试样本发送到测试程序当中,并实时监控测试程序,从而获取到测试过程中的测试过程信息,进而能够实现对测试程序的测试,并能够通过测试过程信息对测试程序进行安全性评估。
进一步地,所述获取装置还包括:
调度单元,用于根据所述代码覆盖信息和所述程序运行状态信息,生成用于优化调度运算资源的调度信息。
在上述实现过程中,该装置能够根据代码覆盖信息和程序运行状态信息生成用于优化调度运算资源的调度信息,以使调度信息可以用于在下次测试样本的生成过程中,对调度运算资源进行优化,从而有利于提高下一个生成的测试样本的效率与质量,进而有利于提高测试程序对测试样本进行测试的效果。
本申请实施例第三方面提供了一种电子设备,包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行本申请实施例第一方面中任一项所述的测试样本的获取方法。
本申请实施例第四方面提供了一种计算机可读存储介质,其存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行本申请实施例第一方面中任一项所述的测试样本的获取方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种测试样本的获取方法的流程示意图;
图2为本申请实施例提供的另一种测试样本的获取方法的流程示意图;
图3为本申请实施例提供的一种测试样本的获取装置的结构示意图;
图4为本申请实施例提供的另一种测试样本的获取装置的结构示意图;
图5为本申请实施例提供的一种测试样本的获取方法的举例示意图;
图6为本申请实施例提供了一种树形结构数据的生成过程示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
实施例1
请参看图1,图1为本申请实施例提供了一种测试样本的获取方法的流程示意图。其中,该测试样本的获取方法包括:
S101、获取种子文件中包括的原始数据。
本实施例中,种子文件为协议数据种子文件,而原始数据则为种子文件包括的数据内容。
S102、根据预设通信协议的协议格式信息生成协议结构分解规则。
本实施例,该方法可以在进行模糊测试之前,通过处理通信协议的协议格式信息生成规则。
S103、根据协议结构分解规则对原始数据进行协议结构分解,得到树形结构数据。
本实施例中,树形结构数据包括多个数据节点,每个数据节点包括头数据、内容数据、头数据和内容数据之间的依赖关系数据。
本实施例中,头数据可以用Head表示,内容数据可以用Content表示,依赖关系数据可以用Dependence表示。
请参阅图6,图6是一种树形结构数据的生成过程示意图。在该过程中,首先,将整个协议数据种子文件作为一个不可分割的整体,作为信息结构树模块的第一层级,这个层级中Header为空,Content为整个协议数据种子文件,Dependence为空;然后将第一层级的Content对应的数据再次划分为Header和Content,并将Header、Content以及Dependence作为第二层级的内容。如此往复,直到我们的最大已知信息无法再将当前Content切分。至此,该方法已经生成一个树形结构数据。其中,图6示出了一种四个层级的树形结构数据的生成过程示意图,具体的,图6中包括左右两图之间的对应关系,左图描述了树形结构数据的生成过程,而左图对应的右图则直观的表明树状结构数据的形态。
在本实施例中,然后信息结构树模块根据调度模块传递过来的控制信息,选择指定层级的树节点传递给变异模块完成变异,信息结构树模块将变异的数据替换原来数据,并按照对应的Dependence修改本层级的Header数据,从而满足Header对新变异的数据的格式约束。以此方式迭代从树的根节点依次完成数据的替换与Header的修改。此时完成修改的第一层级的Content的数据作为变异样本传递给Sender发送给目标程序,这个替换与修改的过程即信息结构树模块的数据序列化操作(将结构化数据生成序列化数据)。
在本实施例中,信息结构树模块将实现对种子文件的层级划分、指定节点的变异以及序列化变异样本的生成,最终完成面向复杂结构协议的基于协议格式的自动化层级划分,从而能够支撑基于层级感知优化的自动化协议模糊测试技术。
S104、对树形结构数据进行变异操作,得到变异数据。
本实施例中,变异操作用于表示对数据进行变异处理。
S105、对变异数据进行数据序列化处理,得到测试样本。
本实施例中,该步骤用于将将结构化数据(即变异数据)转换为序列化数据。
本申请实施例中,该方法的执行主体可以为计算机、服务器等计算装置,对此本实施例中不作任何限定。
在本申请实施例中,该方法的执行主体还可以为智能手机、平板电脑等智能设备,对此本实施例中不作任何限定。
可见,实施本实施例所描述的测试样本的获取方法,能够优先接收种子文件,并在种子文件中提取该种子文件中包括的原始数据,然后生成与通信协议的协议格式信息相对应的结构分解规则,再然后对原始数据进行结构分解和变异操作,并在最后对变异后的数据进行序列化处理,得到测试样本。可见,实施这种实施方式,能够通过与通信协议相应的处理方式对原始数据进行处理,从而得到与实际情况更加匹配的测试样本,从而使得样本符合实际情况,提高样本的通过率,进而有利于系统对测试样本进行测试时的测试效率的提高。
实施例2
请参看图2,图2为本申请实施例提供的一种测试样本的获取方法的流程示意图。如图2所示,其中,该测试样本的获取方法包括:
S201、获取种子文件中包括的原始数据。
本实施例中,种子文件为协议数据种子文件,而原始数据则为种子文件包括的数据内容。
S202、根据预设通信协议的协议格式信息生成协议结构分解规则。
本实施例,该方法可以在进行模糊测试之前,通过处理通信协议的协议格式信息生成规则。
S203、根据协议结构分解规则对原始数据进行协议结构分解,得到树形结构数据。
本实施例中,树形结构数据包括多个数据节点,每个数据节点包括头数据、内容数据、头数据和内容数据之间的依赖关系数据。
本实施例中,树形结构数据包括多个数据节点,每个数据节点包括头数据、内容数据、头数据和内容数据之间的依赖关系数据。
本实施例中,头数据可以用Head表示,内容数据可以用Content表示,依赖关系数据可以用Dependence表示。
S204、通过添加方式、删除方式、插入方式、字节替换方式以及字节翻转方式中的至少一种变异方式,对树形结构数据进行变异操作,得到变异数据。
S205、对变异数据进行数据序列化处理,得到测试样本。
本实施例中,该步骤用于将将结构化数据(即变异数据)转换为序列化数据。
S206、发送测试样本至测试程序,以使测试程序对测试样本进行安全测试。
本实施例中,测试程序是拥有对测试样本进行测试的被测试程序。
在本实施例中,测试程序用于对测试样本进行测试,当测试程序对测试样本测试而生成相应过程数据时,该过程数据则用于判断该测试程序是否存在安全性问题,因此该测试程序实际上是被测试程序。
S207、在测试程序对测试样本进行安全测试的过程中,获取代码覆盖情况信息和程序运行状态信息。
本实施例中,该方法可以通过插桩技术获取程序的代码覆盖情况,采集代码函数覆盖、代码行覆盖和代码基本块覆盖信息。除此之外,该方法还负责获取被测试程序的运行状态信息,它不仅负责监控程序的运行状态、保证程序在模糊测试中保持运行状态,还负责记录程序崩溃信息。
S208、根据代码覆盖信息和程序运行状态信息,生成用于优化调度运算资源的调度信息。
本实施例中,调度信息用于改善对原始数据的处理流程,从而得到更好的测试样本。
举例来说,请参阅图5,图5公开了一种测试样本的获取方法的举例示意图。由图5可见,该整体框架主要包括五个部分:信息结构树模块(Message Structure Tree,MST)、调度模块(Scheduler)、变异模块(Mutator)、发送模块(Sender)和监控模块(Monitor)。即该测试样本的获取装置中可以包括信息结构树模块、调度模块、变异模块、发送模块和监控模块五个模块。在实践中,其中信息结构树模块是基于协议语义分层机制实现的,该信息结构树模块能够获取种子文件中包括的原始数据,并根据预设通信协议的协议格式信息生成协议结构分解规则,然后再根据协议结构分解规则对原始数据进行协议结构分解,得到树形结构数据。在获取到树形结构数据之后,信息结构树模块可以将该树形结构数据发送给变异模块,并由变异模块通过添加、删除、插入、字节替换、字节翻转等变异方式对树形结构数据进行变异,得到变异数据,并将该变异数据传递回信息结构树模块。信息结构树模块再对变异数据进行数据序列化处理,得到测试样本,并将测试样本发送给发送模块,由发送模块发送给测试程序进行测试。其中,发送模块负责与被测试程序进行交互,封装变异生成样本并发送给被测试程序;根据信息结构树模块采取的不同策略,采用不同的方式与目标程序建立连接,如果是对协议全域数据进行变异,发送模块只需要构建变异层级协议的更底层数据并发送,如果采取对协议data field进行辨析,发送模块还需额外完成数据校验集数据包包头构建等工作。另外,在测试程序对测试样本进行测试时,监控模块则可以通过插桩技术获取程序的代码覆盖情况,采集代码函数覆盖、代码行覆盖和代码基本块覆盖信息;同时,监控模块还负责获取被测试程序的运行状态信息,它不仅负责监控程序的运行状态、保证程序在模糊测试中保持运行状态,还负责记录程序崩溃信息。而调度模块则通过处理监控模块反馈的数据,优化调度运算资源,从而得到调度信息并发送给信息结构树模块。
可见,实施本实施例所描述的测试样本的获取方法,能够实现对种子文件的基于协议语义的分层,并通过模糊测试技术对不同层级的数据块进行数据变异,从而能够生成不同变异粒度的测试样本,变异粒度粗(对上层层级数据块进行变异)的样本变异性更优,变异粒度细(对下层层级数据块进行变异)的通过率更优,从而能够通过结合不同粒度的变异来实现数据块变异过程中的变异性与和通过率的结合,进而实现更高的测试效率。
实施例3
请参看图3,图3为本申请实施例提供的一种测试样本的获取装置的结构示意图。如图3所示,该测试样本的获取装置包括:
获取单元310,用于获取种子文件中包括的原始数据;
生成单元320,用于根据预设通信协议的协议格式信息生成协议结构分解规则;
分解单元330,用于根据协议结构分解规则对原始数据进行协议结构分解,得到树形结构数据;
变异单元340,用于对树形结构数据进行变异操作,得到变异数据;
处理单元350,用于对变异数据进行数据序列化处理,得到测试样本。
本申请实施例中,对于测试样本的获取装置的解释说明可以参照实施例1或实施例2中的描述,对此本实施例中不再多加赘述。
可见,实施本实施例所描述的测试样本的获取装置,能够通过与通信协议相应的处理方式对原始数据进行处理,从而得到与实际情况更加匹配的测试样本,从而使得样本符合实际情况,提高样本的通过率,进而有利于系统对测试样本进行测试时的测试效率的提高。
实施例4
请一并参阅图4,图4是本申请实施例提供的一种测试样本的获取装置的结构示意图。其中,图4所示的测试样本的获取装置是由图3所示的测试样本的获取装置进行优化得到的。如图4所示,获取装置还包括:
发送单元360,用于发送测试样本至测试程序,以使测试程序对测试样本进行安全测试;
监控单元370,用于在测试程序对测试样本进行安全测试的过程中,获取代码覆盖情况信息和程序运行状态信息。
作为一种可选的实施方式,获取装置还包括:
调度单元380,用于根据代码覆盖信息和程序运行状态信息,生成用于优化调度运算资源的调度信息。
作为一种可选的实施方式,树形结构数据包括多个数据节点,每个数据节点包括头数据、内容数据、头数据和内容数据之间的依赖关系数据。
作为一种可选的实施方式,变异单元340具体用于通过添加方式、删除方式、插入方式、字节替换方式以及字节翻转方式中的至少一种变异方式,对树形结构数据进行变异操作,得到变异数据。
本申请实施例中,对于测试样本的获取装置的解释说明可以参照实施例1或实施例2中的描述,对此本实施例中不再多加赘述。
可见,实施本实施例所描述的测试样本的获取装置,能够通过与通信协议相应的处理方式对原始数据进行处理,从而得到与实际情况更加匹配的测试样本,从而使得样本符合实际情况,提高样本的通过率,进而有利于系统对测试样本进行测试时的测试效率的提高。
本申请实施例提供了一种电子设备,包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行本申请实施例1或实施例2中任一项测试样本的获取方法。
本申请实施例提供了一种计算机可读存储介质,其存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行本申请实施例1或实施例2中任一项测试样本的获取方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (10)

1.一种测试样本的获取方法,其特征在于,所述方法包括:
获取种子文件中包括的原始数据;
根据预设通信协议的协议格式信息生成协议结构分解规则;
根据所述协议结构分解规则对所述原始数据进行协议结构分解,得到树形结构数据;
对所述树形结构数据进行变异操作,得到变异数据;
对所述变异数据进行数据序列化处理,得到测试样本。
2.根据权利要求1所述的测试样本的获取方法,其特征在于,所述方法还包括:
发送所述测试样本至测试程序,以使所述测试程序对所述测试样本进行安全测试;
在所述测试程序对所述测试样本进行安全测试的过程中,获取代码覆盖情况信息和程序运行状态信息。
3.根据权利要求2所述的测试样本的获取方法,其特征在于,所述方法还包括:
根据所述代码覆盖信息和所述程序运行状态信息,生成用于优化调度运算资源的调度信息。
4.根据权利要求1所述的测试样本的获取方法,其特征在于,所述树形结构数据包括多个数据节点,每个数据节点包括头数据、内容数据、所述头数据和所述内容数据之间的依赖关系数据。
5.根据权利要求1所述的测试样本的获取方法,其特征在于,所述对所述树形结构数据进行变异操作,得到变异数据的步骤包括:
通过添加方式、删除方式、插入方式、字节替换方式以及字节翻转方式中的至少一种变异方式,对所述树形结构数据进行变异操作,得到变异数据。
6.一种测试样本的获取装置,其特征在于,所述测试样本的获取装置包括:
获取单元,用于获取种子文件中包括的原始数据;
生成单元,用于根据预设通信协议的协议格式信息生成协议结构分解规则;
分解单元,用于根据所述协议结构分解规则对所述原始数据进行协议结构分解,得到树形结构数据;
变异单元,用于对所述树形结构数据进行变异操作,得到变异数据;
处理单元,用于对所述变异数据进行数据序列化处理,得到测试样本。
7.根据权利要求6所述的测试样本的获取装置,其特征在于,所述获取装置还包括:
发送单元,用于发送所述测试样本至测试程序,以使所述测试程序对所述测试样本进行安全测试;
监控单元,用于在所述测试程序对所述测试样本进行安全测试的过程中,获取代码覆盖情况信息和程序运行状态信息。
8.根据权利要求7所述的测试样本的获取装置,其特征在于,所述获取装置还包括:
调度单元,用于根据所述代码覆盖信息和所述程序运行状态信息,生成用于优化调度运算资源的调度信息。
9.一种电子设备,其特征在于,所述电子设备包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行权利要求1至5中任一项所述的测试样本的获取方法。
10.一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行权利要求1至5任一项所述的测试样本的获取方法。
CN202110132757.6A 2021-01-29 2021-01-29 一种测试样本的获取方法及装置 Pending CN112860549A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110132757.6A CN112860549A (zh) 2021-01-29 2021-01-29 一种测试样本的获取方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110132757.6A CN112860549A (zh) 2021-01-29 2021-01-29 一种测试样本的获取方法及装置

Publications (1)

Publication Number Publication Date
CN112860549A true CN112860549A (zh) 2021-05-28

Family

ID=75987238

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110132757.6A Pending CN112860549A (zh) 2021-01-29 2021-01-29 一种测试样本的获取方法及装置

Country Status (1)

Country Link
CN (1) CN112860549A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113484119A (zh) * 2021-09-07 2021-10-08 中国空气动力研究与发展中心低速空气动力研究所 一种飞机结冰力学性能测试样本制备方法
CN114429806A (zh) * 2021-12-31 2022-05-03 医渡云(北京)技术有限公司 一种医疗数据测试方法、装置、存储介质及设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107153605A (zh) * 2016-03-02 2017-09-12 阿里巴巴集团控股有限公司 测试样本的生成方法及装置
CN111123888A (zh) * 2019-12-19 2020-05-08 江苏中天科技软件技术有限公司 一种工控协议测试方法、系统及电子设备和存储介质
CN112131115A (zh) * 2020-09-23 2020-12-25 腾讯科技(深圳)有限公司 一种智能合约模糊测试的方法、装置及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107153605A (zh) * 2016-03-02 2017-09-12 阿里巴巴集团控股有限公司 测试样本的生成方法及装置
CN111123888A (zh) * 2019-12-19 2020-05-08 江苏中天科技软件技术有限公司 一种工控协议测试方法、系统及电子设备和存储介质
CN112131115A (zh) * 2020-09-23 2020-12-25 腾讯科技(深圳)有限公司 一种智能合约模糊测试的方法、装置及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李文轩等: "基于改进变异树的工控协议模糊测试用例生成方法", 《计算机应用研究》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113484119A (zh) * 2021-09-07 2021-10-08 中国空气动力研究与发展中心低速空气动力研究所 一种飞机结冰力学性能测试样本制备方法
CN113484119B (zh) * 2021-09-07 2021-11-16 中国空气动力研究与发展中心低速空气动力研究所 一种飞机结冰力学性能测试样本制备方法
CN114429806A (zh) * 2021-12-31 2022-05-03 医渡云(北京)技术有限公司 一种医疗数据测试方法、装置、存储介质及设备

Similar Documents

Publication Publication Date Title
CN106874187B (zh) 代码覆盖率收集方法和装置
CN111460446B (zh) 基于模型的恶意文件检测方法及装置
CN105577685A (zh) 云计算环境中的自主分析入侵检测方法及系统
CN112860549A (zh) 一种测试样本的获取方法及装置
CN110688659A (zh) 基于iast测试工具动态检测水平越权的方法及系统
CN109391624A (zh) 一种基于机器学习的终端接入数据异常检测方法及装置
CN111814192B (zh) 训练样本生成方法及装置、敏感信息检测方法及装置
CN110855652A (zh) 安全基线配置合规检测方法、装置、计算机设备及介质
CN113965390A (zh) 一种恶意加密流量检测方法、系统及相关装置
CN112446637A (zh) 一种建筑施工质量安全在线风险检测方法及系统
CN113205134A (zh) 一种网络安全态势预测方法及系统
CN114885334A (zh) 一种高并发的短信处理方法
CN114465938A (zh) 一种基于模糊测试的充电桩can协议的渗透测试方法、系统及存储介质
CN116975938B (zh) 一种产品制造过程中的传感器数据处理方法
CN112416800A (zh) 智能合约的测试方法、装置、设备及存储介质
CN115470524B (zh) 涉密文件泄露检测方法、系统、设备及介质
JPWO2018142694A1 (ja) 特徴量生成装置、特徴量生成方法及びプログラム
CN110489568B (zh) 生成事件图的方法、装置、存储介质和电子设备
CN113240381A (zh) 微电网电力审计系统
CN114499923B (zh) 一种icmp模拟报文的生成方法及装置
CN111488284A (zh) 一种用于OpenStack云平台的模拟操作主动检测方法
CN110888811A (zh) 代码覆盖率信息处理方法、装置、电子设备及介质
CN117874633B (zh) 基于深度学习算法的网络数据资产画像生成方法及装置
CN113641576B (zh) 数据库的测试方法、装置及终端设备
CN111651347B (zh) 测试系统的跳转验证方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20210528

RJ01 Rejection of invention patent application after publication