2011 年 3 月 11 日,日本福岛第一核电站 1 号反应堆所在建筑物爆炸后,造成核泄漏事件,民众为了抵抗核泄漏带来的负面危害,买了很多盐(甚至含盐量高的食品都遭到哄抢),不知大家是否还记得?
最近,「伤不起」的汽车安全,已经进入了「黑色八月」,涉及事件有好几起:从克莱斯勒召回 140 万辆存在安全漏洞的汽车开始,躺枪的还有 Onstar 安全漏洞,特斯拉的破解攻防战以及通用科尔维特被破解。
对此,我们试图把这种高大上的黑客作法,用普通群众能理解的语言表达出来。呵呵,实际上就是耳熟能详的「把大象装进冰箱」,一共分三步:第一步是把冰箱门打开,第二步是把大象放进去,第三步是把冰箱门关上。
但是!如果不按照这个步骤,那又是如何把大象装进冰箱呢?完整的步骤才能构建完整的过程,这个可是连小学生都知道的道理啊,所以,我们不能忽略一些细节而得出一些结论(比如说车联网系统不安全等),否则就不是科学严谨的判断,而是想当然了。
任何的时候,攻和防的关系都是矛和盾的关系。从汽车 CAN-Bus 总线上的某个节点来监听或破解私有协议,对专业人士来说不难,毕竟都是明文传输;通过 CAN-Bus 总线发指令来控制汽车,同样对专业人士来说也很容易。
但这个算漏洞吗?即使把这个理解为系统漏洞,那我们要关心的是:这种漏洞是否容易被菜鸟级的黑客所掌握,如果菜鸟级黑客都能干,那说明,不仅是漏洞,而且危害程度极高。
这里举个简单例子,最常见的网站攻击,比如黑首页、拖库等,简单常用的就是 SQL 注入式攻击,而且这个攻击手段,是菜鸟级的人都能掌握的。那为什么菜鸟黑客那么多,我们的网站没有遍地被黑呢?是因为这种漏洞的防护,也是菜鸟级的码农就能搞定,才入行的程序猿也能很好地把防注入攻击代码放到他的核心代码里面,分分钟堵住口子,所以,这是个很有危害的漏洞吗?也可以说是,也可以说不是。「是」是因为这种攻击很简单易上手,「不是」是因为防起来也很简单。
目前的各类「黑汽车」事件,初一看确实是个很有危害的问题,可大家都是去强调了危害性有多大,但是忽略了一点:发生概率。能干这事的人也太少啦,就好像银行系统也有人攻破,你说危害大不大?我想要给我账上转一个亿就一个亿,但是能干这事的人又有几个?另外再说了,真有人干了这个事,国家要把这个人掘地三尺揪出来,也很容易嘛。
既然是谈技(极)术(客),我们就从技术的角度去说清楚,要干这个事,怎么去干,才能干的出来,这才是理性的分析。现在是谈虎色变,一说 OBD,卧槽,太不安全了,没活路了,啪啦啪啦…!把村长都逗笑了。这就类似在讨论,因为你家的门锁可以被人打开,所以门锁就不安全了,有意义吗?没意义吧,谁家的门锁,通过暴力搞不开嘛,斧头同意?
就拿目前宝马弄的一套产品(中宝通辅助驾驶系统)来举例,要想攻破,该怎么去做?首先必须要攻入他当前运行的服务器,获得系统的控制权限。因为 OBD 终端盒子上的那张 SIM 卡是定制的物联网卡,这种物联网卡,设定好只针对特定的 IP 地址能数据互通,那别的 IP,就想都不要想了。
其次,想攻陷那台服务器也没那么简单,因为他是一台云主机,而且是阿里云的。既然不是一台物理主机,只是一台虚拟机,那黑客首先得把阿里云的云服务器防御体系攻破,攻破以后,再进到这台云主机里,去获取相应的系统控制权,这才算完成第一步。
第二步,黑客通过这台云主机去完全控制一台不跑任何操作系统的 OBD 终端盒子(那跑什么?跑单片机 while 循环)发特定的指令,这在理论上是几乎不可能的,即算可能,这还是第二步,这种可能性已经基本降到零了。
我不排除某黑客可以通过云主机远程下载一个固件到指定的 OBD 终端盒子(毕竟智能硬件支持空中升级是必须的)来运行,通过这个特定的固件还能把原固件上传回来,通过反编译原固件还能还原全部的 CAN-Bus 控制指令,比如让发动机点火、熄火等,这是第三步。
哇!要独立完成这些,这得是一个多强大的黑客啊!(比我钦佩的全栈工程师还牛 B)
另外,下载的固件能确保控制目标 MCU(单片机)?针对这个问题,我们咨询了一下深圳速锐得的工程师,其表示难度非常大:没有硬件原理图,如何知道 MCU 型号?即使知道型号,如何知道外围器件的连接 I/O 口定义?即算知道 I/O 口定义,如何绕过 IAP 程序(类似引导区程序)的有效性识别?关于远程升级与 IAP 程序,速锐得的工程师解释了一下:在远程升级里,先把固件从云服务器下载到 OBD 盒子外部 flash,再通过 IAP 程序把外部存储器的代码烧录到内部 flash 才算完成升级,整个过程会有严格的版本校验机制,就类似一把钥匙开一把锁,必须完全匹配。
在近期报道的几起「黑汽车」事件中,我们发现,黑客好像不用费多少周折就达成目的了。说明这些被攻破的系统本身设计时就很有漏洞(Windows 的漏洞也不少),但我们拿一套本身就设计不完善的系统当典型,来说明 OBD 很不安全,这个就极为不科学了。
当然,有小伙伴会问:像 OBD 厂商自己做的平台,自己想要控制,可以实现吗?回答是:可以的。就像开自己家的门,拿自己家里的东西一样。但!那算黑客吗?
黑客把 OBD 盒子在汽车领域的安全问题推到了舆论的风口浪尖,弄得人心惶惶,不明真相的人太多,还记得当年福岛核泄漏事件中,民众恐慌到什么程度吗?就是买的盐到现在都没吃完!
原创声明: 本文为 GeekCar 原创作品,欢迎转载。转载时请在文章开头注明作者和「来源自 GeekCar」,并附上原文链接,不得修改原文内容,谢谢合作!
同时欢迎关注 GeekCar 微信公众号: GeekCar 极客汽车 (微信号:GeekCar)& 极市 (微信号:geeket)。