互联网解构下的汽车安全吗?
汽车被黑客破解已经有不少案例,包括特斯拉、奔驰等豪车都难逃「黑手」。不过经过工具扫描出来的漏洞只是理论上的,黑客破解所得利益与所花时间和成本之间的比例究竟如何还不得而知,而且漏洞的根源到底在哪也是车云菌好奇之处。
最近,360破解团队向车云菌重现了破解汽车通讯协议的场景。当问到破解所耗时间,360的安全工程师老闻停顿了一下,“不到1周吧。”
“什么?”,车云菌难掩吃惊的表情,“1周就攻破了?”
“嗯,鉴于我们之前有攻破Tesla的经验,所以后面就比较快”,老闻手里把玩着车钥匙,“而且有些车底层用的是传统的CAN总线,从云端下来的指令是不经验证直接执行的,所以理论上什么操作都可以,比Tesla的以太网总线轻松不少。”
对于我们最为关心的“所得利益与所花时间和成本”的问题,360给出了一个惊人的答案。
黑客一任性,后果很严重
“那破解了之后,我能对这辆车做些什么?”
“钥匙和合法遥控手机都不用,OBD接口空着,我只需要一台笔记本,来实现寻车、解锁、着车。”
“这么高权限?”,车云菌心中闪过一丝狐疑,“你是拆过原厂钥匙,取过ID(身份识别码)?还是把合法手机越狱了导出了密匙文件?”
老闻哈哈大笑,“那也太low了,跟OBD一样没技术含量。这么说吧,你只要跟我用过同一个WiFi,或者点击过我发的微信钓鱼链接,我就能开走你的车,咱俩不必认识,完全可以素昧平生。最关键的是,哪怕我开走了,这车所处的云平台也不会对你发出任何警告信息。”
一台完好的汽车
跟着老闻,车云菌走进地库,仔细检查这台海蓝色车,包括外观、乘员舱、发动机舱、后备厢、充电口、加油口,确认无误后,没收了老闻手里的合法钥匙,以及装有该车云服务app的安卓手机,然后请老闻实施攻击。
老闻的一名同事熟练的掏出一台Macbook,执行了一段python代码,敲下回车,大概1秒钟,车子鸣笛并双闪,寻车指令成功执行。
然后是解锁,同样一段python代码,执行参数改一下,大灯点亮,车门随意开。
通过电脑破解车辆,大灯点亮,车门解锁
“咳”,老闻清了清嗓子,“这无非就损失点儿财物,危害性并不大,而且这款车的手机app也支持这俩功能。这么着,我们来点儿好玩的,你先把车锁上。”
车云菌按下手中的遥控钥匙,车子应声上锁。同事小伙子接着执行代码,全车灯光再次亮起,随着清脆的一响,发动机开始运转。车云菌大为震惊,想拉开车门看看仪表盘有无“非法运行”等提示,无奈车门还是锁闭状态,而仪表盘上所有信息貌似一切正常,车云菌立即按下快门,记录了当时的状态。
远程破解着车,仪表盘上正常显示车辆状态
“这还不算什么,无非是车子被盗,手机在你身上,被盗车辆的位置还是可以查到的”,老闻不急不躁的接着侃,“我进去先开车”,随后给同事使了个眼色。老闻上车后挂了倒档,稍带刹车,车子缓缓倒车;然后老闻举起双手,示意他不再操作车辆,此时车外的同事再次执行寻车代码,喇叭也再次鸣响,双闪点亮!
车辆倒车中,远程代码执行寻车成功,后视镜上灯亮并鸣笛
老闻熄火下车后,向呆若木鸡的车云菌解释,“你看,云端下发的指令可以越权于车内操作,假设我正行驶在高速上,这兄弟把寻车指令换成其他操作,我想不需要我过多解释了吧?”
满腹狐疑的车云菌心想,这么逊咖的软件bug应该不会被汽车品牌的手机app测试团队漏掉吧。老闻解释说,车辆运行时,如果是从手机app上点击寻车,App会提示车辆正在运行,从而不会发出指令。而不幸的是,这道关卡只设置在手机上,而有些汽车品牌的云服务端是不做二次检查的,360安全团队直连了该车的云端服务器(并未通过手机),因此指令轻松自在的被车辆接收。更加不可思议的是,车子的firmware也没有检查自己的状态就执行了寻车指令——最后一关也形同虚设……哦,对不起,最后一关干脆就不存在。
最后,老闻请同事用代码开一下后备厢。车云菌表示不必了,既然整车都能解锁,区区后备厢还有什么意义。同事自顾自地执行了代码,后备厢自动弹开,老闻按下后备厢,但锁头已经“神奇的”失效,无论怎么按下厢盖都无法锁闭;车云菌只好整车解锁再上锁,后备厢才正常锁闭,这一幕让人多少有些无语。最为关键的是,单独解锁后备厢这个功能,在手机App上并没有开放。
“今儿先到这”,老闻挠挠头,“我们上楼聊吧”。
如何为信息设防?
坐定之后,车云菌向老闻咨询了汽车手机应用与云端交互过程是否明文通信(有否加密)。老闻直言不讳的告诉车云菌,加密是有的,一方面是业界通用的加密算法,另一方面也有一部分品牌自己设计的加密手段,但问题是,算法依然太薄弱,破解不要太轻松。这还不算什么,指令是否合法只在手机app上校验,云端和车端都是简单的转发和执行,这一点则更加危险。
然而离谱的是,从3G/4G民用网络接收并翻译出的CAN指令几乎无条件的在车身CAN总线上执行,一无物理隔离,二无权限管理,这一点让360安全团队的同事们大开眼界,“花上一点时间,对这辆车做什么都可以,等于完全不设防”。
所以,如果总结一下,汽车被破解存在的问题有三:
1.手机App的加密较为薄弱,执行操作时,缺少如短信验证的验证手段,破防更加轻松;
2.权限的优先级设定不明确,绕开手机App之后,云端指令可直接下达,干扰驾驶员对车辆的操控过程;
3.云端开启的权限过多,虽然手机App上进行了屏蔽处理,但同样只要绕开移动端,就相当于大开方便之门。当被问及车辆联网如何才能做到更安全时,老闻简洁明了地说了两点:
其一,从基础设计上下功夫。采用物理隔离,或者像Tesla一样升级车身总线,从车辆底层抛弃无鉴权、无校验的30年高龄之CAN总线;如此这般,破解难度会成倍提高,甚至不得不物理侵入车辆。
其二,传统的遥控钥匙破解需要射频设备,且只针对一台车;而升级到云服务,攻击工具只需要一台电脑,目标可以是同平台的所有上路车辆(全国/全球)。所谓“术业有专攻”,整车厂造车水准一流,但对IT行业的安全攻防则毫无积累——要做对事,应当先找对人。
与此同时,老闻和他的团队正在准备Hack Pwn 2015安全极客狂欢节,相信这番演示必将让现场观众大开眼界,从而侧面鼓励车厂在云安全上多下功夫,给车主带来便利的同时也一并送上保障。
相关文章
[错误报告][推荐][收藏] [打印] [关闭] [返回顶部]