CN113872985B - 针对车载can总线模糊测试方法、终端以及计算机设备 - Google Patents
针对车载can总线模糊测试方法、终端以及计算机设备 Download PDFInfo
- Publication number
- CN113872985B CN113872985B CN202111195978.4A CN202111195978A CN113872985B CN 113872985 B CN113872985 B CN 113872985B CN 202111195978 A CN202111195978 A CN 202111195978A CN 113872985 B CN113872985 B CN 113872985B
- Authority
- CN
- China
- Prior art keywords
- boundary
- matrix
- bus
- vehicle
- test
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1433—Vulnerability analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- 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
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Data Mining & Analysis (AREA)
- Biomedical Technology (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Genetics & Genomics (AREA)
- Physiology (AREA)
- Small-Scale Networks (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明属于车联网安全和模糊测试技术领域,尤其涉及针对车载CAN总线模糊测试方法、终端以及计算机设备;所述方法包括获取车辆行驶过程中的CAN总线报文数据;对所述CAN总线报文数据进行预处理;计算出每个CAN总线报文数据的比特反转率,按照所述比特反转率划分出信号边界;基于所述信号边界构建出边界矩阵,将所述边界矩阵输入到遗传算法模型中产生测试用例;将所述测试用例输入到CAN总线中对车辆的电子控制单元进行模糊测试。本发明可以有效地帮助生产者以及使用者了解车辆潜在的安全性以及安全漏洞的情况,能帮助使用者规避被攻击的风险,帮助生产者改善车辆的安全性。
Description
技术领域
本发明属于车联网安全和模糊测试技术领域,尤其涉及一种一种针对车载CAN总线模糊测试方法、终端以及计算机设备。
背景技术
如今,智能汽车联网技术迅速发展,汽车逐渐成为承载大量信息的载体,而只能车联网出现的各种信息安全问题逐渐引起人们重视。模糊测试作为一种广泛使用的漏洞挖掘技术,通过注入大量随机的或者不符合格式的数据到目标中触发边界的条件引发漏洞,来测试网络协议的安全性。
通过模糊测试进行车载网络评测可以有效地帮助生产者以及使用者了解车辆潜在的安全性以及安全漏洞的情况,能帮助使用者规避被攻击的风险,帮助生产者改善车辆的安全性。
目前,国内外在车载网络模糊测试的研究,主要有针对总线防御的研究和总线攻击的研究,例如杨宏提出的一种基于信息熵和消息特征的面向总线的异常检测方法;针对报文逆向分析以及自定义的总线消息的注入等总线攻击,而自定义的消息注入是基于生成是测试用例,所以该方法发现总线漏洞效率有限。
发明内容
为了解决上述问题,本发明提供了一种针对车载CAN总线模糊测试方法、终端以及计算机设备,结合了报文逆向以及遗传变异算法,目的在于提高测试用例有效率,从而更好发现漏洞,提高车辆安全性。
为达到上述目的,在本发明的第一方面,本发明提供了一种针对车载CAN总线模糊测试方法,所述方法包括以下步骤:
获取车辆行驶过程中的CAN总线报文数据;对所述CAN总线报文数据进行预处理;计算出每个CAN总线报文数据的比特反转率,按照所述比特反转率划分出信号边界;基于所述信号边界构建出边界矩阵,将所述边界矩阵输入到遗传算法模型中产生测试用例;将所述测试用例输入到CAN总线中对车辆进行模糊测试。
在本发明的第二方面,本发明还提供了一种针对车载CAN总线模糊测试终端,包括:
数据采集单元,用于获取车辆行驶过程中的CAN总线报文数据;
数据处理单元,用于对所述CAN总线报文数据进行预处理;
数据计算单元,用于计算出每个CAN总线报文数据的比特反转率;
数据划分单元,用于按照所述比特反转率划分出信号边界;
用例产生单元,基于所述信号边界构建出边界矩阵,将所述边界矩阵输入到遗传算法模型中产生测试用例;
用例测试单元,用于将所述测试用例输入到CAN总线中对车辆的电子控制单元进行模糊测试。
在本发明的第三方面,本发明还提供了一种计算机设备,包括存储器、处理器以及存储在存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如本发明第一方面所述的一种针对车载CAN总线模糊测试方法。
本发明的有益效果:
本发明可以有效地帮助生产者以及使用者了解车辆潜在的安全性以及安全漏洞的情况,能帮助使用者规避被攻击的风险,帮助生产者改善车辆的安全性。
针对采用人工测试方式需要通过观察某一车辆现象,并多次使用二分查找定位报文的冗余测试问题,本发明提出的一种针对车载CAN总线模糊测试终端以及计算机设备集成了本发明的一种针对车载CAN总线模糊测试方法,可以更简单快捷地针对车载网络进行安全测试。本发明通过比特反转的方式可以有效的减少人工逆向报文的工作量,使用收集的报文初步定位可能的有效报文和有效信号位能够减少无效的遍历过程,再结合使用的遗传算法模型能够根据逆向后的结果减少无效测试用例的生成,能够更加快速的进行安全测试。
附图说明
图1为本发明实施例中的针对车载CAN总线模糊测试方法方法的总体流程图;
图2为本发明实施例中的针对车载CAN总线模糊测试终端的结构图;
图3为本发明优选实施例中针对车载CAN总线模糊测试终端的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明优选的一种实施例针对车载CAN总线模糊测试方法的总体流程图,如图1所示,所述方法的步骤包括:
101、获取车辆行驶过程中的CAN总线报文数据;
在本发明实施例中,报文的获取方式有多种,如使用过ZLG的USBCAN设备通过OBD接口读取车辆形式过程中的总线报文,或者使用VN1640A设备和CANoe软件设备来读取ECU信号模拟器中的报文等。
102、对所述CAN总线报文数据进行预处理;
其中,CAN总线使用串行数据传输方式,且总线协议支持多主控制器。当CAN总线上的一个节点(站)发送数据时,它以报文形式广播给网络中所有节点。每组报文开头的11位字符为标识符,定义了报文的优先级,这种报文格式称为面向内容的编址方案。在同一系统中标识符是唯一的,不可能有两个站发送具有相同标识符的报文。当几个站同时竞争总线读取时,这种配置十分重要。当一个站要向其它站发送数据时,该站的CPU将要发送的数据和自己的标识符传送给本站的CAN芯片,并处于准备状态;当它收到总线分配时,转为发送报文状态。CAN芯片将数据根据协议组织成一定的报文格式发出,这时网上的其它站处于接收状态。每个处于接收状态的站对接收到的报文进行检测,判断这些报文是否是发给自己的,以确定是否接收它。
在本发明实施例中,对所述CAN总线报文数据进行预处理的方式包括将获取的CAN总线报文数据按照相同的仲裁ID进行分组排序,划分出多个分组数据;并将每一个分组数据按照到达时间进行升序排序,举个例子,假设获取了N个CAN总线报文数据,每个CAN总线报文数据的到达时间为T1,T2,…TN;每个CAN总线报文数据具有一个仲裁ID(ID1,ID2,…IDN),这些仲裁ID可以相同也可以不相同,将相同仲裁ID的数据划分到一个分组数据中,每一个分组数据中可能包含多个CAN总线报文数据,然后再对每个分组数据中这多个CAN总线报文数据按照每一个CAN总线报文数据的到达时间进行升序排序。
103、计算出每个CAN总线报文数据的比特反转率;
在本发明实施例中,将预处理后的分组数据对数据域进行计算,计算出每一个分组数据中的仲裁ID的载荷变化,获得反转率矩阵,其中反转率矩阵的计算公式表示为:
Bi表示比特位i的反转率即反转率矩阵B的第i个元素;Bi∈B,bi表示在相同仲裁ID情况下当前比特位与前一报文比特位不同的次数,d表示总共收集的报文条数;n表示比特位数量。
104、按照所述比特反转率划分出信号边界;
在本发明实施例中,根据反转率矩阵计算出幅度矩阵,扫描所述幅度矩阵,根据判别条件划分出初步信号边界,即可以根据幅度矩阵中同列的变化情况,划分出可能的信号边界;基于该可能的信号边界获取对应的初步边界矩阵;将所述初步边界矩阵与反转率矩阵和幅度矩阵作为输入,将满足物理值边界条件、CRC校验边界条件和计数器边界条件的仲裁ID输出,每个仲裁ID与信号边界关联,并将信号分类为物理值信号、CRC信号或者计数器信号,最终的信号边界即由物理值信号、CRC信号或者计数器信号不同分类进行区分。
具体的,对于初步边界矩阵,本发明实施例中将每一行表示一条报文,由上向下,当下方行对应矩阵值大于当前行的上一行的该列矩阵值,则初步将该列标记为边界,在计算完成后,可能有多个边界,例如列1,列2,列3则将其合并为[1,2],将仲裁ID作为初步边界矩阵的行元素进行排列,并将这些可能的信号边界元组作为初步边界矩阵的列元素进行排列,其中信号边界元组是在相同仲裁ID情况的报文,得到初步边界矩阵,这里假设最终得到的初步边界表示为{(1,2),(5),(7,19)...}。
幅度矩阵计算公式为:
其中,Mi表示比特位i的反转率所对应的幅度矩阵,即幅度矩阵M的第i个元素;Mi∈M。
基于该初步边界获取对应的初步边界矩阵,将初步获得的边界矩阵与反转率矩阵和幅度矩阵作为输入,判断是否满足CRC校验边界条件和计数器边界条件:
针对连续变换的物理值信号时,由于物理值信号的信号变化会引起相邻最高位的低有效位变化,当发现幅度变化比前者小,就定义为物理值边界;
针对计数器类型信号时,其值是前一报文的递增,计数器能够帮助ECU正确识别重传的总线信号,当最低位为0并且反转率为1,并且幅度矩阵从最高位到最低位呈现翻倍递增,在最低位是1;
CRC类型信号是用来检测随机传输错误的,针对CRC信号的,其特征为包含矩阵所有位大小为0并且反转率按照0.5为中心的正态分布。
最终输出所有存在的仲裁ID的信号边界以及分类列表,也即是如{010,([2,4]:物理值),([32,39]:CRC)}等分类结果。
105、基于所述信号边界构建出边界矩阵,将所述边界矩阵输入到遗传算法模型中产生测试用例;
在本发明实施例中,确定完信号边界后,将满足条件的仲裁ID作为边界矩阵的行元素进行排列,并将信号边界元组作为边界矩阵的列元素进行排列,其中信号边界元组是在相同仲裁ID情况下除去CRC校验边界后的其他报文,最终得到边界矩阵。
在本发明实施例中,可以利用格雷码对每一个CAN总线报文数据进行编码;按照CAN总线报文数据的种类数,确定出初始群体;根据标准偏差和编码后的表现型的平均值确定出变异系数,根据总体标准偏差,确定出适应度值;选择运算使用确定式采样选择,交叉运算使用多点交叉,变异运算使用非均匀变异;根据边界矩阵的范围限定确定出CAN总线报文数据值的取值范围;按照遗传算法的演化流程,更新迭代出测试用例。
在本发明实施例中,对于遗传算法模型中编码过程,本发明利用格雷码对每一个CAN总线报文数据进行编码;
格雷码是二进制编码方法的一种变形,编码精度与相同的二进制编码相同,但比较二进制编码格雷码局部搜索能力更强,变异交叉遗传操作更便于实现等优点,我们使用格雷码。首先对个体进行编码,CAN总线报文数据段有8个字节,共64个二进制位数,其中每一位的取值为0或者1,即可用64位无符号整型形成个体基因型获得二进制编码,再根据边界矩阵将64位长度的二进制编码转换为对应的十进制整数。
二进制编码转换为格雷码的转换公式为:
Gm=Bm
格雷码转二进制的转换公式为:
Bm=Gm
其中对于上述编码过程中的约束条件,本发明只需要对数据段进行编码变异,所以约束条件是只取CAN总线报文数据中的数据段。
对于遗传算法模型中初始群体的产生,群体的规模选择为收集到的报文分类的数量。例如在最终根据仲裁ID分类后收集到n种总线报文,每种总线报文分别表示包含x1,x2,x3..xn个总线报文,那么初始群体数量选择为该类的总和N即N=x1+x2+x3+..+xn。
对于遗传算法模型中适应度函数F的选择,将正常无任何操作情况作为整体,当一条新产生的用例输入到总线中时,收集注入后的总线数据,计算变异系数,变异系数越高,说明该数据对总线影响越大,适应度越高。其中变异系数的计算公式为:
C.V=(SD/Mean)
其中,SD是标准偏差,这里本发明针对总体数据,所以求总体标准偏差,其计算公式为:
其中,N表示CAN总线数据的总体个数;Xi表示第i个CAN总线数据的报文;μ表示总体X的均值,在这里本发明将CAN总线数据设置为8个编码,平均值取编码后的表现型的平均值。Mean表示平均值。
对于遗传算法模型中算子的选择,选择运算使用确定式采样选择,交叉运算使用多点交叉,变异运算使用非均匀变异。
选择运算中首先计算下一代群体中期望的报文数目,计算公式为:
其中,Ni表示期望的第i个CAN总线数据的个体数目;其中M表示群体大小,个体适应度为F。在该步骤后,对所求N下取整确定数目,可以确定下一代群体中的个体数目之后按照排序,顺序取前面个体加入到下一代群体中。
交叉运算中交叉点个数和位置根据边界矩阵进行选择,然后交换所设定的部分。
由于基本位变异作用效果小,不能集中在某一最有希望的重点区域中,因此本发明使用非均匀变异。首先在进行变异操作时,由于边界矩阵的限定,基因值会有一定的取值范围,根据边界矩阵得出该处基因值取值范围为[Uk min,Uk max],新的基因值计算公式:
其中,x'k表示进化后的第k个边界位置;xk表示进化前的第k个边界位置;vk表示第k个边界速度;这里的边界即为步骤104中所得到的信号边界,即采用遗传算法的基因更新方式对步骤104的信号边界进行迭代更新;t表示进化代数,r为[0,1]范围内符合均匀分布的一个随机数,T表示最大进化代数,b是系统参数,决定随机扰动对进化代数t的依赖程度。
在本发明实施例中,采用遗传算法对边界矩阵进行更新迭代,从而能够生成一系列新的CAN总线报文。
106、将所述测试用例输入到CAN总线中对车辆的电子控制单元进行模糊测试。
在本发明实施例中,将遗传算法模型输出的测试用例输入到CAN总线进行测试并发送诊断消息请求检测电子控制单元ECU是否正常;检测过的ECU有4种响应可能性:没有响应,肯定响应,否定响应,异常响应。
图2是本发明实施例中一种针对车载CAN总线模糊测试终端的结构示意图,如图2所示,所述终端包括:
数据采集单元201,用于获取车辆行驶过程中的CAN总线报文数据;
所述数据采集单元201通过接口连接CAN总线,并通过该接口接收车辆行驶过程中的CAN总线报文数据。
数据处理单元202,用于对所述CAN总线报文数据进行预处理;
所述数据处理单元202将获取的CAN总线报文数据按照相同的仲裁ID进行分组排序,划分出多个分组数据;并将每一个分组数据按照到达时间进行升序排序。
数据计算单元203,用于计算出每个CAN总线报文数据的比特反转率;
所述数据计算单元203,计算出每一个分组数据中的仲裁ID的载荷变化,得到反转率矩阵;除此以外,所述数据计算单元203还可以根据反转率矩阵计算出幅度矩阵以及边界矩阵。
数据划分单元204,用于按照所述比特反转率划分出信号边界;
所述数据划分单元204扫描所述幅度矩阵,当后续幅度矩阵大于前续幅度矩阵相同位置,则初步标记边界;基于该初步边界获取对应的初步边界矩阵;将所述初步边界矩阵与反转率矩阵和幅度矩阵作为输入,将满足CRC校验边界条件和计数器边界条件的仲裁ID输出,每个仲裁ID与信号边界关联,并将信号分类为物理值信号、CRC信号或者计数器信号。
用例产生单元205,基于所述信号边界构建出边界矩阵,将所述边界矩阵输入到遗传算法模型中产生测试用例;
所述用例产生单元205在数据划分单元204确定完信号边界后,将满足条件的仲裁ID作为边界矩阵的行元素进行排列,并将信号边界元组作为边界矩阵的列元素进行排列,其中信号边界元组是在相同仲裁ID情况下除去CRC校验边界后的其他报文,最终得到边界矩阵。
所述用例产生单元205还根据遗传算法模型产生对应的测试用例。
用例测试单元206,用于将所述测试用例输入到CAN总线中对车辆的电子控制单元进行模糊测试。
所述用例测试单元206将遗传算法模型输出的测试用例输入到CAN总线进行测试并发送诊断消息请求检测电子控制单元ECU是否正常;检测过的ECU有4种响应可能性:没有响应,肯定响应,否定响应,异常响应。
图3是本发明实施例中一种针对车载CAN总线模糊测试终端的结构示意图,本发明的一种针对车载CAN总线模糊测试方法可以但不限于应用于如图3所示的终端,所述终端例如可以但不限于计算机、服务器、平板电脑、个人数字助理(英文:Personal DigitalAssistant,缩写:PDA)、移动互联网设备(英文:Mobile Internet Device,缩写:MID)等可进行数据处理和数据存储的设备,本发明对此不作任何限制。
如图3所示,所述终端包括一个或多个(图中仅示出一个)处理器510和一个或多个(图中仅示出一个)存储器530,操作系统531和可执行程序532;以及输入输出接口540和内存储器550;这些组件通过一条或多条通讯总线/信号线122相互通讯。
具体的,如图3所示,所述终端包括通过系统总线520连接的处理器510、存储器530、内存储器550及输入输出接口540。其中,所述存储器530存储有操作系统531以及可执行程序532,该可执行程序532用于实现本发明实施例中提供的适用于本发明的针对CAN总线的模糊测试方法。该处理器510用于提供计算和控制能力,支撑整个计算机设备的运行。计算机设备中的内存储器550为存储器530中的操作系统531及可执行程序532的运行提供环境,输入输出接口540用于与外界进行网络或者其他设备通信。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的终端的限定,具体地终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
该处理器510可以是中央处理器(central processing unit,CPU),网络处理器(network processor,NP)或者CPU和NP的组合。
该处理器510还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmablelogic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complexprogrammable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gatearray,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
该存储器530还可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器也可以包括非易失性存储器(non-volatilememory),例如快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器还可以包括上述种类的存储器的组合。
可选地,该存储器还用于存储程序指令。该处理器可以调用该存储器存储的程序指令,实现如本发明第一实施例、第二实施例所示的方法。
该总线可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可以理解的是,图3所示的终端结构仅为示意,所述终端还可以包括比图3所示更多或者更少的组件,或者具有与如图3所示不同的配置,图3中所示的各组件可以采用硬件、软件或者其组合实现。
在上述实施例的基础上,本实施例中各个模块具体包括:
存储器530,用于存储可执行程序532的代码数据;
处理器510,用于调用所述存储器530中的所述可执行程序532,执行的步骤包括:
获取车辆行驶过程中的CAN总线报文数据;对所述CAN总线报文数据进行预处理;计算出每个CAN总线报文数据的比特反转率,按照所述比特反转率划分出信号边界;基于所述信号边界构建出边界矩阵,将所述边界矩阵输入到遗传算法模型中产生测试用例;将所述测试用例输入到CAN总线中对车辆的电子控制单元进行模糊测试。
在一些更为具体的实施例中,所述处理器还可以执行的步骤包括:
将获取的CAN总线报文数据按照相同的仲裁ID进行分组排序,划分出多个分组数据;并将每一个分组数据按照到达时间进行升序排序。
计算出每一个分组数据中的仲裁ID的载荷变化,得到反转率矩阵;根据所述反转率矩阵计算出幅度矩阵;扫描所述幅度矩阵,当后续幅度矩阵大于前续幅度矩阵相同位置,则初步标记边界;基于该初步边界获取对应的初步边界矩阵;将所述初步边界矩阵与反转率矩阵和幅度矩阵作为输入,将满足CRC校验边界条件和计数器边界条件的仲裁ID输出,每个仲裁ID与信号边界关联,并将信号分类为物理值信号、CRC信号或者计数器信号。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的计算机设备、终端和方法,可以通过其它的方式实现。例如,以上所描述的终端实施例仅仅是示意性的,例如,所述单元的划分,仅仅为逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明的另一实施例中提供计算机可读存储介质。该计算机可读存储介质可以为非易失性的计算机可读存储介质。该计算机可读存储介质存储有计算机程序,其中计算机程序被处理器执行时实现本发明实施例公开的一种针对车载CAN总线模糊测试方法。
可以理解的是,本发明中的针对车载CAN总线模糊测试方法及终端以及计算机设备的特征可以相互引用,为了节省篇幅,本发明不再对其一一例举。
有关本发明的前述及其他技术内容、特点及功效,在以下配合参考图式的较佳实施例的详细说明中将可清楚呈现。通过具体实施方式的说明,当可对本发明为达成预定目的所采取的技术手段及功效得以更加深入且具体的了解,然而所附图仅仅是提供参考与说明之用,并非用来对本发明加以限制。
在本发明的描述中,需要理解的是,术语“同轴”、“底部”、“一端”、“顶部”、“中部”、“另一端”、“上”、“一侧”、“顶部”、“内”、“外”、“前部”、“中央”、“两端”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
在本发明中,除非另有明确的规定和限定,术语“安装”、“设置”、“连接”、“固定”、“旋转”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (3)
1.一种针对车载CAN总线模糊测试方法,其特征在于,所述方法包括:
获取车辆行驶过程中的CAN总线报文数据;
对所述CAN总线报文数据进行预处理,将获取的CAN总线报文数据按照相同的仲裁ID进行分组排序,划分出多个分组数据;并将每一个分组数据按照到达时间进行升序排序;
计算出每个CAN总线报文数据的比特反转率,按照所述比特反转率划分出信号边界;计算出每一个分组数据中的仲裁ID的载荷变化,得到反转率矩阵;根据所述反转率矩阵计算出幅度矩阵;扫描所述幅度矩阵,根据幅度矩阵中同列的变化情况,划分出可能的信号边界;基于该可能的信号边界获取对应的初步边界矩阵;将所述初步边界矩阵与反转率矩阵和幅度矩阵作为输入,将满足物理值边界条件、CRC校验边界条件和计数器边界条件的仲裁ID输出,每个仲裁ID与信号边界关联,并将信号分类为物理值信号、CRC信号或者计数器信号;
物理值边界条件、CRC校验边界条件和计数器边界条件的满足条件分别包括当后续幅度矩阵连续大于或者连续小于前续幅度矩阵相同位置,则为物理值边界;当所述幅度矩阵中最低位是0时,或者所述反转率矩阵从最高位到最低位逐渐翻倍,并在最低位是1时为计数器边界;当所述幅度矩阵中所有元素均为0并且所述反转率矩阵满足以0.5为中心的正态分布则为CRC边界;
所述反转率矩阵和所述幅度矩阵分别表示为:
其中,Bi表示比特位i的反转率即反转率矩阵B的第i个元素;Bi∈B,bi表示在相同仲裁ID情况下排序后的分组报文在某一比特位i,当前报文比特位i与前一报文的相同比特位i不同的次数,d表示总共收集的报文条数;n表示比特位数量;Mi表示比特位i的反转率所对应的幅度矩阵,即幅度矩阵M的第i个元素;Mi∈M;
基于所述信号边界构建出边界矩阵,将所述边界矩阵输入到遗传算法模型中产生测试用例;
所述基于所述信号边界构建出边界矩阵包括将满足条件的仲裁ID作为边界矩阵的行元素进行排列,并将信号边界元组作为边界矩阵的列元素进行排列,其中信号边界元组是在相同仲裁ID情况下除去CRC校验边界后的其他报文,最终得到边界矩阵;
所述将所述边界矩阵输入到遗传算法模型中产生测试用例包括利用格雷码对每一个CAN总线报文数据进行编码;按照CAN总线报文数据的种类数,确定出初始群体;根据标准偏差和编码后的表现型的平均值确定出变异系数,根据总体标准偏差,确定出适应度值;选择运算使用确定式采样选择,交叉运算使用多点交叉,变异运算使用非均匀变异;根据边界矩阵的范围限定确定出CAN总线报文数据值的取值范围;按照遗传算法的演化流程,更新迭代出测试用例;
将所述测试用例输入到CAN总线中对车辆的电子控制单元进行模糊测试;
所述将所述测试用例输入到CAN总线中对车辆的电子控制单元进行模糊测试包括将测试用例输入到CAN总线中进行模糊测试并发送诊断消息请求检测电子控制单元是否正常;检测过的电子控制单元有4种响应可能性:没有响应,肯定响应,否定响应,异常响应。
2.一种针对车载CAN总线模糊测试终端,其特征在于,应用于如权利要求1所述的一种针对车载CAN总线模糊测试方法,所述终端包括:
数据采集单元,用于获取车辆行驶过程中的CAN总线报文数据;
数据处理单元,用于对所述CAN总线报文数据进行预处理;
数据计算单元,用于计算出每个CAN总线报文数据的比特反转率;
数据划分单元,用于按照所述比特反转率划分出信号边界;
用例产生单元,基于所述信号边界构建出边界矩阵,将所述边界矩阵输入到遗传算法模型中产生测试用例;
用例测试单元,用于将所述测试用例输入到CAN总线中对车辆的电子控制单元进行模糊测试。
3.一种计算机设备,包括存储器、处理器以及存储在存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1所述的一种针对车载CAN总线模糊测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111195978.4A CN113872985B (zh) | 2021-10-14 | 2021-10-14 | 针对车载can总线模糊测试方法、终端以及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111195978.4A CN113872985B (zh) | 2021-10-14 | 2021-10-14 | 针对车载can总线模糊测试方法、终端以及计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113872985A CN113872985A (zh) | 2021-12-31 |
CN113872985B true CN113872985B (zh) | 2023-07-18 |
Family
ID=78999612
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111195978.4A Active CN113872985B (zh) | 2021-10-14 | 2021-10-14 | 针对车载can总线模糊测试方法、终端以及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113872985B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116841233A (zh) * | 2023-06-30 | 2023-10-03 | 中汽院新能源科技有限公司 | 基于can总线分层控制的整车工作系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109032927A (zh) * | 2018-06-26 | 2018-12-18 | 腾讯科技(深圳)有限公司 | 一种漏洞挖掘方法及装置 |
CN110647752A (zh) * | 2019-09-26 | 2020-01-03 | 信联科技(南京)有限公司 | 一种基于遗传算法的模糊测试平台 |
CN111865743A (zh) * | 2020-07-03 | 2020-10-30 | 深圳开源互联网安全技术有限公司 | 车辆can总线模糊测试方法、系统、电子设备及存储介质 |
CN112532716A (zh) * | 2020-11-25 | 2021-03-19 | 中国人民解放军陆军军事交通学院军事交通运输研究所 | 一种车辆ecu安全测试方法及装置 |
CN113268430A (zh) * | 2021-06-17 | 2021-08-17 | 北京邮电大学 | 一种基于数据分析的can总线模糊测试方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220303305A1 (en) * | 2019-09-27 | 2022-09-22 | The Regents Of The University Of Michigan | Automated can message translator |
-
2021
- 2021-10-14 CN CN202111195978.4A patent/CN113872985B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109032927A (zh) * | 2018-06-26 | 2018-12-18 | 腾讯科技(深圳)有限公司 | 一种漏洞挖掘方法及装置 |
CN110647752A (zh) * | 2019-09-26 | 2020-01-03 | 信联科技(南京)有限公司 | 一种基于遗传算法的模糊测试平台 |
CN111865743A (zh) * | 2020-07-03 | 2020-10-30 | 深圳开源互联网安全技术有限公司 | 车辆can总线模糊测试方法、系统、电子设备及存储介质 |
CN112532716A (zh) * | 2020-11-25 | 2021-03-19 | 中国人民解放军陆军军事交通学院军事交通运输研究所 | 一种车辆ecu安全测试方法及装置 |
CN113268430A (zh) * | 2021-06-17 | 2021-08-17 | 北京邮电大学 | 一种基于数据分析的can总线模糊测试方法 |
Non-Patent Citations (2)
Title |
---|
Performance Analysis of GA and PBIL Variants for Real-World Location-Allocation Problems;Reginald Ankrah;《IEEEXplore》;全文 * |
基于车载CAN总线的安全通信机制研究;郭志刚;潘俊家;韩光省;郝晶晶;牛宏宇;;中国汽车(第07期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113872985A (zh) | 2021-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Akhtar et al. | On DNA numerical representations for period-3 based exon prediction | |
CN113593631A (zh) | 一种预测蛋白质-多肽结合位点的方法及系统 | |
CN113872985B (zh) | 针对车载can总线模糊测试方法、终端以及计算机设备 | |
CN110458187A (zh) | 一种恶意代码家族聚类方法和系统 | |
CN109656878B (zh) | 健康档案数据生成方法及装置 | |
CN111967573A (zh) | 数据处理方法、装置、设备及计算机可读存储介质 | |
CN116386899A (zh) | 基于图学习的药物疾病关联关系预测方法及相关设备 | |
CN114157469B (zh) | 基于域对抗神经网络的车载网络变种攻击入侵检测方法 | |
CN112037174B (zh) | 染色体异常检测方法、装置、设备及计算机可读存储介质 | |
CN116805514B (zh) | 一种基于深度学习的dna序列功能预测方法 | |
CN112528554A (zh) | 一种适于多发多源火箭试验数据的数据融合方法及系统 | |
CN115934484B (zh) | 基于扩散模型数据增强的异常检测方法、存储介质及设备 | |
CN117194219A (zh) | 模糊测试用例生成与选择方法、装置、设备及介质 | |
CN116453585A (zh) | mRNA和药物关联的预测方法、装置、终端设备及介质 | |
CN114253779A (zh) | Can总线数据的异常检测方法、装置及设备 | |
CN115643104A (zh) | 一种基于深度监督离散哈希的网络入侵检测方法 | |
CN114819181A (zh) | 基于改进nsga-iii的多目标联邦学习进化方法 | |
CN114093427A (zh) | 一种基于深度学习和机器学习的抗病毒肽预测方法 | |
CN108846543B (zh) | 一种非重叠社区集合质量度量指标的计算方法及装置 | |
CN111026608A (zh) | 一种Oracle数据库性能诊断方法及其系统、设备、介质 | |
Hu et al. | Vehicular-Network-Intrusion Detection Based on a Mosaic-Coded Convolutional Neural Network | |
CN111199777A (zh) | 面向生物大数据的流式传输与变异实时挖掘系统及方法 | |
Shaukat et al. | Comparative study of encoded and alignment-based methods for virus taxonomy classification | |
CN117592555B (zh) | 一种面向多源异构医疗数据的联邦学习方法及系统 | |
CN117496279B (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 |