论文部分内容阅读
由于汽车对外通信接口的增多,汽车内部CAN总线网络的通信安全不断受到威胁。模糊测试技术可作为一种CAN总线通信的安全测试方法,通过向车内CAN通信网络发送随机或经过变异的非预期报文数据,来监视网络的异常状态并发现网络安全漏洞。目前对于汽车CAN总线模糊测试技术的研究较少,测试用例的生成方式大都采用随机生成的方法,而没有考虑到CAN总线的应用层协议格式,降低了CAN总线报文的通过率,影响了模糊测试的效率。为解决上述问题,本文在分析汽车CAN总线应用层协议的基础上,提出了基于报文位翻转率特征和条件随机场的CAN总线协议字段划分算法,并提出了基于字段权重和改进Wasserstein生成对抗网络的CAN总线模糊测试方法。首先,根据汽车网联化、智能化的发展趋势,分析了网联汽车面临的信息安全威胁及攻击途径;研究了车内CAN通信网络架构及汽车CAN总线应用层协议;对CAN总线通信进行了脆弱性分析,并总结了CAN总线的相关安全防护措施。其次,为提取CAN总线应用层协议字段格式,在分析汽车CAN总线报文数据场不同字段类型的基础上,提出了一种基于报文位翻转率特征的字段划分算法。根据报文位翻转率特征,确定字段的类型以及边界;针对基于SAE J1939的商用车CAN总线应用层协议,提出了一种基于条件随机场的字段划分算法。将SAE J1939协议作为一种先验知识,并利用位翻转率特征建立条件随机场模型,对字段进行划分;为解析信号字段所表示的汽车运行状态,给出了OBD诊断报文数据与信号字段数据相关性分析的方法;分别利用在线公开的报文数据集、仿真报文数据集、真实汽车报文数据集验证了上述算法的有效性。然后,为提高CAN总线模糊测试效率,在对CAN总线报文进行协议逆向分析的基础上,提出了一种基于字段权重的模糊测试方法。通过计算每个字段的平均位翻转率确定字段权重,并根据权重对字段进行变异生成模糊测试用例;为使CAN总线模糊测试具有普适性,避免对CAN总线应用层协议进行逆向分析,提出了一种基于改进Wasserstein生成对抗网络的CAN总线模糊测试方法。利用CAN总线报文数据集训练改进Wasserstein生成对抗网络,并生成和原有报文协议结构相近的测试用例;基于真实汽车对上述模糊测试方法进行了验证,并成功发现了汽车CAN总线的安全漏洞。最后,为说明模糊测试技术可对其他CAN总线防护措施进行安全测试的应用,分析了几种常见汽车CAN总线攻击方式,对基于机器学习的汽车CAN总线入侵检测算法进行了安全性分析。研究了K近邻和Ada Boost两种用于入侵检测的机器学习算法,基于Matlab编程实现了上述两种基于机器学习的入侵检测算法,并利用模糊测试技术对入侵检测算法进行了评估。