版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
5.1
汽车总线
5.1.1汽车总线概述汽车总线是汽车信息安全的“生命线”。随着汽车各系统的控制逐步向自动化和智能化转变,汽车电气系统变得日益复杂。传统的电气系统大多采用点对点的单一通信方式,相互之间少有联系,这样必然会形成庞大的布线系统。
据统计,一辆采用传统布线方法汽车中,导线长度可达2000m,电气节点可达1500个,而且该数字大约每10年就增加1倍,进一步加剧了粗大的线束与汽车上有限的可用空间之间的矛盾。无论是从材料成本还是从工作效率看,传统布线方法都不能适应现代汽车的发展。图5.1所示是传统的汽车布线网络。
图5.1传统的汽车布线网络
汽车内部有许多电子控制单元(即ECU),分别负责不同的工作,如门控单元、灯控单元等。ECU起初都通过独立的数据线进行交换,随着ECU数量的增加,需要消耗的线束也会成倍增加,导致成本增加,占用更多空间,增加更多重量,也会增加更多的安全隐患。
另外,为了满足各电子系统的实时性要求,需对汽车公共数据(如发动机转速、车轮转速、节气门踏板位置等信息)实行实时共享,而每个控制单元对实时性的要求又各不相同,因此,传统的电气网络已无法适应现代汽车电子系统的发展,于是新型汽车总线技术应运而生。工程师们设计了基于总线通信的方案,每个ECU都连接在一条总线上面,避免了点对点通信方式存在的隐患。图5.2所示为汽车总线网络。图5.2汽车总线网络
5.1.2汽车总线分类
目前绝大多数车用总线都被SAE(美国汽车工程师协会)下属的汽车网络委员会按照协议特性分为A、B、C、D四类。
A类总线:面向传感器或执行器管理的低速网络,传输速率通常小于20Kb/s。主要用于车内分布式电控系统,尤其是面向智能传感器或执行器的数字化通信场合。
B类总线:面向独立控制模块间信息共享的中速网络,速率一般在10~125Kb/s之间。B类总线以CAN(
ControllerAreaNetwork,控制器局域网络)为典型应用。
C类总线:面向闭环实时控制的多路径传输高速网络,位速率大多在125Kb/s~1Mb/s之间。C类总线主要用于车上动力系统中对通信的实时性要求比较高的场合,主要服务于动力传递系统。
D类总线:面向多媒体设备、高速数据流传输的高性能网络,位速率一般在2Mb/s以上,主要用于CD等播放机和其他显示设备。D类总线近期才被纳入SAE对总线的分类范
畴之中,其带宽范围相当大,用到的传输介质也不止一种。
目前约有五种主要的车用总线:LIN总线、CAN总线、FlexRay总线、MOST总线、汽车以太网总线,各类总线的区别如表5.1所示。
1.LIN总线
LIN总线是一种低速串行总线,主要用做CAN总线等高速总线的辅助网络或子网络。在带宽要求不高、功能简单、实时性要求低的场合,如车身电器的控制等方面,使用LIN
总线,可有效地简化网络线束、提高网络通信效率和可靠性。在不需要CAN总线的带宽和多功能的场合使用,降低成本。
LIN总线的特点主要有以下几点:成本低,基于通用UART/SCI接口,几乎所有微控制器都具备LIN必需的硬件;极少的信号线就可实现ISO9141标准;传输速率最高可达
20Kb/s,最大总线长度为40m;无需总线仲裁;从节点不需石英或陶瓷振荡器就能实现自同步;保证信号传输的延迟时间;不需要改变LIN从节点的硬件和软件就可以在网络上增
加或删除节点等。LIN的拓扑结构如图5.3所示。图5.3LIN的拓扑结构
LIN总线中数据借助消息帧来传输,消息帧由消息标题和消息响应组成。消息标题总是通过主节点传输,包含3个不同的字段:中断、同步及ID;消息响应通过从任务传输,可
位于主节点或从节点中,包含数据字节和校验和两部分。LIN消息帧如图5.4所示。图5.4LIN消息帧
(1)中断。每个LIN帧都以中断作为开始,包含13个显性位(额定),后接一个1位(额定)隐性中断分隔符。
(2)同步。同步字段是主任务在标题中传输的第二个字段。
(3)ID。ID字段是主任务在标题中传输的最后一个字段。该字段识别网络上的每条消息,并最终决定由网络中的哪些节点接收或响应每个传输。
(4)数据字节。从任务在响应中传输数据字节字段。该字段包含1~8字节的载荷数据字节。
(5)校验和。从任务在响应中传输校验和字段。
2.CAN总线
前已述及,CAN总线是一种串行数据通信协议,其通信接口集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等工作。CAN总线具有较高的通信速率和较强的抗干扰能力,可以作为现场总线应用于电磁噪声较大的场合。CAN总线相对于普通通信总线而言,具有可靠性、
实时性和灵活性。
CAN总线的特点总结如下:
第一,CAN网络上的各节点无主从之分,节点站地址无需等待信息,均可以在任意时刻主动地向网络中的其他节点发送信息。该特点可以方便地实现多机备份系统。
第二,CAN总线在速率5kb/s以下时,具有可达10km的最远通信距离,当最大速率为1Mb/s时,通信距离长达40m。
第三,CAN网络使用无破坏性总线仲裁技术,在网络负载很重的情况下可使网络不出现瘫痪情况。
第四,CAN总线所挂接的节点数量主要取决于CAN总线收发器和驱动器,目前的驱动器一般都可以使用同一网络,容量达到110个节点。
第五,CAN总线定义使用了硬件报文滤波,可实现点对点及点对多点的通信方式,不需要软件来控制。
第六,CAN的通信介质选择灵活,可以是双绞线、同轴电缆或光纤。
3.FlexRay总线
FlexRay总线是由宝马、飞利浦、飞思卡尔和博世等公司共同制定的一种通信标准,专为车内网络设计。FlexRay总线数据收发采取时间触发和事件触发的方式。利用时间触发通信时,网络中的各个节点都预先知道彼此将要进行通信的时间,接收器提前知道报文到达的时间,报文在总线上的时间可以预测出来。即便行车环境恶劣多变,干扰了系统传输,
FlexRay协议也可以确保将信息延迟和抖动降至最低,尽可能保持传输的同步与可预测。这对需要持续及高速性能的应用(如线控刹车、线控转向等)来说,是非常重要的。
FlexRay联盟目前只规定了物理层和数据链路层的协议,图5.5所示为FlexRay的数据帧格式,包括帧头(HeaderSegment)、有效负载段(PayloadSegment)和帧尾(TrailerSegment)三部分。图5.5FlexRay数据帧
帧头部分共由5个字节(40bit)组成,包括以下几位:
·保留位(Reservedbit,1位),为日后的扩展做准备。
·负载段前言指示(PayloadPreambleindicator,1位),指明帧的负载段的向量信息。在静态帧中,该位指明的是NWVector;在动态帧中,该位指明的是信息ID。
·零帧指示(Nullframeindicator,1位),指明负载段的数据帧是否为零。
·同步帧指示(Syncframeindicator,1位),指明这是一个同步帧。
·起始帧指示(Startupframeindicator,1位),指明发送帧的节点是否为起始帧。
·帧ID(FrameID,11位),指明在系统设计过程中分配到每个节点的ID(有效范围:1~2047)。
·长度(Length,7位),说明负载段的数据长度。
·头部CRC(HeaderCRC,11位),表明同步帧指示器和起始帧指示器的CRC计算值,以及由主机计算的帧ID和帧长度周期。
有效负载段包括三个部分:
·数据(Data),可以是0~254字节。
·信息ID,该信息ID使用负载段的前两个字节进行定义,可以在接收方作为可过滤86数据使用。
·网络管理向量(NWVector),该向量长度必须为0~10个字节,并和所有节点相同。
帧尾部分只含有单个的数据域,即CRC部分,包括帧头CRC和数据帧CRC,这些CRC值会在连接的信道上面改变种子值,以防不正确的校正。
4.MOST总线
MOST总线是作为宝马公司、戴姆勒克莱斯勒公司、Harman/Becker公司(音响系统制造商)和OasisSiliconSystems公司之间的一项联合技术。1998年,参与各方建立了一个自主的实体,即MOST公司,由它控制总线的定义工作,Oasis公司自己保留对MOST命名的权利。
在MOST规范中,MOST网络模型可以分为物理层、数据链路层、基础网络服务层、高层服务接口层、应用层;MOST节点模型可以分为光电收发器、网络接口控制器、基础网络服务、高层网络服务以及功能模块。MOST网络的这种划分方式对应了七层ISO模型。图5.6所示为OSI模型、MOST节点模型与MOST网络模型的对应关系。图5.6OSI模型、MOST节点模型与MOST网络模型之间的对应关系
MOST网络允许采用多种拓扑结构,包括星形和环形,大多数汽车装置都采用环形布局。一个MOST网络中最多可以有64个结点,一旦汽车接通电源,网络中的所有MOST节点就全部激活,这对低功耗、停电模式设计是一大重点,包括系统处在该种状下的功耗量以及如何进入状态。MOST节点在通电时的默认状态是直通,即进入的数据从接收器直接传送至发射器,以保持环路的畅通。在MOST50网络中,数据传输的基本单位是数据帧,每个数据帧的长度是1024bit(128字节)。图5.7所示为MOST50数据帧的结构。图5.7MOST50总线数据帧结构
5.汽车以太网总线
近年来,CAN总线带宽不足的问题一直困扰着汽车电子工程师。一旦要提高原有车型的配置,增加其功能,可能会因为总线上节点过多,负载率过高而带来问题,从而影响整车网络收发报文的能力。
车载以太网是用于连接汽车内各种电气设备的一种物理网络。车载以太网的设计是为了满足车载环境中的一些特殊需求。
汽车以太网可实现全双工运行,可同时发送和接收数据,不需要轮候。其分组交换功能可实现在多种情况下不同设备同时进行多次交换。
目前,以太网最重要的4个基本拓扑结构为点到点拓扑、总线拓扑、环形拓扑和星形拓扑,如图5.8所示。图5.8以太网总线拓扑
5.1.3汽车总线威胁分析
前已述及,汽车中大量控制器的网络化程度飞速发展,使得外部网络可以访问汽车关键部件(如引擎、刹车、气囊等),控制信息通过总线系统进行各部件之间的信息传递,总线系统对于恶意攻击基本处于不设防状态,尤其是负责多媒体通信的MOST总线、负责传递控制信息的CAN总线以及负责中控门锁系统的LIN总线等。它们与无线网络接口的耦合
性逐渐增强,加上所有控制器间的通信都是明文传送(非加密状态),大部分总线传递消息的编码方式和通信协议都是公开的,控制器也没有相应的检测程序来验证抵达的信息是否是合法的控制信息。
理论上讲,任何CAN、MOST、LIN总线上的控制器都可以向其他任何控制器发送指令,因此,任何遭受到总线攻击的控制器,都会对整车通信网络构成实质性的威胁。例如,
多媒体总线MOST、D2B等与外部接口和互联网相连使得恶意软件(远程木马、恶性病毒)可能通过光盘、USB、电子邮件等方式侵入车内核心系统。虽然车内部分网关提供了简单的防火墙机制,但与此同时,MOST总线和D2B总线也提供了强大的、不设防诊断接口,从而使得攻击者能够轻而易举地攻破整车网络。表5-2列举了汽车总线面临的主要威胁。
对于汽车总线系统的防护,目前学术界和工业界仍然停留在对控制器所接收到信息的源地址、目的地址验证,传递信息所用信道加密,网关防火墙加密措施阶段,这些措施无法
避免低危网络向高危网络发送信息,只能采取汽车正常启动时关闭所有接口等防护措施,这使得驾驶者体验度大打折扣。
5.2汽车CAN总线攻击技术分析
5.2.1CAN总线通信矩阵和报文设计
CAN有两种消息帧,其本质的不同在于ID的长度。CAN2.0A的消息帧格式是CAN消息帧的标准格式,它有11位标识符。基于CAN2.0A的网络只能接收这种格式的消息。CAN2.0B的消息帧格式又叫扩展消息格式,它有29位标识符,前11位与CAN2.0A消息帧的标识符完全一样,后18位专用于标记CAN2.0B的消息帧。CAN数据包如图5.9所示。图5.9CAN数据包
CAN的消息帧根据用途主要分为四种不同的类型,如表5-3所示。数据帧用于发送单元向接收单元传送数据;远程帧用于请求发送数据;错误帧用于标识探测到的错误;超载帧用于延迟下一个信息帧的发送。下面对它们分别进行介绍。
1.数据帧
CAN数据帧由7个不同的位场组成,即帧起始、仲裁场、控制场、数据场、CRC场、应答(ACK)场和帧结束,其中数据场长度可为0。下面对这些场的功能做简要分析。
图5.10所示为数据帧的构成。图5.10CAN数据帧
(1)帧起始:标志数据帧或远程帧的起始,由一个单独的“显性”位组成。只在总线空闲时,才允许节点发送信号。所有节点必须同步于首先开始发送信息的节点的帧起始前沿。
(2)仲裁场:在标准格式中,仲裁场由11位标识符和RTR位组成;在扩展格式中,仲裁场由29位标识符和SRR位、标识位以及RTR位组成。
·RTR位(远程传输请求位):在数据帧中,RTR位必须是显性电平,而在远程帧中,RTR必须是隐性电平。
·SRR位(替代传输请求位):在扩展格式中始终为隐性位。
·IDE位(标识符扩展位):对于扩展格式属于仲裁场,对于标准格式属于控制场。IDE位在标准格式中为显性电平,而在扩展格式中为隐性电平。
(3)控制场:由6位组成,包括数据长度代码和两个将来作为扩展用的保留位。在标准格式中,一个消息帧中包括DLC(数据长度码)、发送显性电平的IDE位和保留位r0。在扩
展格式中,一个消息帧包括DLC和两个保留位r1和r0,这两位必须发送显性电平。
(4)数据场:数据区域由数据帧中的发送数据组成。它可以为0~8个字节,每字节包含了8个位,首先发送最高有效位。
(5)CRC场:包括CRC序列和CRC界定符。
(6)应答场:长度为2个位,包含应答间隙和应答界定符。在应答场里,发送节点发送两个隐性位。一个正确接收到有效报文的接收器,在应答间隙期间,将此信息通过传送一个显性位报告给发送器。所有接收到匹配CRC序列的站,通过在应答间隙内把显性位写入发送器的隐性位来报告。应答界定符是应答场的第二位,并且必须是隐性位。
(7)帧结束:每一个数据帧或远程帧均可由一标志序列界定,这个标志序列由7个隐性位组成。
2.远程帧
接收数据的节点可以通过发送远程帧要求源节点发送数据,它由6个位场组成:帧起始、仲裁场、控制场、CRC场、应答(ACK)场和帧结束。它没有数据场,RTR位为隐性电
平。图5.11所示为CAN远程帧的帧结构。图5.11CAN远程帧
3.出错帧
出错帧由错误标志和错误界定符组成,图5.12所示为CAN出错帧的帧结构。接收节点发现总线上的报文有错误时,将自动发出活动错误标志,由6个连续的显性位组成。其
他节点检测到活动错误标志后发送错误认可标志,由6个连续的隐性位组成。由于各接收节点发现错误的时间可能不同,所以总线上实际的错误标志可能由6~12个显性位组成。错误界定符由8个隐性位组成。当错误标志发生后,每一个CAN节点监视总线,直至检测到一个显性电平的跳变。表示此时所有的节点已经完成错误标志的发送,并开始发送8个
隐性电平的错误界定符。图5.12CAN出错帧结构
4.超载帧
过载帧包括两个位场:过载标志和过载界定符。存在两种导致发送超载标志的超载条件类型:一个是要求延迟下一个数据帧或者远程帧的接收器的内部条件,另一个是在间歇
场的第一和第二位上检测到显性位。超载标志由6个显性位组成,超载界定符由8个连续的隐性位组成。图5.13所示为CAN超载帧的帧结构。图5.13CAN超载帧结构
5.2.2车载CAN总线接入
入侵CAN总线之前首先要找到汽车上的CAN总线。汽车的CAN总线接口存在于车门、大灯、后备箱、IVI等处。在汽车的这些接口处有众多的线束,需要从众多的线束当中找到CAN总线。
首先CAN总线有明显的特点,它是双绞线,像麻花一样拧在一起。找到这样的双绞线后,使用万用表测量线两端的电压,如果两根线的电压分别为3.5V和1.5V左右,那么它
们很有可能是CAN总线。如果测出的电压是2.5V左右,则也有可能是CAN总线,这是因为CAN总线目前处于休眠的状态,没有信号数据,没有产生差分电压。此外,还可以测量两根线之间的阻抗,大约在120Ω左右,这样的双绞线也极有可能是CAN线。综合以上信息,判断哪根线是CAN总线。图5.14所示为CAN数据总线双绞结构说明图。图5.14CAN数据总线双绞结构说明图
CAN总线中的节点有发送节点与接收节点之分。在CAN网络中,当总线空闲时向CAN网络发送消息的节点称为发送节点,而当节点不作为发送节点时,就作为接收节点。
利用CAN总线的这种方式可以实现多播或者广播的操作。CAN总线中的发送节点利用标识符ID来指定消息传输的目的地址,而接收器根据自身的需求对接收的消息进行报文的
过滤,这样使得CAN总线中的节点可以一对一或者一对多的方式工作。图5.15所示为CAN网络中的报文接收的模型。图5.15CAN总线中消息的接收模型
CAN的收发器是CAN总线的物理层,用于将二进制代码转换为CAN总线中的差分信号进行发送。CAN的收发器通常提供两个引脚,即CAN_H与CAN_L,信号以两个引脚之间的差分电压的形式出现。总线上利用“显性”与“隐性”这两个互补的逻辑值分别表示“0”和“1”,只有两个引脚都发送隐性信号时,总线上的数值才会是隐性。图5.16所示为CAN总线与CAN收发器、CAN控制器的连接模型。图5.16CAN总线与收发器、控制器的连接模型
在实际操作时,利用万用表测量,电压高的是CAN-H,电压低的是CAN-L。分清楚高低线之后,将其对应接入CAN收发器,车载总线通过CAN收发器连接PC端。这样PC端就以节点形式接入了CAN总线,可以从CAN总线中读取报文信息,也可以向CAN总线发送消息。图5.17所示为CAN总线的接入过程,其中PC端对应图5.16中的CAN控制器。图5.17CAN总线接入过程
5.2.3逆向分析CAN数据包
通过使用CANalyst-II总线报文收发器与汽车的CAN总线相连,可以获取到CAN总线上广播的CAN数据包。通过CanTest软件可以实时地观察到CAN总线上正在发送的数据包。从大量的CAN数据包中进行逆向分析,找到汽车车身的控制指令对应的CANID,逆向分析出该CAN数据包所代表的含义,这是最基本也是最重要的一步。CanTest界面如图5.18所示(因采集的是实际的汽车CAN总线的报文信息,因此对报文部分数据做了隐藏,下同)。图5.18CAN数据包抓取
5.2.4CAN报文数据信息破解
1.通过DBC方法观察破解数据包
通过CanTest的DBC(数据库)逆向数据包所代表的指令,DBC能够显示当前总线中有多少种CANID。在汽车做出动作指令后,CANID的报文会有所变化,DBC会把变化的部分标记成红色。通过观察哪一个CANID在汽车发出指令后发生变化(这种变化通常只在瞬间),可以确定此项车身控制指令对应的是哪一个CANID。
以车门数据为例(通过改变车门的开关状态,利用DBC进行观察),在车门改变开关状态的同时,观察是哪一个CANID发生了变化,从而确定和车门状态相关的CANID是哪一个。测试结果表明:汽车未启动,车内一切电器设备保持原有状态,只对车门状态进行改变,DBC界面的部分帧数据发生了对应的变化,如图5.19矩形框中所示。图5.19DBC界面
DBC会把汽车总线上目前所有CANID列举出来,当汽车状态发生变化的时候,数据位的变化会以红色标出。通过观察,发现在开关车门的时候,CANID为111的报文发生了
变化,说明与车门状态相关的ID为111,其数据为******10041902FF。之后,可以继续改变车门的开关状态并观察记录,结果如表5-4所示。
通过实验统计,发现车门的开关状态和数据位的第一位的第二个字节有关。四个车门正好有16种状态,第一位的第二个字节正好能全部表示,如表5-5所示。
这个字节表示了车门的不同状态。这样就破解了控制车门开关状态的具体信号,控制左前门的状态信号为0x1111000000000000000,当使用CanTest将该数据包发送到
CAN总线上时,汽车会显示哪一个车门处于打开状态,但实际上车门此时并没有打开,如图5.20所示。图5.20汽车仪表盘显示屏上显示车门处于打开状态
2.通过模糊测试的方法攻击CAN总线
借鉴模糊测试的思想,可以通过向目标系统提供非预期的输入并监视异常结果来发现漏洞。模糊测试的实现过程:使用正确的数据输入文件系统,在这个正确的数据文件中随机地改变、替换某一些数据,再用系统去打开这个数据文件,观察这个系统出现了什么异常。模糊测试的关键是制定有效模糊测试规则的测试文件,有目的性的测试才能很快地测试出漏洞。
在找到控制指令的CANID后,再对其数据位进行模糊测试,通过对数据位的变化输入,可找到控制命令是在哪个位上。使用编写的CAN-Pick(该工具已经入选2017年
BlackHat大会的Arsenal武器库)软件对车载总线进行模糊测试,攻击者可以灵活地制定模糊测试规则。图5.21所示表示启动CAN-Pick连接汽车总线收发器。图5.21启动CAN-Pick连接汽车总线收发器
连接上CAN收发器后,输入127.0.0.1:5555,进入模糊测试界面。在此界面上可以设定模糊测试的规则。图5.22所示为模糊测试工具界面。图5.22模糊测试工具界面
当进行模糊测试的时候,可以观察到ID为0x**F的数据的变化和车门的开闭有关。提取数据进行重放,发现数据******0000000000表示车门开,数据******0000000000表示车门关。这样就达到了不用车钥匙就能开关车门的目的。利用CanTest软件将数据包重放到汽车CAN总线当中进行验证,发现车门不需要车钥匙就打开了。图5.23所示为将报文发送至CAN总线。图5.23重放开车门的数据包
3.利用数学方法逆向数据包
汽车CAN总线中控制车速显示的数据包,其数据位中某几个位组合的值代表当前车速信息,车速的变化近似于一个一次函数。攻击者可以收集CAN总线数据包,通过预先设
定方程式,将数据包中的某几位代入,观察有没有一个是符合车速变化的,从而确定数据包中哪几位代表的是当前的车速信息。
通过将数据包数据位代入方程观察,找到CANID为0x**d的数据包,它的某几位组合变化符合一个一次函数方程的变化规律,从而判断这样的数据包有可能代表的就是当前
的车速信息。图5.24所示为图形化的函数显示。图5.24图形化的函数显示
从图形曲线的变化可以看出,数据变化接近汽车行驶速度的变化,因而可以重放这样的数据包,用来控制当前的车速显示。在CAN总线上有一个防护机制,当车速数据包没有
连续发送时,车速显示达不到预期的值,将呈现一种忽上忽下的变化。为了绕过这种防护机制,可以采取大量密集地发送百条以上的数据包的方法,让车速显示随攻击者的预期变
化,大量地构造出一组数据包让车速显示汽车理论上的最大值,如图5.25所示。图5.25控制车速的数据包
向CAN总线发送数据包,可以控制车速显示理论上的最大车速,但是此时汽车并没有开动。汽车的攻击效果如图5.26所示,车速显示已经达到最大的车速185km/h,但是实
际此时汽车并没有启动。图5.26车速控制效果:达到最大车速
5.3汽车OBD攻击技术分析
5.3.1汽车OBD概述
OBD的发展经历了OBD-Ⅰ和OBD-Ⅱ两个阶段。OBD-Ⅰ是通用汽车公司研发的,只能监控部分部件的工作和一些与排放相关的电路故障,其诊断功能有限。因为获取OBD信息的数据通信协议以及连接外部设备接口的标准未统一,因此又研发了OBD-Ⅱ。与OBD-Ⅰ相比,OBD-Ⅱ在诊断功能和标准化方面有较大的提升。
美国汽车工程师协会(SAE)对故障指示灯、诊断连接口、外部设备和行车电脑之间的通信协议以及故障码都通
过相应标准进行了规范。此外,OBD-Ⅱ可以提供更多的可被外部设备读取的数据,这些数据包括故障码、一些重要信号和参数的实时数据等。OBD-Ⅱ诊断系统的优越性主要体现在如下方面:第一,统一了汽车内部网络的通信协议;第二,统一了故障诊断接口;第三,统一了故障代码的设置;第四,扩充了随车诊断系统的检测项目。
汽车OBD接口一般位于汽车方向盘下方、驾驶员膝盖附近的位置,其形状是一个16针的插座,接口针脚编号如图5.27所示。图5.27OBD针脚编号
汽车的故障诊断设备是通过16针的OBD接口连接到汽车ECU,向车载ECU发送服务请求命令,并通过汽车ECU响应的消息获取相关诊断数据的。在SAEJ1979协议中,详
细定义了OBD-Ⅱ的8种不同的诊断工作模式,如表5-6所示。
OBD-Ⅱ为车辆故障诊断带来了极大的方便,但是OBD-Ⅱ也有它的局限性,主要体现在以下两个方面:
(1)无故障码输出。其一,OBD系统不能诊断出电控系统中所有的故障,存在着“盲区”。
(2)故障码显示的不一定就是真正的故障部位。
5.3.2OBD盒子攻击技术分析
对于汽车个人用户来讲,OBD设备一般分为两部分;即XX盒子和App。盒子主要放置在汽车上,用于数据收集,而App则可以帮助车主检测汽车故障,记录车辆轨迹、违章,
让用户全面掌握汽车动态。除了基于大数据的应用,后期的社交功能也在进一步的完善中。图5.28所示为OBD盒子的一般通信架构。图5.28OBD盒子通信架构
目前市场上的OBD盒子一般分为三类:一类是WiFi版的;一类是SIM卡版的;一类是蓝牙版的。WiFi版的OBD盒子内置有无线通信模块。SIM卡版的OBD盒子自带SIM
卡,好处在于这类盒子一般带有安防功能,当汽车的门、窗、灯未关,或遇到非法点火等情况时,手机都会主动报警提醒。蓝牙版的OBD盒子则是直接通过蓝牙连接,但不带安防功
能,相比具有安防功能带SIM卡的盒子,用蓝牙连接的盒子价格也相对较低。图5.29所示为各种品牌的OBD盒子。图5.29各种品牌的OBD盒子
考虑到OBD盒子使用的生命周期和通信架构,此类设备可能存在表5-7列举的安全威胁。
1.攻击面分析
研究人员分析的OBD盒子购自eBay电商平台,该设备(如图5.30所示)由MobileDevicesIngenierie生产,并用于保险目的。这款OBD盒子的CPU为一款频率为500MHz
的ARM11芯片,RAM的存储空间为64MB,闪存的存储空间为256MB。对于外部连接,
主要包含以下几个部分:一个USB接口、一个2G蜂窝网数据调制解调器(以后的型号为3G)和一个连接到OBD-Ⅱ引脚的CAN收发器。图5.30研究人员的OBD盒子
1)本地攻击面
在本地安全威胁模型中,假定攻击者可以对OBD盒子进行物理访问。研究人员没有针对车辆的任何通信方式,假设具有物理访问权限的攻击者已经可以直接访问该车辆。
2)远程攻击面
在远程安全威胁模型中,研究人员假设攻击者没有物理访问设备或车辆的权限,甚至不知道OBD盒子在车辆上的准确位置。
2.攻击过程分析
1)本地攻击分析
如果通过物理方式访问设备,最简单的方式是通过USB端口连接。首先利用USB线缆将OBD盒子与联网计算机相连,通过分析设备信息,可以确定设备的子网编号和IP地
址,然后利用网络接口探测设备运行的服务。研究人员发现该OBD盒子在标准端口上能响应Telnet、Web和SSH等服务。
2)Web/Telnet控制台访问
一旦与OBD盒子连接成功,Web服务器和Telnet服务器就会提供一个专用接口,用于查询和设置设备参数以及检索状态信息,这包括一些隐私敏感的信息,如GPS定位信息
等。
3)NAND转储
为了获得设备上运行的软件的更多信息,研究人员拆下了NAND闪存芯片,并利用硬件读取器提取了芯片的数据。为了分析提取的数据,研究人员利用Linuxnandsim内核模
块创建了一个模拟的原始NAND闪存芯片,随后配置该模块以模拟OBD盒子上存在的NAND文件副本。
4)SSH密钥
最初,研究人员无法访问设备上运行的SSH服务,在研究了NAND闪存的转储信息并确定了根用户的私钥之后,这一情况发生了变化,根用户的私钥让研究人员能够通过SSH服务向OBD盒子进行身份验证,并直接获取设备的根用户权限。随后研究人员可以取和写入任何文件,下载安装其他软件以创建任意功能并执行任意命令。
5)进一步分析
通过USB接口获得对OBD盒子的控制后,研究人员将重点转移到如何远程控制OBD盒子并进一步控制汽车上,两个远程通信接口引起了研究人员的注意:SMS接口和提供互
联网连接的蜂窝数据接口。
(1)基于互联网的访问。
(2)基于SMS的访问。
通过检查SMS发起更新创建的日志后,研究人员确定了OBD盒子本地文件的完整更新过程,如图5.31所示。更新过程会依赖一个特殊的文本文件——来自远程服务器的
UpdateFile.txt,该文件包含要从系统添加或删除的文件的文件名、路径和散列值。图5.31远程更新过程
更新过程的步骤如下:
①SMS设备向OBD盒子发送更新信息(包含用户名、主机名、端口号、路径信息等),OBD盒子
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 正弦示波器课程设计
- 2024年新型城镇化项目预应力管桩施工劳务分包合同3篇
- 特色室内室外课程设计
- 数控铣床加工课程设计
- 2021-2022学年河北邯郸大名县五年级上册语文期末试卷及答案
- 2022-2023学年江苏省淮安市金湖县二年级上册数学期末试题及答案
- 2022-2023学年福建泉州市五年级上册语文期中试卷及答案
- 幼儿模特课程设计
- 2024年人民版三年级英语下册月考试卷804
- 2025年小升初数学复习之小题狂练300题(选择题):数的认识(10题)
- 管道基坑开挖施工方案
- 广东省汕头市金平区2023-2024学年七年级上学期期末语文试题
- 计算机组成原理(商洛学院)智慧树知到期末考试答案2024年
- (2024年)电工安全培训(新编)课件
- 2024年广东珠海水务环境控股集团有限公司招聘笔试参考题库含答案解析
- 《销售主管竞聘》课件
- 小学数学六年级解方程练习300题及答案
- 纯化水制备工艺讲座(新)课件
- 整理收纳师职业规划
- 国开电大《员工招聘与配置》形考册第一次形考答案
- 商业可行性论证报告
评论
0/150
提交评论