APP下载

智能网联汽车CAN 总线信息安全与检测技术

2021-06-16张吉宇

电子制作 2021年6期
关键词:报文攻击者总线

张吉宇

(柳州汽车检测有限公司,广西柳州,545000)

0 引言

随着计算机和网络技术的发展,汽车已经不再是传统意义上的交通工具,汽车技术正在逐步向着智能化和网联化的方向发展,汽车、驾驶员以及外界环境等元素已经结合成有机的整体,智能网联技术已经成为汽车技术发展的一个重要方向[1]。智能网联汽车可以实现复杂环境感知、智能化决策、安全辅助驾驶等功能,极大优化了汽车的驾驶舒适度以及安全性,车载网络智能系统已经基本实现了对汽车的智能化控制,例如远程控制汽车空调预热、移动设备对汽车的精确定位等等[2]。但是需要完全实现自动化驾驶还有很长的路要走。

1 车载CAN 总线概述

■1.1 智能网联汽车简介

为了便于理解可以将智能网联汽车类比成一个人,智能网联汽车中的信息终端和传感系统就如同人体的眼睛和耳朵,用于采集外界环境的各种信息数据,这些信息终端大致包括雷达、摄像头、V2X 通信、GPS 定位等等。网联汽车的中央决策系统就如同人体的大脑,将信息终端采集的信息数据上传到中央决策系统进行数据分析再下达具体指令给执行器。网联汽车的执行器就如同人体的手足,执行机构就是执行各种动作的具体结构,例如刹车和油门、各种主动安全性系统、自动变速器、电动转向系统等等。网联汽车借助车联网和通信技术实现汽车运行信息的传递和交换。

汽车的网联化发展也导致汽车的电路结构变得更加复杂,而且ECU 的安装数量也显著增多,研究人员为了防止汽车出现电路故障时检修流程太过繁琐,所以车内ECU 的信息交互都是依赖车载CAN 总线实现的,而CAN 总线的信息安全一直是令人担忧的问题,攻击者可以通过多种方式入侵CAN 总线。所以智能网联汽车的驾驶安全性直接受到CAN 总线信息安全的影响。

■1.2 车载CAN 总线结构与特点

如图1 所示是CAN 总线物理结构,在CAN 总线上设置有若干个ECU 连接节点,每个节点都需要连接CAN 控制器和收发器。CAN 收发器具有双向传递数据的能力,通过接收由ECU 传递过来的数据信号并且进行数字化处理,再传递给CAN 控制器,CAN 控制器再将相应指令传递到电子器件执行相应动作。CAN 总线具有布置简单、工作可靠等优点,所以成为绝大多数现代汽车采用的底层构架通讯总线,CAN 总线具有以下特点:结构简单开发成本低廉,ECU 连接节点都是采用单片机开发工具;基本满足汽车总体数据传递距离需求,最长传递距离可以达到10Km;具有优良的数据传输速率,即使数据传递距离到达400m 最高传输速率也能达到1000Kpbs;智能化的数据节点处理能力,在同一条CAN 总线的ECU 节点设置不同的优先级,在所有节点同时传输数据时,优先级高的节点不受阻碍而优先级低的节点暂停发送数据;先进的故障自我处理和检测能力,在传输的数据出现明显错误时可以自我纠正并重新传输数据,当某些ECU 节点出现不可修复故障时会自动关闭该节点,确保CAN 总线正常的数据传递工作。

图1 CAN 总线物理结构

■1.3 车载CAN 总线存在安全问题

CAN 总线存在的安全问题可以分为两大类:第一类是CAN 总线的内部安全漏洞,第二类是CAN 总线的外部威胁。首先分析内部安全漏洞,在CAN 总线的设计之初只考虑到运用该项技术优化汽车的驾驶舒适性,完全没有考虑到可以与互联网技术有机的结合在一起。随着与外界接入端口的增加,越来越多地暴露出CAN 总线存在的结构以及通讯机制上存在的安全漏洞,下面具体总结存在哪些内部安全漏洞,首先没有完备的安全防护以及认证机制,安全防护以及安全认证机制是CAN 总线的第一道防御措施,如果没有完善的安全防护机制那么攻击者可以随意连接CAN 总线上的任意节点,实现对汽车所有电控系统的恶意控制,安全认证机制是针对于CAN 总线上的数据传递安全的,攻击者恶意伪造指令而CAN 总线无法正确识别也对汽车的驾驶安全造成严重威胁;其次没有安全隔离区域以及数据加密机制,安全隔离区域可以对关键性ECU 节点进行安全保护,加强相关设备运行的安全性,数据加密机制可以有效防止攻击者恶意盗取汽车运行数据,现有CAN 总线的报文是采用广播的形式进行传播的,攻击者可以非常轻易地截取数据信息再通过逆向分析方式获取相关内容;最后是CAN 总线固有的脆弱性,现有CAN 总线采用的是冲突避免的信息处理机制,这样可以有效解决多数据同时传输产生冲突的问题,但是这也为攻击者恶意控制提供了可能性,通过向CAN 总线发送优先级最高的数据,使得ECU 节点无法正常传输数据导致系统瘫痪。

接下来分析CAN 总线存在的外部威胁,如图2 所示是T-BOX 总体结构,T-BOX 是CAN 总线为外源性设备相连接的端口,T-BOX 再通过USB3.0 接口或者UART 通讯方式与外源性设备相连接,并且利用5G 网络连接云平台,智能手机平板电脑等移动设备与云平台形成交互,构成以T-BOX为核心的智能车联网体系,这虽然极大增强了汽车驾驶的舒适度以及娱乐性,但是也为黑客恶意入侵提供了便利,云平台、移动设备、车载娱乐系统、T-BOX 这些设备和系统都极有可能成为恶意入侵的端口,其中移动设备是最有可能也是最便利的入侵端口,绝大部分安卓手机的应用都可以很快捷地获取机主的姓名电话号码地址等基本信息,而手机是作为一个车联网的移动控制设备,黑客可以诱导机主下载安装入侵车联网的手机应用并获得相应权限,借助逆向分析技术可以很轻松地获取汽车运行参数。

图2 T—BOX 总体结构

2 车载CAN 总线信息安全检测方法

■2.1 CAN 总线攻击方式

如图3 所示是CAN 总线攻击路径,CAN 总线的攻击方式主要有以下几种:重放、洪泛、注入、遍历、模糊测试、拒绝服务等等,这些攻击方式都是通过伪装成ECU 节点向CAN 总线发送错误信息,但是具体工作过程有所不同,下面具体介绍每一种攻击方式的工作过程。

图3 CAN 总线攻击路径

重放,攻击者通过截取ECU 节点已经发送的数据进行复制,借助CAN 总线收发设备将复制的信息进行重新发送进而达到扰乱汽车正常运行的目的;洪泛,攻击者复制大量CAN 总线无法识别的数据通过ECU 节点进行传播,达到占据CAN 总线数据通道导致系统瘫痪的目的。注入,攻击者通过诊断报文注入或者畸形报文注入的手段来达到CAN 总线系统异常的目的,其中诊断报文注入的改进方式危险性最大,在汽车驾驶过程中注入诊断报文极易导致汽车失控出现汽车安全事故。以上三种攻击方式原理和实现方式都较为简单,所以防御这三种攻击方式也是比较容易的,而以下三种攻击方式实现方式较为复杂并且危害性更大。

遍历,攻击者将所有可能应用的报文ID 进行编辑,并向CAN 总线进行发送,由于发送的数据量足够多所以很有可能触发符合某个ECU 节点工作的报文,从而导致某些执行机构错误工作,这样就导致CAN 总线的正常通信被严重扰乱。模糊测试,这一攻击方式实际上经常被汽车生产商自己应用,用以发现CAN 总线可能存在的安全性漏洞,通过向CAN 总线发送大量异常数据,分析输出结果来寻找安全性漏洞,但是这也可以用于监视每个汽车厂商都严格保密的通信矩阵,CAN 总线通信矩阵被破解汽车将完全被他人所控制。拒绝服务,这一攻击方法完全利用了CAN 总线固有的冲突避免信息处理机制,拒绝服务和重放有相似的地方,但是更具专一性,向CAN 总线高频率大量发送高优先级数据报文,这样就可以使低优先级数据报文无法被发送,扰乱CAN 总线的正常通信。

■2.2 入侵检测系统

入侵检测系统是保证CAN总线信息安全的第一道防线,如图4 所示为外部信息入侵检测过程,我们可以将实现入侵检测的软硬件集成化安装在车载网关,从外界传输进来的数据可以通过该系统进行实时检测,入侵检测的流程分为四个步骤:数据的采集、数据的预处理、数据的分析与检测、安全系统响应。数据的采集就是将外界输入的原始数据进行采集;数据的预处理是指对采集的数据进行冗余数据的删除、再整理、规范化等处理转换成检测系统可以识别的数据类型;数据的分析与检测是指对检测数据进行安全分析,具体有数据的风险类型、数据的异常行为、对异常行为进行识别等等,安全系统响应是指确定输入数据是入侵病毒时采取相应处理措施。

图4 入侵检测系统

■2.3 数据检测技术

入侵检测系统中最关键的部分就是数据的分析和检测,根据数据分析方法的不同可以将数据检测技术分为两类:分别为异常检测和误用检测,异常检测也被称为行为检测方式,将系统正常运行状态的特征模式作为比较基准,以系统当前的状态与基准进行比较就可以确定系统是否正常运行,当然不可能出现细微的偏差也认定系统出现故障,需要预先设置变化阈值,只有变化量超过变化阈值时才能认定系统出现故障,这种检测方式的优点是可以准确地判断系统是否出现故障,但是无法确定引发故障的具体原因;误用检测和异常检测正好相反,通过所有已知的攻击模式建立检测模型,当出现可能的入侵行为时可以立刻发现,这种检测技术的优点是可以确定具体的入侵攻击方式,但是如果出现全新的攻击方式,那么检测技术将完全失效。

■2.4 异常检测模型

根据信息熵的定义来设计异常检测模型,将信息熵算法引入到信息检测中。通过处理CAN 报文样本数据库,得到正常状态网络信息熵的基线以及阈值。并且以该数据作为异常检测标准,将实时采集的数据样本信息熵与检测标准作为对比就能检测出数据是否异常,在模型设计过程中首先需要确定三个基本参数:特征量、阈值、检测周期。特征量的合理选择可以良好体现系统行为特征。阈值的选择直接决定检查结果的准确性,由于数据入侵和异常行为不是完全对应的关系,所以检查结果的虚报和漏报时常发生,而且异常行为的检测是以正常状态作为评判标准的,合理的阈值选择可以有效减少虚报和漏报的发生。检测周期的时长间隔过长不仅会增加漏报率,而且也增加了系统被攻击的可能性,时长间隔选择的过小会占用过多系统处理资源。

如图5 所示是异常检测模型,模型的建立分为两个部分,第一部分是标定模型建立,第二部分是检测模型建立,在标定模型建立阶段,首先对正常状态CAN 总线报文数据进行采集,对报文数据进行处理,确定若干个检测周期,在每个检测周期下统计报文ID 类型与数量,计算在该检测周期下报文信息熵值和阈值范围。对不同检测周期下的检测结果进行效率评估,选择最合理的检测标定模型。异常行为的检测过程如下:首先对需要进行检测的数据报文进行采集,然后进行数据处理和信息熵计算,将计算的熵值与标准值对比,如果超过检测阈值及时预警处理。

图5 异常检测模型

猜你喜欢

报文攻击者总线
基于J1939 协议多包报文的时序研究及应用
以太网QoS技术研究及实践
基于贝叶斯博弈的防御资源调配模型研究
避免饥饿的CAN 总线高优先级反转算法
关于CAN总线的地铁屏蔽门控制思路论述
基于报文类型的限速值动态调整
正面迎接批判
正面迎接批判
Q&A热线
PCI9030及其PCI总线接口电路设计