一种汽车CAN总线信息安全测试方法转让专利

申请号 : CN201911320809.1

文献号 : CN111061250B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杜志彬贾先锋马超刘天宇霍全瑞国建胜

申请人 : 中国汽车技术研究中心有限公司

摘要 :

本发明提供了一种汽车CAN总线信息安全测试方法,识别汽车CAN总线管脚;识别汽车CAN总线波特率;读取汽车CAN总线数据;生成汽车CAN总线安全测试数据,分析CAN总线数据,针对每一路的CAN总线数据生产特定的测试数据包;发送CAN总线安全数据,观察汽车状态,判断汽车是否存在安全问题;对测试得到的漏洞进行分析,输出漏洞分析报告,并给出修复建议。本发明有益效果:可以实现总线双向数据传输,实时监测总线故障,且能保证总线不丢帧、总线数据稳定接收;可在车辆未上市前测试分析CAN总线安全漏洞,并给出修复建议,为CAN总线的信息安全测试提供了很好的指导作用。

权利要求 :

1.一种汽车CAN总线信息安全测试方法,其特征在于,包括以下步骤:A.识别汽车CAN总线管脚;

B.识别汽车CAN总线波特率;

C.读取汽车CAN总线数据;

D.生成汽车CAN总线安全测试数据,分析步骤C采集到的CAN总线数据,针对每一路的CAN总线数据生产特定的测试数据包;

E.发送CAN总线安全数据,观察汽车状态,判断汽车是否存在安全问题;

F.对测试得到的漏洞进行数据报文的逆向分析,解析出通讯信号含义,输出漏洞分析报告,并给出修复建议。

2.根据权利要求1所述的一种汽车CAN总线信息安全测试方法,其特征在于,所述步骤A的具体步骤如下:

A1.使测试车辆熄火5分钟;

A2.利用万用表逐个测量汽车OBD(On‑Board Diagnostics,车载自动诊断系统)接口的

16个针脚中的两个针脚间的电阻值,若显示为60Ω左右,则这两个针脚为汽车的一路CAN总线,按此操作找出汽车所有的CAN总线;

A3.用示波器分别测量对应CAN总线的一对针脚的电压差,找出所有的CANH和CANL。

3.根据权利要求1所述的一种汽车CAN总线信息安全测试方法,其特征在于:所述步骤B中,测试人员将CAN总线测试设备连接汽车OBD接口,选择自动识别波特率的模式,则可正确识别出每一路总线的波特率;若无法识别,则将常用波特率遍历,直到设备能采集到整车报文,此时说明该波特率正确。

4.根据权利要求1所述的一种汽车CAN总线信息安全测试方法,其特征在于:所述步骤C中利用总线数据分析设备分别采集整车所有的高中低速CAN报文,对每一路的CAN总线数据进行单独保存。

5.根据权利要求1所述的一种汽车CAN总线信息安全测试方法,其特征在于:所述步骤D中利用暴力破解算法遍历高低速CAN所有0x00‑0x7FF范围内的ID,对测试车辆进行暴力破解测试;

利用二分法对每个有效ID的8个字节的数据进行定位,逆向得出车辆动作的控制指令,破解出车辆动作的ID及对应字节;

利用拒绝服务算法对高低速CAN发送优先级高的报文数据包,来对车辆总线进行拒绝服务测试;

对OBD接口的6,14针脚发送诊断服务扫描算法的数据包,针对扫描出的服务编写子服务爆破算法,来测试ECU安全访问算法加密程度。

6.根据权利要求1所述的一种汽车CAN总线信息安全测试方法,其特征在于:所述步骤E中将应用数据包通过OBD发送到整车,观察汽车是否存在负载率过高总线关闭、影响汽车动力系统和影响舒适娱乐系统的问题;

将诊断数据包通过OBD发送到整车,采集整车应答报文,分析车辆是否存在安全访问27服务缺失、安全访问算法太弱和烧写未添加指纹验证的漏洞,并观察汽车是否存在被篡改标定、恶意烧写、控制动作的问题。

说明书 :

一种汽车CAN总线信息安全测试方法

技术领域

[0001] 本发明属于汽车安全领域,尤其是涉及一种汽车CAN总线信息安全测试方法。

背景技术

[0002] 随着智能网联汽车技术的快速发展,汽车信息安全问题日益凸显。如何有效规避汽车信息安全问题,需要加强对汽车的信息安全测试,及时发现存在的安全问题,并进行修
复。然而针对智能网联汽车CAN总线信息安全,还未形成成熟的汽车信息安全测试方法、测
试工具和测试体系。

发明内容

[0003] 有鉴于此,本发明旨在提出一种汽车CAN总线信息安全测试方法,以解决上述问题的不足之处。
[0004] 为达到上述目的,本发明的技术方案是这样实现的:
[0005] 一种汽车CAN总线信息安全测试方法,包括以下步骤:
[0006] A.识别汽车CAN总线管脚;
[0007] B.识别汽车CAN总线波特率;
[0008] C.读取汽车CAN总线数据;
[0009] D.生成汽车CAN总线安全测试数据,分析步骤C采集到的CAN总线数据,针对每一路的CAN总线数据生产特定的测试数据包;
[0010] E.发送CAN总线安全数据,观察汽车状态,判断汽车是否存在安全问题;
[0011] F.对测试得到的漏洞进行数据报文的逆向分析,解析出通讯信号含义,输出漏洞分析报告,并给出修复建议。
[0012] 进一步的,所述步骤A的具体步骤如下:
[0013] A1.使测试车辆熄火5分钟;
[0014] A2.利用万用表逐个测量汽车OBD(On‑Board Diagnostics,车载自动诊断系统)接口的16个针脚中的两个针脚间的电阻值,若显示为60Ω左右,则这两个针脚为汽车的一路
CAN总线,按此操作找出汽车所有的CAN总线;
[0015] A3.用示波器分别测量对应CAN总线的一对针脚的电压差,找出所有的CANH和CANL。
[0016] 进一步的,所述步骤B中,测试人员将CAN总线测试设备连接汽车OBD接口,选择自动识别波特率的模式,则可正确识别出每一路总线的波特率;若无法识别,则将常用波特率
遍历,直到设备能采集到整车报文,此时说明该波特率正确。
[0017] 进一步的,所述步骤C中利用总线数据分析设备分别采集整车所有的高中低速CAN报文,对每一路的CAN总线数据进行单独保存。
[0018] 进一步的,所述步骤D中利用暴力破解算法遍历高低速CAN所有0x00‑0x7FF范围内的ID,对测试车辆进行暴力破解测试;
[0019] 利用二分法对每个有效ID的8个字节的数据进行定位,逆向得出车辆动作的控制指令,破解出车辆动作的ID及对应字节;
[0020] 利用拒绝服务算法对高低速CAN发送优先级高的报文数据包,来对车辆总线进行拒绝服务测试;
[0021] 对OBD接口的6,14针脚发送诊断服务扫描算法的数据包,针对扫描出的服务编写子服务爆破算法,来测试ECU安全访问算法加密程度。
[0022] 进一步的,所述步骤E中将应用数据包通过OBD发送到整车,观察汽车是否存在负载率过高总线关闭、影响汽车动力系统和影响舒适娱乐系统的问题;
[0023] 将诊断数据包通过OBD发送到整车,采集整车应答报文,分析车辆是否存在安全访问27服务缺失、安全访问算法太弱和烧写未添加指纹验证的漏洞,并观察汽车是否存在被
篡改标定、恶意烧写、控制动作的问题。
[0024] 相对于现有技术,本发明所述的汽车CAN总线信息安全测试方法具有以下优势:
[0025] 本发明所述的汽车CAN总线信息安全测试方法可以实现总线双向数据传输,实时监测总线故障,且能保证总线不丢帧、总线数据稳定接收;可在车辆未上市前测试分析CAN
总线安全漏洞,并给出修复建议,为CAN总线的信息安全测试提供了很好的指导作用;该方
法能够有效弥补这一领域的技术空白,推动汽车CAN总线信息安全测试水平的提升。

附图说明

[0026] 构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0027] 图1为本发明实施例所述的汽车CAN总线信息安全测试方法流程图;
[0028] 图2为本发明实施例的测试结构框图。

具体实施方式

[0029] 需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
[0030] 下面将参考附图并结合实施例来详细说明本发明。
[0031] 如图1所示,一种汽车CAN总线信息安全测试方法,包括以下步骤:
[0032] A.识别汽车CAN总线管脚;
[0033] B.识别汽车CAN总线波特率;
[0034] C.读取汽车CAN总线数据;
[0035] D.生成汽车CAN总线安全测试数据,分析步骤C采集到的CAN总线数据,针对每一路的CAN总线数据生产特定的测试数据包;
[0036] E.发送CAN总线安全数据,观察汽车状态,判断汽车是否存在安全问题;
[0037] F.对测试得到的漏洞进行数据报文的逆向分析,解析出通讯信号含义,输出漏洞分析报告,并给出修复建议。
[0038] 进一步的,所述步骤A的具体步骤如下:
[0039] A1.使测试车辆熄火5分钟;
[0040] A2.利用万用表逐个测量汽车OBD(On‑Board Diagnostics,车载自动诊断系统)接口的16个针脚中的两个针脚间的电阻值,若显示为60Ω左右,则这两个针脚为汽车的一路
CAN总线,按此操作找出汽车所有的CAN总线;
[0041] A3.用示波器分别测量对应CAN总线的一对针脚的电压差,找出所有的CANH和CANL。
[0042] 进一步的,所述步骤B中,测试人员将CAN总线测试设备连接汽车OBD接口,选择自动识别波特率的模式,则可正确识别出每一路总线的波特率;若无法识别,则将常用波特率
遍历,直到设备能采集到整车报文,此时说明该波特率正确,汽车通讯常用的波特率为
1Mbps、500kbps、250kbps、125kbps、100kbps、33.33kbps。
[0043] 进一步的,所述步骤C中利用总线数据分析设备分别采集整车所有的高中低速CAN报文,对每一路的CAN总线数据进行单独保存。
[0044] 进一步的,所述步骤D中利用暴力破解算法遍历高低速CAN所有0x00‑0x7FF范围内的ID,对测试车辆进行暴力破解测试;
[0045] 利用二分法对每个有效ID的8个字节的数据进行定位,逆向得出车辆动作的控制指令,破解出车辆动作的ID及对应字节;
[0046] 利用拒绝服务算法对高低速CAN发送优先级高(ID报文值越小,则优先级越高)的报文数据包,来对车辆总线进行拒绝服务测试;
[0047] 对OBD接口的6,14针脚发送诊断服务扫描算法的数据包,针对扫描出的服务编写子服务爆破算法,来测试ECU安全访问算法加密程度。按照国家标准,一般汽车诊断服务通
讯都在6和14引脚上,因此,这里使用的是OBD接口的6,14针脚。
[0048] 进一步的,所述步骤E中将应用数据包通过OBD发送到整车,观察汽车是否存在负载率过高总线关闭、影响汽车动力系统和影响舒适娱乐系统的问题;
[0049] 将诊断数据包通过OBD发送到整车,采集整车应答报文,分析车辆是否存在安全访问27服务缺失、安全访问算法太弱和烧写未添加指纹验证的漏洞,并观察汽车是否存在被
篡改标定、恶意烧写、控制动作的问题。
[0050] 如图2所示,本实施例的测试结构为:信息安全测试车辆内设置OBD接口,所述OBD接口依次连接总线数据分析设备、USB接口和测试电脑,其中,所述总线数据分析设备包括
依次连接的CAN收发器、CAN控制器和单片机,所述CAN收发器与OBD接口连接,所述单片机与
通过USB接口与测试电脑连接。
[0051] 这里单片机为USB闪存单片机,CAN控制器型号为MCP2515,CAN收发器型号为MCP2561,CAN总线接口采用DB9公头接口,支持CAN2.0A和CAN2.0B协议,符合ISO/DIS11898
规范。
[0052] 当设备接入车辆总线且工作正常时,设置好波特率后即可立即在测试电脑上接收总线上的CAN报文。同理当设备与被测总线建立连接后,可使用发送界面往被测总线上发送
模糊测试算法、拒绝服务算法、二分法等不同算法的数据。收发数据支持任何CAN2.0A/B格
式标准。
[0053] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。