现代汽车集成了上百个电子控制单元(electronic control unit,ECU),主要通过控制器局域网(controller area network,CAN)总线进行连接[1].车内CAN总线设计时充分考虑了汽车通信实时性较高、抗干扰的性能需求,成为当前事实上的车内总线标准[2],但是认证、加密、完整性校验等安全机制的缺乏为现代汽车引入了重大安全隐患.针对车内CAN总线的安全问题,研究人员开展了大量的研究工作.文献[3-6]从汽车的多个入口入侵车内CAN总线,最终控制汽车相应功能,证明了恶意攻击者可以通过车内CAN总线控制车辆,但是针对车内CAN总线的攻击案例严重依赖具体的车辆型号,缺乏普适性.文献[7-10]实现了具备车内CAN总线数据帧捕获和数据帧注入等基本功能的硬件设备及相应软件,虽然并未进一步对车内CAN总线进行安全评估,但是为研究车内CAN总线安全评估奠定了工具基础.文献[11]提出了一种车内CAN总线安全分析框架,但是评估框架欠缺细粒度,无法对车内CAN总线进行精细化安全评估.本研究在分析CAN总线安全性的基础上提出了一种车内CAN总线安全评估机制,在缺乏车辆信息的条件下对车内CAN总线的安全性进行评估.在分析车内CAN总线安全性的基础上,将汽车攻击行为分为重放攻击、拒绝服务(denial of service,DoS)攻击、伪造攻击和模糊测试攻击.基于数据域特征的车内CAN总线逆向分析技术弥补了基于CAN ID频率的逆向技术无法分析周期性数据帧的不足,可以逆向非周期性数据帧而且可以逆向周期性数据帧,从而获取车辆控制指令.实验结果表明:该安全评估机制成功发现了远光灯、转向灯、中控锁、车窗、仪表盘显示等多项功能面临控制指令泄露、指令重放等安全风险,相比于已有的安全评估机制,覆盖面更广、效率更高.1 CAN总线安全性分析依据仲裁字段CAN ID的长度,CAN总线数据帧分为标准帧和扩展帧[12].标准数据帧主要由7个字段组成:数据帧起始字段(SOF),通知每个接收器数据传输开始;仲裁字段,防止数据帧在传输过程中产生冲突;数据域,传输最多8 B的数据;循环冗余码,用于标识数据帧是否正常发送到接收器,若接收器正常接收到数据帧则会激活会激活确认标志位(Acknowledge,ACK)位;数据帧结束位,表示数据帧的传输过程已结束;控制域,解决总线数据竞争;数据长度字段(DLC),定义了数据域的长度.CAN总线缺乏基本的安全机制[13],其脆弱性表现在如下六个方面.a.缺乏身份认证.CAN总线数据帧无地址字段.任意节点都可以伪装成恶意节点发送报文,接收节点无法识别发送方是否是真实的节点.b.缺乏加密机制.基于数据传输的实时性考虑,CAN总线协议未采用加密机制对总线上传输的数据进行加密保护,攻击者可以监听总线数据获取传输内容,造成隐私泄露.c.缺乏完整性校验.CAN数据帧接收者并未检查数据的完整性,攻击者可以恶意篡改传输数据.d.广播传输机制.CAN数据帧以广播形式发送至CAN总线上,总线上的任意节点都会接收到广播数据,这意味着恶意节点可以监听到所有的总线传输数据.e.基于ID的仲裁机制.CAN ID决定了CAN数据帧的传输优先级.数据帧CAN ID越小,其在总线上传输的优先级越高.恶意攻击者可以利用该机制,构造较高优先级的数据帧不断发送到总线上,造成DoS服务攻击.f.带宽有限.高速CAN总线的数据传输速率仅为500 kbit/s,数据载荷长度最高只有64 bit[13],限制了CAN总线协议提供较强的访问控制功能,为攻击者攻击ECU降低了难度.2 CAN总线安全评估机制2.1 非逆向安全评估非逆向安全评估不依赖汽车制造商的具体信息,模拟汽车攻击中的四种基本攻击方式对待评估车辆进行模拟攻击,以评估其是否可以抵御相应的攻击行为.评估向量如下.a.数据重放.数据重放评估基于CAN总线数据帧重放攻击,截取汽车相应功能对应的CAN总线数据帧,将其原封不动地发回车内CAN总线上.若汽车重现了特定的行为,则面临重放攻击带来的安全威胁.b.总线DoS.总线DoS评估基于CAN总线仲裁机制,以较高的频率向车内CAN总线注入大量高优先级的数据帧,阻止其他数据帧的正常传输.若汽车出现了功能无法使用的异常现象,则面临DoS攻击带来的安全威胁.c.数据伪造.数据伪造评估基于特定的CAN ID向车内CAN总线注入精心构造的数据帧,实施特定的汽车功能控制.若汽车表现出了预期的行为,则面临数据伪造带来的安全威胁.d.模糊测试.模糊测试截取车内CAN总线合法数据帧,通过丰富的变异策略对合法数据帧进行变异生成大量的测试数据帧并注入到CAN总线.若车辆出现异常行为,则存在潜在的安全漏洞.非逆向安全评估流程如图1(a)所示,OBD为连接诊断接口,不同评估向量的注入数据帧构造方式不同.数据重放将监听到的数据帧注入到车内CAN总线;总线DoS从监听到的数据帧中选取优先级较高的CAN ID,构造大量数据帧,按照总线传输速率注入到车内CAN总线;模糊测试将监听到的总线数据帧变异之后注入到车内CAN总线中;数据伪造基于监听到的数据精心构造特定数据帧注入到车内CAN总线.10.13245/j.hust.220101.F001图1安全评估流程2.2 逆向安全评估车内CAN总线数据帧分为周期性数据帧与非周期性数据帧.当汽车触发特定动作时,非周期性数据帧相应CAN ID频率会出现显著变化,而周期性数据帧周期性出现在CAN总线上,即使当汽车触发特定动作时,总线上的数据帧CAN ID频率也不会出现显著变化.基于CAN ID频率的逆向技术仅适用于常见低速车内CAN总线的非周期数据帧,且仅能分析出数据帧CAN ID与控制指令的对应关系,无法分析出CAN总线数据帧数据域与控制指令之间的映射细节.基于数据域特征的逆向技术,利用CAN数据帧数据域8 B的特征进行逆向分析.如图1(b)所示,通过统计一定数量数据帧中数据域各字节的变化来分析数据域与控制指令的映射关系.对于单一状态转换的控制指令,例如转向灯、中控锁、远光灯等,其CAN总线数据帧数据域的有效比特较少.对于车速等连续变化的控制指令,其CAN总线数据帧数据域的有效比特较多,通过多个比特控制连续变化的行车参数.基于此,可以统计CAN总线数据域的字节变化来逆向CAN总线数据帧.3 实验数据及分析实验采用的CAN总线控制器为创芯科技CANalyst-II分析仪,车辆为福特某型号车辆.3.1 非逆向安全评估3.1.1 数据重放评估实验截取转向灯动作前后的2 000条CAN数据帧,将其重放到车内CAN总线.图2为低速CAN总线与高速CAN总线上转向灯动作的数据重放评估结果.结果显示:低速CAN总线出现了仪表盘转向灯闪烁并伴随转向灯物理开启现象,高速CAN总线则未出现此现象,表明控制转向灯的ECU连接在低速CAN总线.10.13245/j.hust.220101.F002图2转向灯动作的数据重放评估结果同理,如图3所示,远光灯、油门及中控锁的仪表盘状态显示均连接在低速CAN总线.在数据重放评估中,远光灯和油门的状态显示均出现在仪表盘,但是远光灯并未物理开启、油门并无物理变化,中控锁物理解锁.尽管远光灯与油门无物理变化,但是仪表盘状态显示紊乱同样会对驾驶员造成干扰,威胁行车安全,存在一定的安全隐患.10.13245/j.hust.220101.F003图3低速CAN总线重放评估结果3.1.2 模糊测试评估图4和5为CAN总线和仪表盘模糊测试结果,低速CAN仪表盘上的转向灯、远光灯、安全气囊和空调系统的指示灯都处于异常状态,如图5(a)所示.中控锁开启,如图4(b)所示.副驾驶的车窗开启,如图4(a)所示.在高速CAN总线上进行模糊测试,可观察到仪表盘中的发动机转速和车速的指针发生明显偏转,如图5(b)所示,车辆处于抖动状态,引擎的轰鸣声明显变大.实验结果表明:模糊测试无论在低速CAN 总线还是高速 CAN 总线都可以直接造成汽车行为的变化,威胁行车安全.10.13245/j.hust.220101.F004图4低速CAN总线模糊测试结果10.13245/j.hust.220101.F005图5仪表盘模糊测试结果3.1.3 总线DoS评估图6(a)为总线DoS评估结果.高速CAN总线传输速率500 kbit/s,数据域长度为8 B,标准数据帧长度为108 bit,CAN总线最大传输速率为4 630标准数据帧/s.总线DoS评估中,数据帧注入时间间隔为0.22 ms.总线DoS评估结果表明:仪表盘与汽车无任何异常现象,该车可以有效抵御DoS攻击.10.13245/j.hust.220101.F006图6仪表盘状态3.1.4 数据伪造评估图6(b)为数据伪造评估结果.基于CAN ID频率的逆向技术可知,CAN ID为0×201的数据帧可以控制汽车仪表盘上的发动机转速指针与车速指针.本实验将该CAN ID数据帧的数据域均置1,并将构造的数据帧注入到车内CAN总线中.结果显示:在驻车状态下发动机转速指针与车速指针会先转动到最大值,继而一直处于摆动状态,最后回归到初始零状态.数据伪造攻击对仪表盘的状态显示产生了明显干扰,车内CAN总线上CAN ID为0×201的合法数据帧与注入的伪造数据帧产生了冲突,导致仪表盘指针来回摆动.该车并没有相应的冲突解决方案,存在一定的安全隐患.3.2 逆向安全评估3.2.1 低速CAN总线逆向安全评估图7为低速CAN总线数据域特征,图中n为CAN ID,n=1,2,…,26分别代表0×201,0×210,0×225,0×23,0×235,0×245,0×255,0×265,0×275,0×285,0×420,0×428,0×433,0×460,0×4d7,0×4da,0×4f1,0×4f2,0×4f3,0×501,0×504,0×505,0×506,0×507,0×511,0×80;N为数据域特征变化次数.在不对汽车执行任何操作的初始状态下采集5 000个CAN总线数据帧作为参照,如图7(a)所示,当触发汽车转向灯和车窗动作时采集5 000个CAN总线数据帧作为分析对象.10.13245/j.hust.220101.F007图7低速CAN总线数据域特征转向灯等单一状态转换的汽车动作极有可能是数据域中的单字节乃至单比特进行控制.其反映在数据域特征中便是数据域8 B中的某个字节出现变化.图7(b)中的转向灯数据域特征即表明CAN ID为0×265的数据帧是潜在的转向灯控制数据帧,具体是由数据域的第1 B进行控制.结合采集到的数据,其控制指令如表1所示.10.13245/j.hust.220101.T001表1低速CAN总线控制指令数据域控制指令CAN ID1 B2 B3 B4 B左转向灯右转向灯0×2650×2650×200×400×000×000×000×000×000×00右前窗上升0×2250×000×040×040×00右前窗上升0×2250×000×040×060×00右前窗下降0×2250×000×040×020×00右前窗下降0×2250×000×040×080×00左后窗上升0×2250×000×040×000×02左后窗上升0×2250×000×040×000×06左后窗下降0×2250×000×040×000×04左后窗下降0×2250×000×040×000×08右后窗上升0×2250×000×040×000×20右后窗上升0×2250×000×040×000×60右后窗下降0×2250×000×040×000×40右后窗下降0×2250×000×040×000×80左右后窗同时上升0×2250×000×040×000×22/0×44中控锁0×2350×080×4b0×000×00远光灯0×4430×000×000×b60×45将潜在控制指令注入到车内CAN总线,出现相应的转向灯动作,如图8所示,确认潜在的转向灯指令为实际控制指令.10.13245/j.hust.220101.F008图8转向灯控制指令注入同理,车窗控制数据帧CAN ID为0×225,由前4 B进行控制,如图7(c)所示.中控锁、车窗和远光灯的具体控制指令如表1所示,表中未列出数据域8 B中的后4 B全部为零值.该型号车辆的低速CAN总线控制指令破解较为容易,存在一定的安全风险.3.2.2 高速CAN总线逆向安全评估图9(a)为无任何汽车动作的初始状态下采集 5 000个数据帧获取的高速CAN总线数据域特征.图中m=1,2,…,26代表0×190,0×200,0×201,0×205,0×20f,0×211,0×212,0×231,0×240,0×275,0×280,0×420,0×424,0×428,0×430,0×433,0×460,0×4b0,0×4f0,0×4f1,0×4f2,0×4f3;图9(b)为刹车动作数据域特征,刹车动作优先级较高、动作单一,反映在数据域特征上为变化的字节较少,CAN ID较小,则潜在的刹车指令CAN ID为0×190,潜在的控制字节为第3,7,8 B.构造相应CAN ID的数据帧注入到CAN 总线,并未发现车辆存在物理异常现象.车辆的高速CAN总线控制指令破解较难,具备一定的安全性.10.13245/j.hust.220101.F009图9高速CAN总线数据域特征4 结语为了评估车内CAN总线的安全性,提出一种CAN总线安全评估机制,该机制通过基于四种基本评估向量的非逆向评估及基于数据域特征的逆向评估对车内CAN总线进行安全评估.福特某型号车辆的实验结果表明:在非逆向安全评估中,该型号福特汽车可以抵御DoS攻击,而在数据重放评估中面临转向灯、中控锁、油门及中控锁等控制指令被重放的安全威胁.在数据伪造评估中,发动机转速与车速的仪表盘显示均出现紊乱.在模糊测试评估中,仪表盘显示出现异常,车窗出现升降,中控锁物理开启,均面临一定的安全风险.在逆向安全评估中该型号车辆低速CAN总线上的转向灯、车窗、中控锁的控制指令遭到泄露,高速CAN总线安全性较高,并无控制指令泄露.相比于已有的车内CAN总线安全评估机制,提出的安全评估机制覆盖面更广、效率更高.

使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,

确定继续浏览么?

复制成功,请在其他浏览器进行阅读