最近看到一条比较有意思的新闻,就是腾讯的科恩实验室通过某种手段黑掉了丰田的NX300。
腾讯科恩实验室:雷克萨斯汽车安全研究综述报告
https://keenlab.tencent.com/zh/2020/03/30/Tencent-Keen-Security-Lab-Experimental-Security-Assessment-on-Lexus-Cars/
很多人第一时间肯定想到的是速度与激情8里黑客操纵汽车的这一幕,可能会比较担心以后自己的小命是不是都掌握在黑客的手上了。
不过大家可以冷静地想一想,如果腾讯真的能做到上面这样的事儿,这条新闻恐怕流量早就该爆炸了。
实际上科恩实验室只是做到了:
通过无线方式破解并控制汽车的AVN系统,将恶意CAN指令发送到车内CAN网络,从而实现对存在漏洞的车辆执行一些非预期的物理操作。
腾讯的官方发言比较技术流,我猜大多数人应该看不懂是什么意思,我就试着把它翻译成人话。
简单来讲就是腾讯利用了蓝牙通信协议中本来就存在的漏洞(丰田没有对此进行防护),夺取了NX300的车机系统(Linux)的管理员权限,通过车机系统在发送故障码,让车子以为自己坏掉了,从而不能正常行驶。
被黑掉的车机系统
所以科恩实验室只是让车子以为自己坏掉了进入保护模式而并非可以任意操控汽车,大家悬起的心可以放下了。
丰田官方收到科恩的报告后也承认了漏洞的存在,并宣称此漏洞并不能影响车辆的行驶,转弯,刹车性能,而且目前已经通过软件升级修复了此漏洞。
https://global.toyota/en/newsroom/corporate/32120629.html
那么接下来大家可能比较在意的就是,是不是谁都能简单地黑掉这个系统呢?
答案是否定的。
科恩实验室从实验开始到成功黑掉系统也花了几个月的时间,而且完成此工作需要高度的黑客技术,一般人是基本无法实现这种操作的。而且丰田也已经修复了现存的漏洞,所以说现在即使是科恩实验室也无法黑掉NX300的车机系统了。
在介绍完概要后,我们来看一下科恩到底是怎么黑掉丰田的车机系统的。
先放一张科恩逆向推导出来的NX300电子系统图。
NX300这次第一次采用了右边的蓝框框里的比较高级的车机系统。正所谓新技术就一定会带来新问题,传统车机用的技术比较老旧,安全性能也比较好,此次采用新系统以后出现了下表中的3个缺陷和一个漏洞。
其中的蓝牙漏洞就是此次科恩得意攻破丰田系统的致命问题。
科恩在主页简单描述了此次实验的四个步骤。
步骤-1. 因为车载蓝牙服务是以root权限运行在DCU系统中,一旦DCU系统被蓝牙漏洞攻击破解,恶意代码将会通过无线方式部署并永久驻留在系统中。
步骤-2. 恶意代码可以设计成让被破解后的DCU系统自动连接到我们创建的Wi-Fi热点,并反弹一个远程可交互的系统root shell。
步骤-3. 接着可以利用Wi-Fi网络下的root shell,通过 SYSuCOM和CANuCOM将任意的CAN消息传输到车内CAN总线。
步骤-4. 此外通过利用CAN诊断消息,位于车内CAN网络的一些ECU会被欺骗执行诊断功能,从而使得汽车触发非预期的物理动作。
但我相信没有一定计算机基础的朋友还是看不懂它说了些啥,我就再简单翻译一下。
1.通过蓝牙漏洞夺取车机系统的管理员权限
2.获取管理员权限后在车机系统中留了一个可以通过WiFi进行交互的后门
3.通过这个后门绕过数据验证发送故障信息
4.车辆误认为自己故障,发生非预期的物理动作。
其中个人觉得比较意外的是第一步中管理员权限的获取显得过于简单了。
我相信对于绝大多数接触过Linux系统的码农来讲,不轻易赋予蓝牙操作管理员权限应该属于常识了,然而丰田的车机系统似乎并没有在意过这个问题,以至于科恩实验室轻易地通过蓝牙漏洞获取了管理员权限。一旦管理员权限到手,接下来的事儿难度就小了很多了。17年的时候黑客也通过浏览器的漏洞对特斯拉发起过攻击,但因为通过浏览器无法获取管理员权限,攻击也就没能进行到下一步。
然后就是第二步里科恩植入后门似乎也过于简单了,原因应该是出在了这里。
此外,DCU系统并不支持安全启动,这意味着整个系统可以被篡改,例如按照惯例替换掉系统启动动画。
NX300的车机系统竟然不支持安全启动(secure boot),这也反映出汽车行业对于软件安全的考虑还是不是太够。
其他细节因为过于硬核我就不在文中赘述了,有兴趣的朋友可以去文章开头的链接自行观看。
评论·0