欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

哪位黑客动了我的汽车-车联网安全探讨

来源:本站整理 作者:jmpesp 时间:2014-06-12 TAG: 我要投稿

以前,汽车是孤立的,物理隔离的,因此黑客很难远程入侵汽车内部电脑(ECU),除非进行物理入侵,而这个是需要很高的犯罪成本。随着互联网的进化,当golo3这样的车联网产品通过OBD(On Board Diagnostics)诊断座将汽车内部ECU联网之后,汽车受到的远程网络攻击就不再是猜想。可以预见,一旦车联网产品普及,关于汽车被攻击的现实案例就会出现并越来越多。

试想一下,在高速公路上汽车发动机被人为控制突然熄火,会是怎么样的一场结局?你,害怕了吗?
 

一 OBD诊断座与ECU拓扑结构
 

在详细探讨车联网安全之前,首先我们来了解下OBD诊断座,如下图是SAE J1962标准对OBD诊断座的定义:
 

OBD诊断座是一个包含16pin的母座,除上图给出的引脚的定义,其它没有给出的引脚都由汽车厂商自己定义。不同的ECU通信协议可能采用不同的引脚, KWP(key word protoctol)关键字协议采用的是7号引脚或者15号引脚,目前最普遍的500kbaud的iso15765协议(高速CAN)采用的是6号引脚和14号引脚。OBD诊断座一般位于汽车方向盘的下面,不同的车型具体位置可能不一样,下图给出的是丰田凯美瑞2011经典版OBD诊断座的具体位置:

图2 丰田凯美瑞2011经典版诊断座位置

接下来我们需要了解ECU和ECU之间的拓扑结构。ECU(Electronic Control Unit)电子控制单元,通俗的的说,它其实就是一些用于控制,记录或者改变汽车的状态的单片机或者ARM芯片。一般现在汽车内部都会有十几个到几十个不等的ECU,不同的ECU掌管不同的模块,比如,发动机控制模块(PCM)会接受传感器信号,通过复杂的计算来控制燃油的供应量,空气的配给(电子节气门),喷油及点火的时机,进气压力的调整,还要根据温度、负荷、爆震、燃烧状况等来决定发动机的补偿控制系数。按照功能的不同,我们又可以把ECU分为动力,车身,底盘,其它等几大类。下表列举了高配置的2011款经典版凯美瑞的一些ECU模块。

表1 2011款经典版凯美瑞的一些ECU模块

汽车内部除了ECU之外,还会有大量的传感器以及执行器等部件,通过它们的协调工作共同完成复杂的智能化操作。那么ECU与ECU,ECU与其它部件又是如何通信的呢?如下图是汽车内部各个部件之间的拓扑结构

图3 CANBUS拓扑结构

实际情况比上图中复杂的多,不同车型之间也会有差别,各部件之间可能还会出现直接相连接,总体来说原理是差不多的,所有部件平等的连接在CAN总线上。CAN总线具备低成本,总线利用率极高,可靠的容错机制,高速的传输速率等物理特性。它是基于广播形式的,也就是说同一总线上的任何一个节点往总线上发消息,总线上其它的节点都可以收到该消息,然后根据消息的头部来判断是否是发给自己的消息。不同波特率的总线之间通过网关来完成信号适配。

二 通过OBD诊断座我们能做什么

我们知道OBD诊断座的设计初衷是用于汽车诊断,它是汽车ECU与外部进行交互的唯一接口,也就是说汽车诊断仪能做的我们都能做,我们先来看看符合市场要求的诊断仪应该具备的功能:
 

1. 能够读取汽车ECU的信息,比如17位vin码,ECU的硬件信息等。
2. 能够读取汽车的当前状态,比如当前的车速,胎压等等。
3. 能够读取汽车的故障码,快速定位汽车的故障位置,并且清除故障码。
4. 能够对汽车进行一些预设置的动作行为测试。比如车窗升降等
5. 除上述基本的诊断功能之外,还可能具备刷动力,里程表修改,钥匙匹配,安全气囊复位等复杂的特殊功能。

[1] [2]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载