CN110191019B - 车辆can总线的测试方法、装置、计算机设备和存储介质 - Google Patents
车辆can总线的测试方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN110191019B CN110191019B CN201910452423.XA CN201910452423A CN110191019B CN 110191019 B CN110191019 B CN 110191019B CN 201910452423 A CN201910452423 A CN 201910452423A CN 110191019 B CN110191019 B CN 110191019B
- Authority
- CN
- China
- Prior art keywords
- target
- message
- response
- test
- analyzed
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40267—Bus for use in transportation systems
- H04L2012/40273—Bus for use in transportation systems the transportation system being a vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提出一种车辆CAN总线的测试方法、装置、计算机设备和存储介质,其中,方法包括:通过从测试样本集合中获取目标报文样本;对目标报文样本进行变异处理生成目标异常测试报文;将目标异常测试报文发送至目标设备,并接收目标设备反馈的对应于目标异常测试报文的目标响应报文;若历史响应报文集合中不包括目标响应报文,则基于不同维度对目标响应报文进行数据分析,根据数据分析结果将目标响应报文输入测试样本集合。由此,通过从响应报文中获取覆盖新功能的样本存入测试样本集合中,在模糊测试过程中每次从测试样本集合中获取测试样本进行变异对车辆CAN总线进行模糊测试,增加车辆CAN总线模糊测试的覆盖率,提高车辆CAN总线模糊测试漏洞挖掘的效率。
Description
技术领域
本申请涉及车辆安全技术领域,尤其涉及一种车辆CAN总线的测试方法、装置、计算机设备和存储介质。
背景技术
模糊测试是一种应用在互联网中有效的软件漏洞挖掘方法,增加测试覆盖率是提高模糊测试效率的最重要手段。
相关技术中,主要是样本执行路径反馈的方式来增加测试覆盖率,现有实现执行路径反馈的技术主要有两种方式:一种是通过代码插桩监控的方式,例如谷歌的clang编译器,可在代码编译时自动插入探针代码监视代码覆盖率,pintool(动态二进制插桩工具)可在二进制代码执行时,实时插入代码监控代码执行覆盖率;另一种是通过虚拟执行的方式监控,例如Qemu(虚拟操作系统模拟器)监控在环境中运行程序的代码覆盖率。然而,车辆CAN总线中的程序通常无法运行在pintool或qemu环境中,也无法重新使用clang编译器编译后载入电子控制单元中运行,传统通过代码插桩的执行路径反馈技术已经不适用于CAN总线的模糊测试中。
发明内容
本申请旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本申请提出一种车辆CAN总线的测试方法、装置、计算机设备和存储介质,通过从响应报文中获取覆盖新功能的样本存入测试样本集合中,在模糊测试过程中每次从测试样本集合中获取测试样本进行变异对车辆CAN总线进行模糊测试,增加车辆CAN总线模糊测试的覆盖率,提高车辆CAN总线模糊测试漏洞挖掘的效率。
为达上述目的,本申请第一方面实施例提出了一种车辆CAN总线的测试方法,包括:
从测试样本集合中获取目标报文样本;
对所述目标报文样本进行变异处理生成目标异常测试报文;
将所述目标异常测试报文发送至目标设备,并接收所述目标设备反馈的对应于所述目标异常测试报文的目标响应报文;
若历史响应报文集合中不包括所述目标响应报文,则基于不同维度对所述目标响应报文进行数据分析,根据数据分析结果将所述目标响应报文输入所述测试样本集合。
本实施例的车辆CAN总线的测试方法,通过从测试样本集合中获取目标报文样本;对目标报文样本进行变异处理生成目标异常测试报文;将目标异常测试报文发送至目标设备,并接收目标设备反馈的对应于目标异常测试报文的目标响应报文;若历史响应报文集合中不包括目标响应报文,则基于不同维度对目标响应报文进行数据分析,根据数据分析结果将目标响应报文输入测试样本集合。由此,通过从响应报文中获取覆盖新功能的样本存入测试样本集合中,在模糊测试过程中每次从测试样本集合中获取测试样本进行变异对车辆CAN总线进行模糊测试,增加车辆CAN总线模糊测试的覆盖率,提高车辆CAN总线模糊测试漏洞挖掘的效率。
为达上述目的,本申请第二方面实施例提出了一种车辆CAN总线的测试装置,包括:
第一获取模块,用于从测试样本集合中获取目标报文样本;
生成模块,用于对所述目标报文样本进行变异处理生成目标异常测试报文;
发送模块,用于将所述目标异常测试报文发送至目标设备,并接收所述目标设备反馈的对应于所述目标异常测试报文的目标响应报文;
处理模块,用于若历史响应报文集合中不包括所述目标响应报文,则基于不同维度对所述目标响应报文进行数据分析,根据数据分析结果将所述目标响应报文输入所述测试样本集合。
本实施例的车辆CAN总线的测试装置,通过从测试样本集合中获取目标报文样本;对目标报文样本进行变异处理生成目标异常测试报文;将目标异常测试报文发送至目标设备,并接收目标设备反馈的对应于目标异常测试报文的目标响应报文;若历史响应报文集合中不包括目标响应报文,则基于不同维度对目标响应报文进行数据分析,根据数据分析结果将目标响应报文输入测试样本集合。由此,通过从响应报文中获取覆盖新功能的样本存入测试样本集合中,在模糊测试过程中每次从测试样本集合中获取测试样本进行变异对车辆CAN总线进行模糊测试,增加车辆CAN总线模糊测试的覆盖率,提高车辆CAN总线模糊测试漏洞挖掘的效率。
为达上述目的,本申请第三方面实施例提出了一种计算机设备,包括:处理器和存储器;其中,所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现如第一方面实施例所述的车辆CAN总线的测试方法。
为达上述目的,本申请第四方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面实施例所述的车辆CAN总线的测试方法。
为达上述目的,本申请第五方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时,实现如第一方面实施例所述的车辆CAN总线的测试方法。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请实施例所提供的一种车辆CAN总线的测试方法的流程示意图;
图2为本申请实施例所提供的另一种车辆CAN总线的测试方法的流程示意图;
图3为本申请实施例所提供的一种车辆CAN总线的测试示例图;
图4为本申请实施例所提供的一种车辆CAN总线的测试装置的结构示意图;
图5为本申请实施例所提供的另一种车辆CAN总线的测试装置的结构示意图;
图6为本申请实施例所提供的又一种车辆CAN总线的测试装置的结构示意图;以及
图7为本申请实施例所提供的计算机设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
下面参考附图描述本申请实施例的车辆CAN总线的测试方法、装置、计算机设备和存储介质。
图1为本申请实施例所提供的一种车辆CAN总线的测试方法的流程示意图。
基于上述背景技术的描述,现有基于覆盖率导向的模糊测试方式主要是通过测试过程中代码覆盖率的反馈增加输入样本,使基于样本变异的用例有机会覆盖到更多的未测试代码路径,然而,并不能够适用于车辆CAN总线模糊测试中以提高车辆CAN总线模糊测试的覆盖率。
因此,本申请提出一种车辆CAN总线的测试方法,通过从响应报文中获取覆盖新功能的样本存入测试样本集合中,在模糊测试过程中每次从测试样本集合中获取测试样本进行变异对车辆CAN总线进行模糊测试,增加车辆CAN总线模糊测试的覆盖率,提高车辆CAN总线模糊测试漏洞挖掘的效率。
如图1所示,该车辆CAN总线的测试方法可以包括以下步骤:
步骤101,从测试样本集合中获取目标报文样本。
具体地,本申请实施例的车辆CAN总线的测试方法是在少量测试样本为基础展开的模糊测试过程中,因此,需要预先获取少量种子报文样本来进行测试生成多个响应报文,并从多个响应报文中获取多个待分析响应报文来进行数据分析,根据数据分析结果将多个待分析响应报文生成测试样本集合。
也就是说,在测试样本集合中有很多种报文样本,并且是按照一定方式比如数据分析结果对应的报文优先级别等方式进行存储的,需要说明的是,为了进一步提高测试覆盖率,本申请可以从测试样本集合中获取优先级最高的报文样本作为目标报文样本进行测试。
其中,报文优先级别的确定是基于不同维度进行确定的,比如响应报文数量越少,可以判定为稀有响应报文其对应的优先级越高,再比如响应报文的字段变化范围越大其对应的优先级越高等,还可以根据实际应用需要对不同的维度赋予不同的权重,以获取对待分析响应报文进行数据分析得到数据分析结果,以进一步增加模糊测试的覆盖率。
需要说明的是,不限于从测试样本集合中获取优先级最高的样本作为目标报文样本,还可以为了提高测试效率,直接按照一定的顺序获取或者随机获取等方式从测试样本集合中获取目标报文样本。
步骤102,对目标报文样本进行变异处理生成目标异常测试报文。
步骤103,将目标异常测试报文发送至目标设备,并接收目标设备反馈的对应于目标异常测试报文的目标响应报文。
具体地,在获取目标报文样本后,对目标报文样本进行变异处理生成目标异常测试报文发送至目标设备比如电子控制单元ECU(Electronic Control Unit),从而目标设备根据目标异常测试报文生成对应的目标响应报文,可以理解的是,不同的目标异常测试报文生成的目标响应报文不同。其中,变异处理是一种测试中常用的对已知数据进行修改产生新的数据的方法,例如对报文中的用户名字符串进行反转、截断、增加长度等产生新的报文。
另外,还可以根据目标响应报文判断目标设备是否发生异常现象,通过对异常现象分析进而发现目标设备是否存在安全漏洞。
需要说明的是,对变异处理的目标报文样本进行标记,并移出测试样本集合,以进一步提高测试覆盖率。
步骤104,若历史响应报文集合中不包括目标响应报文,则基于不同维度对目标响应报文进行数据分析,根据数据分析结果将目标响应报文输入测试样本集合。
具体地,对于输入目标异常测试报文,使用模糊测试变异算法对其进行变异后可能产生其它功能性目标响应报文,通过对目标响应报文的检查判断覆盖新功能的测试样本,并以目标响应报文为基础进行变异有助于模糊测试对新路径的覆盖。
其中,对目标响应报文的检查判断覆盖新功能的测试样本的方式有很多种,首先需要确定其是否在历史响应报文集合中,在历史响应报文集合中不包括目标响应报文时基于不同维度对目标响应报文进行数据分析,根据数据分析结果将目标响应报文输入测试样本集合。
其中,基于不同维度对目标响应报文进行数据分析的方式有很多种,作为一种示例,获取目标响应报文的响应次数,获取目标响应报文的不同字段的个数和获取目标响应报文的字段变化范围,根据目标响应报文的响应次数、目标响应报文的不同字段的个数和目标响应报文的字段变化范围对目标响应报文进行数据分析。
其中,对于同一目标报文样本变异测试过程中,该目标响应报文的响应次数越少,其状态可判定为稀有,其价值也越高,目标响应报文的不同字段的个数越多,价值越大,和目标响应报文的字段变化范围大的价值大,价值大也就是其对应的优先级更高。
从而,根据数据分析结果将目标响应报文输入测试样本集合,可以理解的是,在进行数据分析后可以根据数据分析结果赋予目标响应报文对应的分数值或者标识等方式以表示该目标响应报文的一定优先级别,从而目标响应报文输入到测试样本集合可能是优先级最高、最低或者中间等情况,如果是优先级最高可以将其作为下一个测试样本进行测试。
由此,通过对目标响应报文的检查判断覆盖新功能的测试样本,以该测试样本为基础进行变异有助于模糊测试对新路径的覆盖。
基于上述实施例的描述,可以了解到预先获取少量种子报文样本来进行测试生成多个响应报文,并从多个响应报文中获取多个待分析响应报文来进行数据分析,根据数据分析结果将多个待分析响应报文生成测试样本集合,具体如图2所示,包括:
步骤201,获取种子报文样本。
步骤202,将种子报文样本进行变异处理生成多个异常测试报文。
具体地,可以预先选择一些种子报文样本,将种子报文样本进行变异产生大量异常测试报文发送至目标设备。
步骤203,将多个异常测试报文发送至目标设备,并接收目标设备反馈的对应于多个异常测试报文的多个响应报文。
步骤204,从多个响应报文中获取多个待分析响应报文。
步骤205,基于不同维度对多个待分析响应报文进行数据分析,根据数据分析结果和多个待分析响应报文生成测试样本集合。
具体地,目标设备接收到不同异常测试报文后,生成对应的响应报文,接着从多个响应报文中获取多个待分析响应报文,作为一种示例,获取多个响应报文中的响应报文,判断历史响应报文集合中是否包括响应报文,若在历史响应报文集合中没有包括响应报文,则确定响应报文为待分析响应报文,也就是说,如果该响应报文在历史响应报文集合中不存在的,则可以可作为下个周期模糊测试变异迭代的测试报文样本。
进一步地,基于不同维度对多个待分析响应报文进行数据分析,根据数据分析结果将多个待分析响应报文生成测试样本集合,作为一种可能实现方式,获取多个待分析响应报文的响应次数,获取多个待分析响应报文的不同字段的个数,获取多个待分析响应报文的字段变化范围,根据多个待分析响应报文的响应次数、多个待分析响应报文的不同字段的个数和多个待分析响应报文的字段变化范围对多个待分析响应报文进行数据分析。
比如对于同一种报文样本变异测试过程中,该待分析响应报文的响应次数(响应数量越少,其状态可判定为稀有),待分析响应报文的不同字段的个数和待分析响应报文的字段变化范围(变化范围大的价值大),根据数据分析结果和多个待分析响应报文生成测试样本集合。
其中,在进行数据分析后可以根据数据分析结果赋予待分析响应报文对应的分数值或者标识等方式以表示待分析响应报文的一定优先级别,从而根据数据分析结果和多个待分析响应报文生成测试样本集合。
由此,从测试样本集合中获取目标报文样本进行下一轮的模糊测试变异迭代过程(目标报文样本可以是测试样本集合中最高优先级的目标报文样本,因为优先级越高,产生的测试用例覆盖率就越高),从而形成基于反馈的提高覆盖率的测试用例变异优化。
比如图3所示,目标设备为与车辆CAN总线连接的ECU,在少量测试样本为基础展开的模糊测试过程中,生成响应报文后通过响应自检,判断出覆盖新功能的响应报文,并对多个响应报文进行数据分析,根据数据分析结果的将多个响应报文按照优先级别高低存入测试样本集合中,模糊测试过程中每次取优先级最高的测试报文样本进行变异,生成变异报文样本对车辆CAN总线进行模糊测试,重复进行,形成以覆盖新功能测试为导向的测试数据生成过程,可增加车辆CAN总线模糊测试的覆盖率,提高车辆CAN总线模糊测试漏洞挖掘的效率。
本实施例的车辆CAN总线的测试方法,通过从测试样本集合中获取目标报文样本;对目标报文样本进行变异处理生成目标异常测试报文;将目标异常测试报文发送至目标设备,并接收目标设备反馈的对应于目标异常测试报文的目标响应报文;若历史响应报文集合中不包括目标响应报文,则基于不同维度对目标响应报文进行数据分析,根据数据分析结果将目标响应报文输入测试样本集合。由此,通过从响应报文中获取覆盖新功能的样本存入测试样本集合中,在模糊测试过程中每次从测试样本集合中获取测试样本进行变异对车辆CAN总线进行模糊测试,增加车辆CAN总线模糊测试的覆盖率,提高车辆CAN总线模糊测试漏洞挖掘的效率。
为了实现上述实施例,本申请还提出一种车辆CAN总线的测试装置。
图4为本申请实施例所提供的一种车辆CAN总线的测试装置的结构示意图。
如图4所示,该车辆CAN总线的测试装置可以包括:第一获取模块401、生成模块402、发送模块403和处理模块404。其中,
其中,第一获取模块401,用于从测试样本集合中获取目标报文样本。
生成模块402,用于对目标报文样本进行变异处理生成目标异常测试报文。
发送模块403,用于将目标异常测试报文发送至目标设备,并接收目标设备反馈的对应于目标异常测试报文的目标响应报文。
处理模块404,用于若历史响应报文集合中不包括目标响应报文,则基于不同维度对目标响应报文进行数据分析,根据数据分析结果将目标响应报文输入测试样本集合。
在本申请实施例一种可能的实现方式中,如图5所示,在图4的基础上还包括:第二获取模块405和第三获取模块406。
其中,第二获取模块405,用于获取种子报文样本。
生成模块402,还用于将种子报文样本进行变异处理生成多个异常测试报文。
发送模块403,还用于将多个异常测试报文发送至目标设备,并接收目标设备反馈的对应于多个异常测试报文的多个响应报文。
第三获取模块406,用于从多个响应报文中获取多个待分析响应报文。
处理模块404,还用于基于不同维度对多个待分析响应报文进行数据分析,根据数据分析结果将多个待分析响应报文生成测试样本集合。
在本申请实施例一种可能的实现方式中,第三获取模块406,具体用于:获取多个响应报文中的响应报文;判断历史响应报文集合中是否包括响应报文;若历史响应报文集合不包括响应报文,则确定响应报文为待分析响应报文。
在本申请实施例一种可能的实现方式中,处理模块404,具体用于:获取多个待分析响应报文的响应次数;获取多个待分析响应报文的不同字段的个数;获取多个待分析响应报文的字段变化范围;根据多个待分析响应报文的响应次数、多个待分析响应报文的不同字段的个数和多个待分析响应报文的字段变化范围对多个待分析响应报文进行数据分析。
在本申请实施例一种可能的实现方式中,如图6所示,在图4的基础上还包括:标记移出模块407。
其中,标记移出模块407,用于对变异处理的目标报文样本进行标记,并移出测试样本集合。
需要说明的是,前述对车辆CAN总线的测试方法实施例的解释说明也适用于该实施例的车辆CAN总线的测试装置,其实现原理类似,此处不再赘述。
本申请实施例的车辆CAN总线的测试装置,通过从测试样本集合中获取目标报文样本;对目标报文样本进行变异处理生成目标异常测试报文;将目标异常测试报文发送至目标设备,并接收目标设备反馈的对应于目标异常测试报文的目标响应报文;若历史响应报文集合中不包括目标响应报文,则基于不同维度对目标响应报文进行数据分析,根据数据分析结果将目标响应报文输入测试样本集合。由此,通过从响应报文中获取覆盖新功能的样本存入测试样本集合中,在模糊测试过程中每次从测试样本集合中获取测试样本进行变异对车辆CAN总线进行模糊测试,增加车辆CAN总线模糊测试的覆盖率,提高车辆CAN总线模糊测试漏洞挖掘的效率。
通过为了实现上述实施例,本申请还提出一种计算机设备,包括:处理器和存储器。其中,处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于实现如前述实施例所述的车辆CAN总线的测试方法。
图7为本申请实施例所提供的计算机设备的结构示意图,示出了适于用来实现本申请实施方式的示例性计算机设备90的框图。图7显示的计算机设备90仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图7所示,计算机设备90以通用计算机设备的形式表现。计算机设备90的组件可以包括但不限于:一个或者多个处理器或者处理单元906,系统存储器910,连接不同系统组件(包括系统存储器910和处理单元906)的总线908。
总线908表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry StandardArchitecture;以下简称:ISA)总线,微通道体系结构(Micro Channel Architecture;以下简称:MAC)总线,增强型ISA总线、视频电子标准协会(Video Electronics StandardsAssociation;以下简称:VESA)局域总线以及外围组件互连(Peripheral ComponentInterconnection;以下简称:PCI)总线。
计算机设备90典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备90访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器910可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(Random Access Memory;以下简称:RAM)911和/或高速缓存存储器912。计算机设备90可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统913可以用于读写不可移动的、非易失性磁介质(图7未显示,通常称为“硬盘驱动器”)。尽管图7中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如:光盘只读存储器(Compact Disc ReadOnly Memory;以下简称:CD-ROM)、数字多功能只读光盘(Digital Video Disc Read OnlyMemory;以下简称:DVD-ROM)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线908相连。系统存储器910可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请各实施例的功能。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。
具有一组(至少一个)程序模块9140的程序/实用工具914,可以存储在例如系统存储器910中,这样的程序模块9140包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块9140通常执行本申请所描述的实施例中的功能和/或方法。
计算机设备90也可以与一个或多个外部设备10(例如键盘、指向设备、显示器100等)通信,还可与一个或者多个使得用户能与该终端设备90交互的设备通信,和/或与使得该计算机设备90能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口902进行。并且,计算机设备90还可以通过网络适配器900与一个或者多个网络(例如局域网(Local Area Network;以下简称:LAN),广域网(Wide Area Network;以下简称:WAN)和/或公共网络,例如因特网)通信。如图7所示,网络适配器900通过总线908与计算机设备90的其它模块通信。应当明白,尽管图7中未示出,可以结合计算机设备90使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元906通过运行存储在系统存储器910中的程序,从而执行各种功能应用以及基于车载场景的车辆CAN总线的测试,例如实现前述实施例中提及的车辆CAN总线的测试方法。
为了实现上述实施例,本申请还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时,实现如前述实施例所述的车辆CAN总线的测试方法。
为了实现上述实施例,本申请还提出一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时,实现如前述实施例所述的车辆CAN总线的测试方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (12)
1.一种车辆CAN总线的测试方法,其特征在于,包括以下步骤:
从测试样本集合中获取目标报文样本;
对所述目标报文样本进行变异处理生成目标异常测试报文;
将所述目标异常测试报文发送至目标设备,并接收所述目标设备反馈的对应于所述目标异常测试报文的目标响应报文;
若历史响应报文集合中不包括所述目标响应报文,则基于不同维度对所述目标响应报文进行数据分析,根据数据分析结果标识所述目标响应报文的优先级,并将所述目标响应报文输入所述测试样本集合。
2.如权利要求1所述的方法,其特征在于,在所述从测试样本集合中获取目标报文样本之前,还包括:
获取种子报文样本;
将所述种子报文样本进行变异处理生成多个异常测试报文;
将所述多个异常测试报文发送至目标设备,并接收所述目标设备反馈的对应于所述多个异常测试报文的多个响应报文;
从所述多个响应报文中获取多个待分析响应报文;
基于不同维度对所述多个待分析响应报文进行数据分析,根据数据分析结果和所述多个待分析响应报文生成测试样本集合。
3.如权利要求2所述的方法,其特征在于,所述从所述多个响应报文中获取多个待分析响应报文,包括:
获取所述多个响应报文中的响应报文;
判断历史响应报文集合中是否包括所述响应报文;
若历史响应报文集合不包括所述响应报文,则确定所述响应报文为待分析响应报文。
4.如权利要求2所述的方法,其特征在于,所述基于不同维度对所述多个待分析响应报文进行数据分析,包括:
获取所述多个待分析响应报文的响应次数;
获取所述多个待分析响应报文的不同字段的个数;
获取所述多个待分析响应报文的字段变化范围;
根据所述多个待分析响应报文的响应次数、所述多个待分析响应报文的不同字段的个数和所述多个待分析响应报文的字段变化范围对所述多个待分析响应报文进行数据分析。
5.如权利要求1所述的方法,其特征在于,还包括:
对变异处理的所述目标报文样本进行标记,并移出所述测试样本集合。
6.一种车辆CAN总线的测试装置,其特征在于,包括:
第一获取模块,用于从测试样本集合中获取目标报文样本;
生成模块,用于对所述目标报文样本进行变异处理生成目标异常测试报文;
发送模块,用于将所述目标异常测试报文发送至目标设备,并接收所述目标设备反馈的对应于所述目标异常测试报文的目标响应报文;
处理模块,用于若历史响应报文集合中不包括所述目标响应报文,则基于不同维度对所述目标响应报文进行数据分析,根据数据分析结果标识所述目标响应报文的优先级,并将所述目标响应报文输入所述测试样本集合。
7.如权利要求6所述的装置,其特征在于,还包括:
第二获取模块,用于获取种子报文样本;
所述生成模块,还用于将所述种子报文样本进行变异处理生成多个异常测试报文;
所述发送模块,还用于将所述多个异常测试报文发送至目标设备,并接收所述目标设备反馈的对应于所述多个异常测试报文的多个响应报文;
第三获取模块,用于从所述多个响应报文中获取多个待分析响应报文;
所述处理模块,还用于基于不同维度对所述多个待分析响应报文进行数据分析,根据数据分析结果将所述多个待分析响应报文生成测试样本集合。
8.如权利要求7所述的装置,其特征在于,所述第三获取模块,具体用于:
获取所述多个响应报文中的响应报文;
判断历史响应报文集合中是否包括所述响应报文;
若历史响应报文集合不包括所述响应报文,则确定所述响应报文为待分析响应报文。
9.如权利要求7所述的装置,其特征在于,所述处理模块,具体用于:
获取所述多个待分析响应报文的响应次数;
获取所述多个待分析响应报文的不同字段的个数;
获取所述多个待分析响应报文的字段变化范围;
根据所述多个待分析响应报文的响应次数、所述多个待分析响应报文的不同字段的个数和所述多个待分析响应报文的字段变化范围对所述多个待分析响应报文进行数据分析。
10.如权利要求6所述的装置,其特征在于,还包括:
标记移出模块,用于对变异处理的所述目标报文样本进行标记,并移出所述测试样本集合。
11.一种计算机设备,其特征在于,包括处理器和存储器;
其中,所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现如权利要求1-5中任一项所述的车辆CAN总线的测试方法。
12.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一项所述的车辆CAN总线的测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910452423.XA CN110191019B (zh) | 2019-05-28 | 2019-05-28 | 车辆can总线的测试方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910452423.XA CN110191019B (zh) | 2019-05-28 | 2019-05-28 | 车辆can总线的测试方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110191019A CN110191019A (zh) | 2019-08-30 |
CN110191019B true CN110191019B (zh) | 2021-05-28 |
Family
ID=67718300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910452423.XA Active CN110191019B (zh) | 2019-05-28 | 2019-05-28 | 车辆can总线的测试方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110191019B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111865743A (zh) * | 2020-07-03 | 2020-10-30 | 深圳开源互联网安全技术有限公司 | 车辆can总线模糊测试方法、系统、电子设备及存储介质 |
CN111901349A (zh) * | 2020-07-29 | 2020-11-06 | 北京天融信网络安全技术有限公司 | 一种基于车内can总线的渗透测试方法、装置及系统 |
CN111858379B (zh) * | 2020-07-30 | 2024-03-29 | 中国工商银行股份有限公司 | 应用的测试方法和装置 |
CN111999073A (zh) * | 2020-08-20 | 2020-11-27 | 工业和信息化部计算机与微电子发展研究中心(中国软件评测中心) | 车辆信息传输的安全检测方法和系统 |
CN112600724B (zh) * | 2020-11-18 | 2022-04-05 | 江苏徐工工程机械研究院有限公司 | 一种can总线性能测试方法及测试系统 |
CN112532716B (zh) * | 2020-11-25 | 2022-09-02 | 中国人民解放军陆军军事交通学院军事交通运输研究所 | 一种车辆ecu安全测试方法及装置 |
CN112486816B (zh) * | 2020-11-27 | 2024-04-02 | 北京知道未来信息技术有限公司 | 测试方法、装置、电子设备及存储介质 |
CN113194497A (zh) * | 2021-03-12 | 2021-07-30 | 深圳开源互联网安全技术有限公司 | 一种模糊测试中的Wifi发包方法、装置及存储介质 |
CN113347053B (zh) * | 2021-04-26 | 2022-04-15 | 江铃汽车股份有限公司 | 一种汽车can总线采样点测试方法及系统 |
CN113722717B (zh) * | 2021-07-21 | 2024-04-05 | 中国科学院信息工程研究所 | 一种安全漏洞测试方法、装置、设备及可读存储介质 |
CN113872839B (zh) * | 2021-08-27 | 2023-02-14 | 惠州市德赛西威汽车电子股份有限公司 | 一种基于can信号自动发送的实车测试方法及存储介质 |
CN113934621A (zh) * | 2021-09-06 | 2022-01-14 | 中国科学院信息工程研究所 | 模糊测试方法、系统、电子设备及介质 |
CN114244747B (zh) * | 2021-11-12 | 2023-11-17 | 潍柴动力股份有限公司 | 一种报文健康监控方法、装置及ecu |
CN114338451B (zh) * | 2021-12-31 | 2023-10-13 | 武汉思普崚技术有限公司 | 一种控制器局域网总线测试系统、方法和存储介质 |
CN115378639A (zh) * | 2022-07-12 | 2022-11-22 | 中国第一汽车股份有限公司 | 车辆入侵检测测试方法、装置、存储介质及车辆 |
CN115905021B (zh) * | 2022-12-30 | 2023-11-28 | 长春吉大正元信息技术股份有限公司 | 一种模糊测试方法、装置、电子设备以及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103136098A (zh) * | 2011-11-30 | 2013-06-05 | 西门子公司 | 模糊测试的方法、装置和系统 |
CN103441990A (zh) * | 2013-08-09 | 2013-12-11 | 中国人民解放军理工大学 | 基于状态融合的协议状态机自动推断方法 |
CN104598383A (zh) * | 2015-02-06 | 2015-05-06 | 中国科学院软件研究所 | 一种基于模式的动态漏洞挖掘集成系统和方法 |
CN108255711A (zh) * | 2017-12-29 | 2018-07-06 | 湖南优利泰克自动化系统有限公司 | 一种基于污点分析的plc固件模糊测试系统及测试方法 |
CN108416219A (zh) * | 2018-03-18 | 2018-08-17 | 西安电子科技大学 | 一种Android二进制文件漏洞检测方法及系统 |
CN109308263A (zh) * | 2018-09-29 | 2019-02-05 | 北京云测信息技术有限公司 | 一种小程序测试方法、装置及设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106302025B (zh) * | 2016-08-22 | 2021-06-08 | 腾讯科技(深圳)有限公司 | 通信协议的自动化测试方法和装置 |
CN107193731B (zh) * | 2017-05-12 | 2020-10-27 | 北京理工大学 | 使用控制变异的模糊测试覆盖率改进方法 |
US11115430B2 (en) * | 2017-06-09 | 2021-09-07 | Raytheon Company | Tactical bus fuzz tester |
-
2019
- 2019-05-28 CN CN201910452423.XA patent/CN110191019B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103136098A (zh) * | 2011-11-30 | 2013-06-05 | 西门子公司 | 模糊测试的方法、装置和系统 |
CN103441990A (zh) * | 2013-08-09 | 2013-12-11 | 中国人民解放军理工大学 | 基于状态融合的协议状态机自动推断方法 |
CN104598383A (zh) * | 2015-02-06 | 2015-05-06 | 中国科学院软件研究所 | 一种基于模式的动态漏洞挖掘集成系统和方法 |
CN108255711A (zh) * | 2017-12-29 | 2018-07-06 | 湖南优利泰克自动化系统有限公司 | 一种基于污点分析的plc固件模糊测试系统及测试方法 |
CN108416219A (zh) * | 2018-03-18 | 2018-08-17 | 西安电子科技大学 | 一种Android二进制文件漏洞检测方法及系统 |
CN109308263A (zh) * | 2018-09-29 | 2019-02-05 | 北京云测信息技术有限公司 | 一种小程序测试方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110191019A (zh) | 2019-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110191019B (zh) | 车辆can总线的测试方法、装置、计算机设备和存储介质 | |
CN110191018B (zh) | 车辆can总线的异常监测方法、装置和计算机设备 | |
KR101459867B1 (ko) | 시스템 테스트 장치 | |
CN106874187B (zh) | 代码覆盖率收集方法和装置 | |
US9892258B2 (en) | Automatic synthesis of unit tests for security testing | |
CN110213258B (zh) | 车辆can总线的异常监测方法、装置和计算机设备 | |
US9703690B2 (en) | Determining test case efficiency | |
US20100146340A1 (en) | Analyzing Coverage of Code Changes | |
CN110196813B (zh) | 接口测试方法、装置、设备和介质 | |
US9047401B2 (en) | Exception handling test apparatus and method | |
US9262309B2 (en) | Optimizing test data payload selection for testing computer software applications that employ data sanitizers and data validators | |
CN111831573A (zh) | 代码分支覆盖情况的确定方法、装置、计算机系统和介质 | |
CN111949545A (zh) | 自动化测试方法、系统、服务器及存储介质 | |
CN106649075A (zh) | 模糊测试方法和装置 | |
CN116522345A (zh) | 漏洞挖掘方法、装置、设备及可读存储介质 | |
US8752026B2 (en) | Efficient code instrumentation | |
CN115454856A (zh) | 多应用的安全检测方法、装置、介质及电子设备 | |
CN114553551A (zh) | 对入侵防御系统进行测试的方法及装置 | |
CN112527672B (zh) | 一种针对加壳工具的检测方法及设备 | |
CN115484200B (zh) | 一种埋点测试方法、装置、服务器、存储介质和系统 | |
CN111917611B (zh) | 半透明代理服务器的测试方法、装置及系统 | |
WO2024079803A1 (ja) | 脆弱性発見装置、脆弱性発見方法及び脆弱性発見プログラム | |
CN112799956B (zh) | 资产识别能力测试方法、装置及系统装置 | |
CN118250056A (zh) | 一种渗透测试方法及相关装置 | |
CN115309637A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20211013 Address after: 100176 101, floor 1, building 1, yard 7, Ruihe West 2nd Road, Beijing Economic and Technological Development Zone, Daxing District, Beijing Patentee after: Apollo Zhilian (Beijing) Technology Co.,Ltd. Address before: 2 / F, baidu building, 10 Shangdi 10th Street, Haidian District, Beijing 100085 Patentee before: BEIJING BAIDU NETCOM SCIENCE AND TECHNOLOGY Co.,Ltd. |