现代汽车的大脑与安全

网络安全或者渗透测试,对于我等还在路上的人来说,路漫漫。要学习的东西太多,扎实的专业知识不说,还有社会工程学,以及心思缜密的推理分析等等,不亚于一个侦探。这不,借着最近某汽车系统被破解,且作为一个汽车改装爱好者的我,就想分享下自己对汽车知识及安全的一些理解。毕竟,不是所有的网络安全爱好者或从业者对汽车知识有所涉猎。

进入正题吧,先前看到很多大牛(国外居多)讲到汽车入侵与安全的问题,里面所讲的技术或者设备都太高端和局限,一个小小的设备就能控制一部汽车的某些功能,单看大概操作流程估计都理解了,但实质性原理你们真理解了吗?对于网络安全渗透测试人员来说,去看汽车入侵与安全问题,就好比两个领域一样,所以说大部分人对于这种技术文章的感觉就是云里雾里,你在说个chicken 8 !

汽车系统概述

额,貌似扯了点,好了进入正真的正题。 首先一部汽车是由一堆零部件组装起来的,主要的几个部件无非就是发动机,底盘,车身,和一大堆电气设备,当然包含,变速箱,悬挂系统,进气系统,排气系统,点火系统等等。

然而你可能不知道,这么一大堆系统及部件都直接或间接围绕一个东西运作,那就是中央控制单元ECU,一部车的大脑! 通俗的讲ECU就好比我们电脑的CPU一样,大家都知道电脑是由硬件设备和软件系统所组成的一个整体的系统,几乎所有的操作都靠CPU处理执行。 ECU也是一样,有自己的处理芯片,存储器,包括ROM,RAM以及厂家编写好的一套系统程序和大量对比数据,保护机制等。讲到这里我们可以把汽车的通讯网络分为:传感器,中央控制单元ECU,和执行元件。传感器和执行元件线路连接ECU,同时还与汽车各个部件连接。 如,发动机内外部的点火,喷油,温度,压力,进气,排气,转向等。这样各个部件发出的信号由传感器收集发给ECU,然后ECU经过处理计算发送动作指令给执行元件,这样汽车就做出了某个动作。

可能我嘴笨你们不理解,那我在举几个例子吧:汽车加速的过程,首先我要给小白们扫盲下,汽车加速就是踩油门,这很简单。但你们不要想象以为踩油门就是油门踏板连接油箱的阀门开大了就叫踩油门,这是错误的认识。其实是这样的, 汽车加速过程是一个进气加大的过程,首先油门踏板连接的是进气阀门,你猛踩,进气阀开度大,进入汽缸的空气量增加,传感器收集到一个大量进气信号传给ECU,这时ECU经过计算进气量为A,所以在汽缸内应该喷油量为B,才能达到合适空燃比C,确定参数就点火做功,发动机输出等量进气的动力,这时你就感觉汽车加速了。 整个大概过程就是这样,当然ECU计算的过程是极其短暂的。现在你们应该理解ECU和油门 (现代汽车基本都是电子油门,拉线除外!)的概念了吧~!

不过随着现代科技的飞速发展在中高端汽车上,不但在发动机上应用ECU,在其它许多地方都可发现ECU的踪影。例如防抱死制动系统、4轮驱动系统、电控自动变速器、主动悬架系统、安全气囊系统、多媒体交互系统,多向可调电控座椅等都配置有各自的ECU。随着轿车电子化自动化的提高,ECU将会日益增多,线路会日益复杂,汽车上多个ECU之间的信息传递就要采用一种称为多路复用通信网络技术,将整车的ECU形成一个网络系统,也就是CAN数据总线。

现在大家应该对汽车的ECU以及汽车的简易网络有了大概了解了吧。基于那么多的ECU模块,汽车的功能越来越强大,接入互联网的多媒体交互系统也越来越丰富,使得汽车的驾驶感和舒适感大大提升。但与此同时网络安全的问题又随之而来。有网络的接入(有线,无线电信号,蓝牙)必定有感染病毒,被非法入侵的可能。那么哪些地方容易被成为入口点呢,下面就扯点我个人的观点大牛见笑了。

入侵汽车的入口点

第一点,最物理简单的方式就是直接改写ECU。 那么我们看看是否可行,首先你得会各种ECU芯片厂商的汇编语言或者编写配套的ECU程序。然后,现代汽车的ECU是一个小方盒子固定在一个需要拆卸一些部件才能拿到的地方,你得有工具。如果你都具备了那么恭喜你,你只需要带个笔记本,带上工具撬开汽车引擎盖,卸下小盒子并打开,还要焊接几根数据线连接笔记本,快速写上你设定好的ECU程序,然后,麻烦的是你还要安装回去。这种方法的弊端就是在等你准备撬开,或者写程序时,可能你已经不在这个世界上了~~~当然这种方式纯粹是搞笑作死的节奏,改写的ECU也只能达到恶搞的目的。(正常的ECU升级确实是这样操作的!)

第二点,外挂式ECU程序。

在大多汽车改装部件中一种比较常见的ECU改装,正所谓改装的目的就是提高汽车的性能,原厂的ECU程序为了兼顾尾气排放达标在参数设置上都是非常保守的,牺牲了发动机的性能。所以在不改变原来ECU程序上的设置为前提,外挂式ECU程序就诞生了。原理很简单就是拦截传感器信号和原ECU信号,修改增强并模拟原ECU参数,起到骗过原ECU,让发动机输出更强的动力!这个类似与cookies欺骗,如果这个外挂式电脑被特别设置过且可以连接互联网功能,那么控制一辆车就太简单不过了。虽然说随着技术的发展现在的ECU信号是很难破解,还是有一定安全性,但,牛人那么多真的很难预料。

第三点,USB等输入输出接口。 将一个特制的USB插在汽车usb接口上,就能完成某些汽车的功能。当然这个USB不是一般的USB,内建芯片,ROM,RAM和无线网络功能,以及编写好的恶意控制程序。能否控制汽车的重要功能就看汽车的智能化程度了,如果线路连接和信号传输够大,且涉及发动机以及其它重要ECU模块的话,汽车的安全性和信息的安全性可想而知。

第四点,多媒体交互系统。 一些小众厂商的多媒体系统很多都基于开源的通用内核,就比如Linux或者安卓。这样的话应用的安全以及系统本身的瑕疵都会被利用。至于权限的大小只看汽车智能化程度的高低了。

第五点,无线,蓝牙,GPS,远程监测系统等所有无线设备。 与汽车联通的无线设备,或者车联网等系统的拦截,破解入侵都会影响汽车的安全和信息的安全。汽车被恶意控制,GPS位置以及个人隐私信息的泄漏,等威胁!

扯了那么多也不是什么技术性的东西,让各位大牛们见笑了,汽车的安全无非是物理层和无线层两方面,并且汽车网络的入侵大部分需要特定的环境,成功率和效果也不像电影里那么出 彩。

不过随着汽车工业的发展,移动互联网的日新月异,中高端汽车愈将智能化,车联网等无线系统的接入是势不可挡的趋势,我想在不久的将来汽车的高度智能化将会是把双刃剑,享受的同时也会伴随着网络安全的问题,无论在什么互联网,安全始终是一个命题。