CN111917692A - 模糊测试方法、装置、设备及计算机可读存储介质 - Google Patents
模糊测试方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111917692A CN111917692A CN201910388675.0A CN201910388675A CN111917692A CN 111917692 A CN111917692 A CN 111917692A CN 201910388675 A CN201910388675 A CN 201910388675A CN 111917692 A CN111917692 A CN 111917692A
- Authority
- CN
- China
- Prior art keywords
- message
- communication
- information
- fuzzy test
- positioning information
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Abstract
本公开的实施例提供一种模糊测试方法、装置、设备及计算机可读存储介质。该方法应用于模糊测试设备,模糊测试设备与车辆的车载诊断系统OBD接口连接,该方法包括:在从OBD接口监听到通讯报文的情况下,确定通讯报文的报文标识符对应的定位信息;其中,定位信息用于定位通讯报文中的有效报文信息;根据定位信息,获得有效报文信息;根据有效报文信息,进行数据变换,以得到变换报文;根据变换报文,执行模糊测试处理操作。可见,本公开的实施例能够实现智能模糊测试,以有效地解决现有的模糊测试方式存在的弊端,从而提高模糊测试的测试效率,保证车辆系统的安全。
Description
技术领域
本公开的实施例涉及车辆工程技术领域,尤其涉及一种模糊测试方法、装置、设备及计算机可读存储介质。
背景技术
随着车辆工程技术领域的迅速发展,车辆的使用越来越普遍,车辆已经成为了人们生活中的重要交通工具。
为了保证车辆的正常运行,可以预先对车辆进行模糊测试(其也可以称为Fuzzing),例如进行控制器局域网络(Controller Area Network,CAN)模糊测试;其中,模糊测试是源于软件工程的测试方法和技术,其通过随机数据变换的方式对目标进行测试。目前,在进行模糊测试时,通常是直接对车辆的通讯报文整体进行数据变换,那么,进行数据变换后得到的变换报文中存在很多无效的变换报文,这样会导致模糊测试的测试效率非常低。
发明内容
本公开的实施例提供一种模糊测试方法、装置、设备及计算机可读存储介质,以解决现有技术中对车辆进行模糊测试时,测试效果低的问题。
第一方面,本公开的实施例提供一种模糊测试方法,应用于模糊测试设备,所述模糊测试设备与车辆的车载诊断系统OBD接口连接,所述方法包括:
在从所述OBD接口监听到通讯报文的情况下,确定所述通讯报文的报文标识符对应的定位信息;其中,所述定位信息用于定位所述通讯报文中的有效报文信息;
根据所述定位信息,获得所述有效报文信息;
根据所述有效报文信息,进行数据变换,以得到变换报文;
根据所述变换报文,执行模糊测试处理操作。
在一些实施例中,所述模糊测试设备中存储有多个通讯矩阵信息,每个通讯矩阵信息中均包括报文标识符和定位信息;
所述确定所述通讯报文的报文标识符对应的定位信息,包括:
确定所述通讯报文的报文标识符所在的通讯矩阵信息;
将所确定的通讯矩阵信息中的定位信息作为所述通讯报文的报文标识符对应的定位信息。
在一些实施例中,每个通讯矩阵信息中还包括以下至少一项:
报文名称、报文类型、报文发送类型、报文周期时间、报文长度、信号名称、信号描述、信号发送类型、信号长度、信号值描述信息、报文发送次数、报文延时时间。
在一些实施例中,所述根据所述有效报文信息,进行数据变换,包括:
确定所述通讯报文的报文标识符对应的数据变换策略;
根据所述有效报文信息,利用所述数据变化策略进行数据变换。
在一些实施例中,所述根据所述变换报文,执行模糊测试处理操作,包括:
从所述OBD接口发出所述变换报文;
在从所述OBD接口监听到针对所述变换报文的响应信息的情况下,根据所述响应信息,获得模糊测试结果。
在一些实施例中,
所述在从所述OBD接口监听到通讯报文的情况下,确定所述通讯报文的报文标识符对应的定位信息,包括:
在从所述OBD接口监听到通讯报文的情况下,对所述通讯报文进行预设校验运算,获得运算结果;
在运算结果集合中不存在所述运算结果的情况下,确定所述通讯报文的报文标识符对应的定位信息;
所述根据所述变换报文,执行模糊测试处理操作之后,所述方法还包括:
将所述运算结果存储至所述运算结果集合中。
在一些实施例中,所述预设校验运算包括哈希运算。
第二方面,本公开的实施例提供一种模糊测试装置,应用于模糊测试设备,所述模糊测试设备与车辆的车载诊断系统OBD接口连接,所述装置包括:
确定模块,用于在从所述OBD接口监听到通讯报文的情况下,确定所述通讯报文的报文标识符对应的定位信息;其中,所述定位信息用于定位所述通讯报文中的有效报文信息;
第一获得模块,用于根据所述定位信息,获得所述有效报文信息;
第二获得模块,用于根据所述有效报文信息,进行数据变换,以得到变换报文;
执行模块,用于根据所述变换报文,执行模糊测试处理操作。
在一些实施例中,所述模糊测试设备中存储有多个通讯矩阵信息,每个通讯矩阵信息中均包括报文标识符和定位信息;
所述确定模块,包括:
第一确定单元,用于确定所述通讯报文的报文标识符所在的通讯矩阵信息;
第二确定单元,用于将所确定的通讯矩阵信息中的定位信息作为所述通讯报文的报文标识符对应的定位信息。
在一些实施例中,每个通讯矩阵信息中还包括以下至少一项:
报文名称、报文类型、报文发送类型、报文周期时间、报文长度、信号名称、信号描述、信号发送类型、信号长度、信号值描述信息、报文发送次数、报文延时时间。
在一些实施例中,所述第二获得模块,包括:
第三确定单元,用于确定所述通讯报文的报文标识符对应的数据变换策略;
变换单元,用于根据所述有效报文信息,利用所述数据变化策略进行数据变换。
在一些实施例中,所述执行模块,包括:
发送单元,用于从所述OBD接口发出所述变换报文;
第一获得单元,用于在从所述OBD接口监听到针对所述变换报文的响应信息的情况下,根据所述响应信息,获得模糊测试结果。
在一些实施例中,
所述确定模块,包括:
第二获得单元,用于在从所述OBD接口监听到通讯报文的情况下,对所述通讯报文进行预设校验运算,获得运算结果;
第四确定单元,用于在运算结果集合中不存在所述运算结果的情况下,确定所述通讯报文的报文标识符对应的定位信息;
所述装置还包括:
存储模块,用于在根据所述变换报文,执行模糊测试处理操作之后,将所述运算结果存储至所述运算结果集合中。
在一些实施例中,所述预设校验运算包括哈希运算。
第三方面,本公开的实施例提供一种模糊测试设备,包括处理器,存储器,存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述模糊测试方法的步骤。
第四方面,本公开的实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述模糊测试方法的步骤。
本公开的实施例中,在从OBD接口监听到通讯报文的情况下,模糊测试设备不是直接对通讯报文整体进行数据变换,而是先根据通讯报文的报文标识符对应的定位信息,获得通讯报文的有效报文信息,再根据有效报文信息进行数据变换,这样,与现有技术相比,模糊测试设备得到的变换报文中的无效的变换报文的数量大大减少,那么,在根据变换报文,执行模糊测试处理操作,以实现对车辆的模糊测试时,使用的样本的有效性能够得到有效地提升,相应地,测试效率能够得到有效地提升。
附图说明
图1是本公开的实施例提供的模糊测试方法的流程图;
图2是本公开的实施例提供的模糊测试装置的结构框图;
图3是本公开的实施例提供的模糊测试设备的结构示意图。
具体实施方式
下面将结合本公开的实施例中的附图,对本公开的实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获取的所有其他实施例,都属于本公开保护的范围。
下面首先对本公开的实施例提供的模糊测试方法进行说明。
需要说明的是,本公开的实施例提供的模糊测试方法应用于模糊测试设备,模糊测试设备与车辆的车载诊断系统(On-Board Diagnostics,OBD)接口连接。
这里,模糊测试设备可以包括:统一管理平台系统;其中,统一管理平台系统可以是基于PHP和Mysql开发的全球广域网(World Wide Web,Web)应用程序。可以理解的是,PHP是一种通用开源脚本语言,其外文名为PHP:Hypertext Preprocessor,中文名为超文本预处理器;Mysql是一种关系型数据库。
参见图1,图中示出了本公开的实施例提供的模糊测试方法的流程图。如图1所示,该方法包括如下步骤:
步骤101,在从OBD接口监听到通讯报文的情况下,确定通讯报文的报文标识符对应的定位信息;其中,定位信息用于定位通讯报文中的有效报文信息。
为了便于理解,本公开的实施例中均以模糊测试为CAN模糊测试,通讯报文为CAN通讯报文,通讯报文的报文标识符为CAN ID的情况为例进行说明。可以理解的是,CAN通讯报文的CAN ID可以用于表征CAN通讯报文的报文功能、报文优先级等信息。
需要说明的是,模糊测试设备中可以安装有基于OBD接口的CAN报文监听程序,CAN报文监听程序可以对车辆的CAN总线环境中的通讯报文进行监听。
如果从OBD接口未监听到通讯报文,CAN报文监听程序可以继续进行报文的监听。
如果从OBD接口监听到通讯报文,CAN报文监听程序可以将监听到的通讯报文上报给统一管理平台系统。具体地,从OBD接口监听到的通讯报文中一般为一条一条的文本数据内容,那么,这里可以通过数据导入的方式,将这些文本数据内容导入统一管理平台系统,以便于统一管理平台系统对其进行集中管理。之后,统一管理平台系统可以确定上报的通讯报文的报文标识符对应的定位信息;其中,定位信息用于定位通讯报文中的有效报文信息,有效报文信息可以是通讯报文中除了报文头和无效字段之外的信息。这里,定位信息中可以包括有效报文起始位和有效报文结束位;或者,定位信息中可以包括有效报文起始位和有效字节数量。
步骤102,根据定位信息,获得有效报文信息。
如果定位信息中包括有效报文起始位和有效报文结束位,在步骤102中,可以获得由通讯报文中的,有效报文起始位和有效报文结束位之间的字节组成的有效报文信息。如果定位信息中包括有效报文起始位和有效字节数量,在步骤102中,可以获得通讯报文中的,从有效报文起始位开始的有效字节数量个字节组成的有效报文信息。
步骤103,根据有效报文信息,进行数据变换,以得到变换报文。
需要说明的是,步骤103可以由统一管理平台系统执行。
在一些实施例中,根据有效报文信息,进行数据变换,包括:
确定通讯报文的报文标识符对应的数据变换策略;
根据有效报文信息,利用数据变化策略进行数据变换。
这里,可以通过脚本逻辑定义方式,预先定义报文标识符与数据变换策略之间的对应关系。具体地,该对应关系可以存储于统一管理平台系统中,该对应关系可以为:一些报文标识符对应的数据变换策略为单一字节变换策略,另一些报文标识符对应的数据变换策略为多字节变换策略。
在步骤103中,可以根据报文标识符与数据变换策略之间的对应关系,确定监听到的通讯报文的报文标识符所对应的数据变换策略,之后,可以利用所确定的数据变换策略进行数据变换,以得到相应的变换报文。
这种实施方式中,进行数据变换时需要使用报文标识符与数据变换策略之间的对应关系,那么,只需根据实际情况,对该对应关系进行更新,即可保证通讯报文进行数据变换时使用的数据变换策略符合用户预期。
当然,根据有效报文信息,进行数据变换的具体实施方式并不局限于上述情况,例如,可以预先设置默认的数据变换策略,所有报文标识符对应的通讯报文均利用默认的数据变换策略进行数据变换,这也是可行的。
步骤104,根据变换报文,执行模糊测试处理操作。
一般而言,模糊测试设备通过数据变换可以得到大量的变换报文,在步骤104中,模糊测试设备可以将大量的变换报文提供给车辆,以利用大量的变换报文,实现对车辆的模糊测试。
本公开的实施例中,在从OBD接口监听到通讯报文的情况下,模糊测试设备不是直接对通讯报文整体进行数据变换,而是先根据通讯报文的报文标识符对应的定位信息,获得通讯报文的有效报文信息,再根据有效报文信息进行数据变换,这样,与现有技术相比,模糊测试设备得到的变换报文中的无效的变换报文的数量大大减少,那么,在根据变换报文,执行模糊测试处理操作,以实现对车辆的模糊测试时,使用的样本的有效性能够得到有效地提升,相应地,测试效率能够得到有效地提升。
在一些实施例中,模糊测试设备中存储有多个通讯矩阵信息,每个通讯矩阵信息中均包括报文标识符和定位信息;
确定通讯报文的报文标识符对应的定位信息,包括:
确定通讯报文的报文标识符所在的通讯矩阵信息;
将所确定的通讯矩阵信息中的定位信息作为通讯报文的报文标识符对应的定位信息。
这里,多个通讯矩阵信息可以.dbc文件格式存储于统一管理平台系统,多个通讯矩阵信息中的“多个”具体是指至少两个,那么,通讯矩阵信息的数量可以为两个、三个、四个、五个或者五个以上,在此不再一一列举。
需要指出的是,本公开的实施例中涉及的通讯矩阵信息可以均为CAN通讯矩阵信息,通讯矩阵信息可以理解为通讯协议的描述信息,其类似通讯协议的规范,其可以认为是针对特定车型自定义的规范。
本公开的实施例中,在从OBD接口监听到通讯报文的情况下,模糊测试设备可以对多个通讯矩阵信息进行遍历查找,以确定是否存在包含通讯报文的报文标识符的通讯矩阵信息。
如果确定结果为不存在,整个模糊测试方法的流程结束。
如果确定结果为存在,模糊测试设备可以确定通讯报文的报文标识符所在的通讯矩阵信息,并将该通讯矩阵信息中的定位信息作为通讯报文的报文标识符对应的定位信息。之后,模糊测试设备可以根据该定位信息,执行后续的步骤,以实现对车辆的模糊测试。
为了便于理解,下面以一个具体的例子,对本公开的实施例的具体实施过程进行说明。
模糊测试设备中可以存储有三个通讯矩阵信息,分别为通讯矩阵信息1、通讯矩阵信息2和通讯矩阵信息3;其中,通讯矩阵信息1中可以包括CAN ID1和定位信息1,通讯矩阵信息2中可以包括CAN ID2和定位信息2,通讯矩阵信息3中可以包括CAN ID3和定位信息3。
假设模糊测试设备从OBD接口监听到了通讯报文T,且通讯报文T的报文标识符为CAN ID2,容易看出,通讯报文T的报文标识符所在的通讯矩阵信息为通讯矩阵信息2,那么,模糊测试设备可以将通讯矩阵信息2中的定位信息2作为通讯报文T的报文标识符对应的定位信息。
可见,本公开的实施例中,基于模糊测试设备中存储的通讯矩阵信息,能够非常便捷地确定出通讯报文的报文标识符对应的定位信息。
当然,确定通讯报文的报文标识符对应的定位信息的具体实现形式并不局限于上述情况。举例而言,模糊测试设备中可以不存储多个通讯矩阵信息,而是存储报文标识符与定位信息之间的对应关系,模糊测试设备可以基于该对应关系,确定出通讯报文中的标识符对应的定位信息,这也是可行的。
在一些实施例中,每个通讯矩阵信息中还包括以下至少一项:
报文名称、报文类型、报文发送类型、报文周期时间、报文长度、信号名称、信号描述、信号发送类型、信号长度、信号值描述信息、报文发送次数、报文延时时间。
这里,每个通讯矩阵信息中还可以包括报文发送的快速周期等信息。
一般而言,车辆制造商会自定义很多的通讯数据信息,这些通讯数据信息的结构和内容都是自定义的,因此,这些通讯数据信息是非标准的数据信息,通过大量获取数据信息并进行逆向分析的方式去了解这些通讯数据信息的具体功能和内容是非常困难的。
有鉴于此,本公开的实施例中,模糊测试设备中可以存储有多个通讯矩阵信息,每个通讯矩阵信息中可以包括报文标识符、定位信息、报文名称、报文类型等能够标明车辆正常通讯过程中的通讯数据结构和内容的信息。这样,在从OBD接口监听到通讯报文后,通过与各通讯矩阵信息进行比对,并对通讯矩阵信息进行查阅,模糊测试设备能够对该通讯报文进行解析,以了解该通讯报文的具体功能,以及该通讯报文中的每个数值对应的具体含义,以便于后续执行有效报文信息的提取以及数据变换等操作。
在一些实施例中,根据变换报文,执行模糊测试处理操作,包括:
从OBD接口发出变换报文;
在从OBD接口监听到针对变换报文的响应信息的情况下,根据响应信息,获得模糊测试结果。
本公开的实施例中,通过数据变换能够得到大量的变换报文,统一管理平台系统可以将得到的变换报文均导出并下发给CAN报文监听程序。CAN报文监听程序可以异步接收统一管理平台系统下发的变换报文,并将接收的变换报文通过OBD接口发出,以使变换报文通过CAN报文注入发送的方式,被重新发送至CAN总线环境中。
对于重新发送至CAN总线环境中的任一变换报文,其指向的电子控制单元(Electronic Control Unit,ECU)可以获得该变换报文,针对该变换报文进行响应,以生成响应信息,并将该响应信息发送至CAN总线环境中。
之后,模糊测试设备可以对针对变换报文的响应信息进行监听,并根据从OBD接口监听到的响应信息,获得模糊测试结果。
具体地,假设之前从OBD接口监听到的通讯报文用于打开车门,且根据通讯报文中的有效报文信息进行数据变换共得到了M个变换报文,模糊测试设备后续有可能监听到针对M个变换报文的M个响应信息;其中,M个变换报文与M个响应信息可以一一对应。如果M个响应信息中超过一定比例(例如0.1%、0.2%等)的响应信息表征其对应的变换报文能够用于打开车门,那么,可以确定车辆的模糊测试不通过;否则,可以确定车辆的模糊测试通过。需要指出的是,响应信息中还可以包括车辆状态信息。
可见,本公开的实施例中,通过车辆与模糊测试设备之间的交互,能够便捷地获得车辆的模糊测试结果,以实现对车辆的模糊测试。
在一些实施例中,
在从OBD接口监听到通讯报文的情况下,确定通讯报文的报文标识符对应的定位信息,包括:
在从OBD接口监听到通讯报文的情况下,对通讯报文进行预设校验运算,获得运算结果;
在运算结果集合中不存在运算结果的情况下,确定通讯报文的报文标识符对应的定位信息;
根据变换报文,执行模糊测试处理操作之后,该方法还包括:
将运算结果存储至运算结果集合中。
这里,预设校验运算包括哈希运算。当然,预设校验运算的类型并不局限于此,例如为循环冗余校验码(Cyclic Redundancy Check,CRC)运算等,这也是可行的。
为了便于理解,下面以一个具体的例子,对本公开的实施例的具体实施过程进行详细说明。
假设模糊测试设备从OBD接口监听到了通讯报文X,模糊测试设备可以对通讯报文X进行哈希运算,得到运算结果Y。接下来,模糊测试设备可以确定运算结果集合中是否存在运算结果Y。
如果确定结果为存在,模糊测试设备不基于通讯报文X进行模糊测试,模糊测试设备可以直接丢弃通讯报文X。
如果确定结果不存在,模糊测试设备可以确定通讯报文X的报文标识符对应的定位信息D。接下来,模糊测试设备可以根据定位信息D,获得通讯报文X中的有效报文信息,并根据有效报文信息,进行数据变换,以得到变换报文。
假设通讯报文X中的有效报文信息中包括Z1、Z2和Z3这三个字节,按照十六进制,每个字节的变换范围可以为0x00至0xFF,那么,针对Z1至Z3中的任一字节,对其从0x00至0xFF进行变换时,可以得到255条数据内容,这样,在根据有效报文信息进行变换时,可以得到255的三次方个变换报文。
之后,模糊测试设备可以从OBD接口发出得到的255的三次方个变换报文,并根据从OBD接口监听到的针对变换报文的响应信息,获得模糊测试结果,以实现对车辆的模糊测试。另外,模糊测试设备还可以将运算结果Y存储至运算结果集合,这样,当后续再次从OBD接口监听到通讯报文X的情况下,模糊测试设备无需再基于通讯报文X进行模糊测试。
可见,本公开的实施例中,通过对监听到的通讯报文进行校验运算,以及对运算结果的存储,能够避免基于相同的通讯报文重复进行模糊测试,这样能够进一步提升测试效率。
综上,本公开的实施例能够实现智能模糊测试,以有效地解决现有的模糊测试方式存在的弊端,从而提高模糊测试的测试效率,保证车辆系统的安全。
下面对本公开的实施例提供的模糊测试装置进行说明。
参见图2,图中示出了本公开的实施例提供的模糊测试装置200的结构框图,如图2所示,模糊测试装置200应用于模糊测试设备,模糊测试设备与车辆的OBD接口连接,模糊测试装置200包括:
确定模块201,用于在从OBD接口监听到通讯报文的情况下,确定通讯报文的报文标识符对应的定位信息;其中,定位信息用于定位通讯报文中的有效报文信息;
第一获得模块202,用于根据定位信息,获得有效报文信息;
第二获得模块203,用于根据有效报文信息,进行数据变换,以得到变换报文;
执行模块204,用于根据变换报文,执行模糊测试处理操作。
在一些实施例中,模糊测试设备中存储有多个通讯矩阵信息,每个通讯矩阵信息中均包括报文标识符和定位信息;
确定模块201,包括:
第一确定单元,用于确定通讯报文的报文标识符所在的通讯矩阵信息;
第二确定单元,用于将所确定的通讯矩阵信息中的定位信息作为通讯报文的报文标识符对应的定位信息。
在一些实施例中,每个通讯矩阵信息中还包括以下至少一项:
报文名称、报文类型、报文发送类型、报文周期时间、报文长度、信号名称、信号描述、信号发送类型、信号长度、信号值描述信息、报文发送次数、报文延时时间。
在一些实施例中,第二获得模块203,包括:
第三确定单元,用于确定通讯报文的报文标识符对应的数据变换策略;
变换单元,用于根据有效报文信息,利用数据变化策略进行数据变换。
在一些实施例中,执行模块204,包括:
发送单元,用于从OBD接口发出变换报文;
第一获得单元,用于在从OBD接口监听到针对变换报文的响应信息的情况下,根据响应信息,获得模糊测试结果。
在一些实施例中,
确定模块201,包括:
第二获得单元,用于在从OBD接口监听到通讯报文的情况下,对通讯报文进行预设校验运算,获得运算结果;
第四确定单元,用于在运算结果集合中不存在运算结果的情况下,确定通讯报文的报文标识符对应的定位信息;
模糊测试装置200还包括:
存储模块,用于在根据变换报文,执行模糊测试处理操作之后,将运算结果存储至运算结果集合中。
在一些实施例中,预设校验运算包括哈希运算。
本公开的实施例中,在从OBD接口监听到通讯报文的情况下,模糊测试设备不是直接对通讯报文整体进行数据变换,而是先根据通讯报文的报文标识符对应的定位信息,获得通讯报文的有效报文信息,再根据有效报文信息进行数据变换,这样,与现有技术相比,模糊测试设备得到的变换报文中的无效的变换报文的数量大大减少,那么,在根据变换报文,执行模糊测试处理操作,以实现对车辆的模糊测试时,使用的样本的有效性能够得到有效地提升,相应地,测试效率能够得到有效地提升。
下面对本公开的实施例提供的模糊测试设备进行说明。
参见图3,图中示出了本公开的实施例提供的模糊测试设备300的结构示意图。如图3所示,模糊测试设备300包括:处理器301、收发机302、存储器303、用户接口304和总线接口。
模糊测试设备300与车辆的OBD接口连接;处理器301,用于读取存储器303中的程序,执行下列过程:
在从OBD接口监听到通讯报文的情况下,确定通讯报文的报文标识符对应的定位信息;其中,定位信息用于定位通讯报文中的有效报文信息;
根据定位信息,获得有效报文信息;
根据有效报文信息,进行数据变换,以得到变换报文;
根据变换报文,执行模糊测试处理操作。
在图3中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器301代表的一个或多个处理器和存储器303代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机302可以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单元。针对不同的用户设备,用户接口304还可以是能够外接内接需要设备的接口,连接的设备包括但不限于小键盘、显示器、扬声器、麦克风、操纵杆等。
处理器301负责管理总线架构和通常的处理,存储器303可以存储处理器301在执行操作时所使用的数据。
在一些实施例中,模糊测试设备中存储有多个通讯矩阵信息,每个通讯矩阵信息中均包括报文标识符和定位信息;
处理器301,具体用于:
确定通讯报文的报文标识符所在的通讯矩阵信息;
将所确定的通讯矩阵信息中的定位信息作为通讯报文的报文标识符对应的定位信息。
在一些实施例中,每个通讯矩阵信息中还包括以下至少一项:
报文名称、报文类型、报文发送类型、报文周期时间、报文长度、信号名称、信号描述、信号发送类型、信号长度、信号值描述信息、报文发送次数、报文延时时间。
在一些实施例中,处理器301,具体用于:
确定通讯报文的报文标识符对应的数据变换策略;
根据有效报文信息,利用数据变化策略进行数据变换。
在一些实施例中,处理器301,具体用于:
从OBD接口发出变换报文;
在从OBD接口监听到针对变换报文的响应信息的情况下,根据响应信息,获得模糊测试结果。
在一些实施例中,
处理器301,具体用于:
在从OBD接口监听到通讯报文的情况下,对通讯报文进行预设校验运算,获得运算结果;
在运算结果集合中不存在运算结果的情况下,确定通讯报文的报文标识符对应的定位信息;
处理器301,还用于:
根据变换报文,执行模糊测试处理操作之后,将运算结果存储至运算结果集合中。
在一些实施例中,预设校验运算包括哈希运算。
本公开的实施例中,在从OBD接口监听到通讯报文的情况下,模糊测试设备300不是直接对通讯报文整体进行数据变换,而是先根据通讯报文的报文标识符对应的定位信息,获得通讯报文的有效报文信息,再根据有效报文信息进行数据变换,这样,与现有技术相比,模糊测试设备300得到的变换报文中的无效的变换报文的数量大大减少,那么,在根据变换报文,执行模糊测试处理操作,以实现对车辆的模糊测试时,使用的样本的有效性能够得到有效地提升,相应地,测试效率能够得到有效地提升。
本公开的实施例还提供一种模糊测试设备,包括处理器301,存储器303,存储在存储器303上并可在所述处理器301上运行的计算机程序,该计算机程序被处理器301执行时实现上述模糊测试方法实施例中的各个过程且能达到相同的技术效果,为避免重复,这里不再赘述。
本公开的实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器301执行时实现上述模糊测试方法实施例中的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random AccessMemory,简称RAM)、磁碟或者光盘等。
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以权利要求的保护范围为准。
Claims (16)
1.一种模糊测试方法,其特征在于,应用于模糊测试设备,所述模糊测试设备与车辆的车载诊断系统OBD接口连接,所述方法包括:
在从所述OBD接口监听到通讯报文的情况下,确定所述通讯报文的报文标识符对应的定位信息;其中,所述定位信息用于定位所述通讯报文中的有效报文信息;
根据所述定位信息,获得所述有效报文信息;
根据所述有效报文信息,进行数据变换,以得到变换报文;
根据所述变换报文,执行模糊测试处理操作。
2.根据权利要求1所述的方法,其特征在于,所述模糊测试设备中存储有多个通讯矩阵信息,每个通讯矩阵信息中均包括报文标识符和定位信息;
所述确定所述通讯报文的报文标识符对应的定位信息,包括:
确定所述通讯报文的报文标识符所在的通讯矩阵信息;
将所确定的通讯矩阵信息中的定位信息作为所述通讯报文的报文标识符对应的定位信息。
3.根据权利要求2所述的方法,其特征在于,每个通讯矩阵信息中还包括以下至少一项:
报文名称、报文类型、报文发送类型、报文周期时间、报文长度、信号名称、信号描述、信号发送类型、信号长度、信号值描述信息、报文发送次数、报文延时时间。
4.根据权利要求1所述的方法,其特征在于,所述根据所述有效报文信息,进行数据变换,包括:
确定所述通讯报文的报文标识符对应的数据变换策略;
根据所述有效报文信息,利用所述数据变化策略进行数据变换。
5.根据权利要求1所述的方法,其特征在于,所述根据所述变换报文,执行模糊测试处理操作,包括:
从所述OBD接口发出所述变换报文;
在从所述OBD接口监听到针对所述变换报文的响应信息的情况下,根据所述响应信息,获得模糊测试结果。
6.根据权利要求1所述的方法,其特征在于,
所述在从所述OBD接口监听到通讯报文的情况下,确定所述通讯报文的报文标识符对应的定位信息,包括:
在从所述OBD接口监听到通讯报文的情况下,对所述通讯报文进行预设校验运算,获得运算结果;
在运算结果集合中不存在所述运算结果的情况下,确定所述通讯报文的报文标识符对应的定位信息;
所述根据所述变换报文,执行模糊测试处理操作之后,所述方法还包括:
将所述运算结果存储至所述运算结果集合中。
7.根据权利要求6所述的方法,其特征在于,所述预设校验运算包括哈希运算。
8.一种模糊测试装置,其特征在于,应用于模糊测试设备,所述模糊测试设备与车辆的车载诊断系统OBD接口连接,所述装置包括:
确定模块,用于在从所述OBD接口监听到通讯报文的情况下,确定所述通讯报文的报文标识符对应的定位信息;其中,所述定位信息用于定位所述通讯报文中的有效报文信息;
第一获得模块,用于根据所述定位信息,获得所述有效报文信息;
第二获得模块,用于根据所述有效报文信息,进行数据变换,以得到变换报文;
执行模块,用于根据所述变换报文,执行模糊测试处理操作。
9.根据权利要求8所述的装置,其特征在于,所述模糊测试设备中存储有多个通讯矩阵信息,每个通讯矩阵信息中均包括报文标识符和定位信息;
所述确定模块,包括:
第一确定单元,用于确定所述通讯报文的报文标识符所在的通讯矩阵信息;
第二确定单元,用于将所确定的通讯矩阵信息中的定位信息作为所述通讯报文的报文标识符对应的定位信息。
10.根据权利要求9所述的装置,其特征在于,每个通讯矩阵信息中还包括以下至少一项:
报文名称、报文类型、报文发送类型、报文周期时间、报文长度、信号名称、信号描述、信号发送类型、信号长度、信号值描述信息、报文发送次数、报文延时时间。
11.根据权利要求8所述的装置,其特征在于,所述第二获得模块,包括:
第三确定单元,用于确定所述通讯报文的报文标识符对应的数据变换策略;
变换单元,用于根据所述有效报文信息,利用所述数据变化策略进行数据变换。
12.根据权利要求8所述的装置,其特征在于,所述执行模块,包括:
发送单元,用于从所述OBD接口发出所述变换报文;
第一获得单元,用于在从所述OBD接口监听到针对所述变换报文的响应信息的情况下,根据所述响应信息,获得模糊测试结果。
13.根据权利要求8所述的装置,其特征在于,
所述确定模块,包括:
第二获得单元,用于在从所述OBD接口监听到通讯报文的情况下,对所述通讯报文进行预设校验运算,获得运算结果;
第四确定单元,用于在运算结果集合中不存在所述运算结果的情况下,确定所述通讯报文的报文标识符对应的定位信息;
所述装置还包括:
存储模块,用于在根据所述变换报文,执行模糊测试处理操作之后,将所述运算结果存储至所述运算结果集合中。
14.根据权利要求13所述的装置,其特征在于,所述预设校验运算包括哈希运算。
15.一种模糊测试设备,其特征在于,包括处理器,存储器,存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述的模糊测试方法的步骤。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的模糊测试方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910388675.0A CN111917692A (zh) | 2019-05-10 | 2019-05-10 | 模糊测试方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910388675.0A CN111917692A (zh) | 2019-05-10 | 2019-05-10 | 模糊测试方法、装置、设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111917692A true CN111917692A (zh) | 2020-11-10 |
Family
ID=73242588
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910388675.0A Pending CN111917692A (zh) | 2019-05-10 | 2019-05-10 | 模糊测试方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111917692A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115277882A (zh) * | 2022-06-22 | 2022-11-01 | 东风汽车集团股份有限公司 | Can报文数据库建立方法、装置、车载电子设备及存储介质 |
CN116684185A (zh) * | 2023-06-30 | 2023-09-01 | 中汽院新能源科技有限公司 | 一种路况数据自动合成方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090204591A1 (en) * | 2008-02-11 | 2009-08-13 | Rauli Kaksonen | Method and arrangement for test case creation |
CN101902367A (zh) * | 2009-05-31 | 2010-12-01 | 西门子(中国)有限公司 | 一种产生测试用例的方法及装置 |
CN102087631A (zh) * | 2011-03-09 | 2011-06-08 | 中国人民解放军国发科学技术大学 | 一种面向状态协议实现软件的模糊测试方法 |
US20150319072A1 (en) * | 2014-05-05 | 2015-11-05 | Ixia | Methods, systems, and computer readable media for providing fuzz testing functionality |
CN105721230A (zh) * | 2014-11-30 | 2016-06-29 | 中国科学院沈阳自动化研究所 | 一种面向Modbus协议的模糊测试方法 |
CN105763392A (zh) * | 2016-02-19 | 2016-07-13 | 中国人民解放军理工大学 | 一种基于协议状态的工控协议模糊测试方法 |
CN107241226A (zh) * | 2017-06-29 | 2017-10-10 | 北京工业大学 | 基于工控私有协议的模糊测试方法 |
CN109639624A (zh) * | 2018-10-08 | 2019-04-16 | 上海大学 | 一种Modbus TCP协议模糊测试中畸形数据过滤方法 |
-
2019
- 2019-05-10 CN CN201910388675.0A patent/CN111917692A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090204591A1 (en) * | 2008-02-11 | 2009-08-13 | Rauli Kaksonen | Method and arrangement for test case creation |
CN101902367A (zh) * | 2009-05-31 | 2010-12-01 | 西门子(中国)有限公司 | 一种产生测试用例的方法及装置 |
CN102087631A (zh) * | 2011-03-09 | 2011-06-08 | 中国人民解放军国发科学技术大学 | 一种面向状态协议实现软件的模糊测试方法 |
US20150319072A1 (en) * | 2014-05-05 | 2015-11-05 | Ixia | Methods, systems, and computer readable media for providing fuzz testing functionality |
CN105721230A (zh) * | 2014-11-30 | 2016-06-29 | 中国科学院沈阳自动化研究所 | 一种面向Modbus协议的模糊测试方法 |
CN105763392A (zh) * | 2016-02-19 | 2016-07-13 | 中国人民解放军理工大学 | 一种基于协议状态的工控协议模糊测试方法 |
CN107241226A (zh) * | 2017-06-29 | 2017-10-10 | 北京工业大学 | 基于工控私有协议的模糊测试方法 |
CN109639624A (zh) * | 2018-10-08 | 2019-04-16 | 上海大学 | 一种Modbus TCP协议模糊测试中畸形数据过滤方法 |
Non-Patent Citations (2)
Title |
---|
张雄等: "模糊测试技术研究综述", 《计算机科学》 * |
彭勇等: "针对私有协议的模糊测试技术研究", 《北京交通大学学报》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115277882A (zh) * | 2022-06-22 | 2022-11-01 | 东风汽车集团股份有限公司 | Can报文数据库建立方法、装置、车载电子设备及存储介质 |
CN115277882B (zh) * | 2022-06-22 | 2023-08-29 | 东风汽车集团股份有限公司 | Can报文数据库建立方法、装置、车载电子设备及存储介质 |
CN116684185A (zh) * | 2023-06-30 | 2023-09-01 | 中汽院新能源科技有限公司 | 一种路况数据自动合成方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109039824B (zh) | 一种车载终端无线远程通信协议自动化测试系统及方法 | |
CN104734911A (zh) | 一种can总线网络管理测试系统及方法 | |
CN111865743A (zh) | 车辆can总线模糊测试方法、系统、电子设备及存储介质 | |
WO2023125852A1 (zh) | 远程诊断方法及装置、电子设备和存储介质 | |
CN109218407B (zh) | 基于日志监控技术的代码管控方法及终端设备 | |
CN111506047B (zh) | 车辆诊断方法、装置及存储介质 | |
CN109213132A (zh) | 一种uds诊断接口软件生成的方法、装置及设备 | |
CN111999073A (zh) | 车辆信息传输的安全检测方法和系统 | |
CN110989555A (zh) | 车辆诊断报警的方法、装置及系统 | |
CN113608518B (zh) | 数据生成方法、装置、终端设备及介质 | |
US11868222B2 (en) | System and method for integration testing | |
CN111917692A (zh) | 模糊测试方法、装置、设备及计算机可读存储介质 | |
CN111970166B (zh) | 一种测试方法、装置、设备、系统及计算机可读存储介质 | |
CN112051832B (zh) | 基于仿真节点的故障测试方法、装置、系统及存储介质 | |
CN110333712A (zh) | 车辆故障诊断方法及系统 | |
JP2024019033A (ja) | 車両の遠隔故障診断方法、装置、車両及びコンピュータ記憶媒体 | |
CN107817789A (zh) | Can总线仿真测试系统 | |
CN114257470A (zh) | 一种车辆蓝牙功能的测试系统及测试方法 | |
CN106878112B (zh) | 一种网关控制器、数据传输方法及装置 | |
CN113556335A (zh) | 车载总线安全测试方法和系统 | |
CN111880510A (zh) | 一种新能源汽车数据采集及发送方法及设备 | |
CN117061384A (zh) | 一种模糊测试方法、装置、设备及介质 | |
CN109981394B (zh) | 基于增强型can总线协议分析仪的通信方法和装置 | |
Lee et al. | Collecting big data from automotive ECUs beyond the CAN bandwidth for fault visualization | |
CN113645043B (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: 20201110 |
|
RJ01 | Rejection of invention patent application after publication |