阿根廷安全研究人员兼黑客席拉·阿耶伦·伯塔与克拉沃迪奥·卡拉西奥罗计划在2018年4月的份阿姆斯特丹召开的 Hack in the Box 大会上演示:利用硬件后门 Bicho 对联网汽车 CAN 总线进行远程控制。
Bicho硬件后门
“Bicho”(西班牙语:小虫子/昆虫)这款开源硬件后门体积小巧易于藏匿,其基于 PIC18F2580 微控制器,可通过短信接收命令,该功能由热门 SIM800L GSM 模块提供。
伯塔在采访中表示他们没有使用开源电子原型平台 Arduino(能通过各种传感器来感知环境,通过控制灯光、马达和其他的装置来反馈、影响环境),而是自己开发出了硬件,并在其中集成一个 SIM800L 模块,插入了一块 GSM 芯片以识别电话号码。在向该电话号码发送短信之后,硬件后门中的固件即可收取到操作指令。
Bicho 通过研究人员曾经开发的开源“Car Backdoor Maker”桌面软件进行预编程。这款软件拥有非常直观的图形界面。在使用后门之前,其必须通过 USB 接入运行该软件的计算机,并预装各种 payload 以实现远程注入,两位研究人员在其中使用的 payload 为 CAN 帧,他们需要做的就是弄清到底执行哪个 CAN 帧。
伯塔与卡拉西奥罗还建立起 OpenCANdb 在线 CAN 帧数据库,用户们能够根据多种车辆获取特定信息,但这套数据库尚处于早期开发阶段,内容也仍有待补充。
CAN总线汽车均受影响
Bicho 支持多种攻击 payload,且可被用于指向一切支持 CAN 的车辆,不受制造商及具体车型的限制。其中每一项 payload 都能够与来自任意位置的短信指令关联起来。
伯塔解释称,惟一的限制就是大家的想象力以及目标汽车的攻击面。当“汽车在 CAN 总线上的公开程度越高,Bicho 的适用范围就越广。有些汽车甚至会在总线上公开灯光控制、油门位置以及刹车制动等,这使得攻击方能够对这些进行遥控。
在 Hack in the Box 大会上,这两位研究人员将展示一项新功能,证明攻击者完全能够远程关闭汽车 ECU 电脑并导致车辆停止运行。Bicho 还可通过配置实现特定条件检测,例如在目标车辆接近某给定 GPS 位置、超过设定速度或者低于设定的油量水平时自动执行攻击 payload。
Bicho 通过车辆上的 OBD-II 端口接入 CAN 总线,该端口通常位于车辆方向盘下方。潜在攻击者必须首先能够以物理方式接近目标车辆,方可使用这款硬件后门。
CAN是什么?
目前在车辆上应用的信息传递形式有两种。第一种是每项信息都通过各自独立的数据线进行交换,使用传统的汽车线束结构,很多控制器链接在一个装置上,控制器之间可能还会互相干扰,比如两个 ECU(电子控制单元)间有5种信息需要传递,那么则需要5根独立的数据线,信息的种类越多,数据线的数量和控制单元的针脚数也会相应增加。
直到有一天,人们忍不了了,设计出另一个总线架构 CAN,类似于交换机,ECU(电子控制单元)之间的所有信息都通过两根数据线进行交换,通过该种方式,提高了整个系统的运行效率。
CAN 总线还有几个致命的攻击点:
它遵从 CSMA/CD 的交流方式,在任何一个节点搭上总线,都可以看到总线的数据,所以黑客只要找到一个点攻破,就可以看到车内所有数据;
它支持多路访问,网络上所有节点接收数据都经过一条总线,所有数据都在一条线上,发的数据是广播的,所以可以看到很多控制器发的控制指令,如果控制指令是明文,那么就可以通过重放的方式控制汽车的一些设备;
它有一个冲突检测机制,所有节点在发送数据的过程中,会不断检测所发送的数据,预防与其它节点产生冲突,由于这样的机制,只要一直在传统线中发送数据,就可以导致 CAN 总线拒绝服务,车上任何控制器都没有反应。
声明:本文来自E安全,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。