▲ 《速度与激情8》片段截图
雷锋网按:本文作者为奇虎360企业安全集团安全服务JMPESP实验室资深安全研究员(知乎ID:elknot),研究方向为数据驱动的安全运营。雷锋网获授权发布文章,如欲转载,请与作者本人联系。
《速度与激情8》最近在国内热映,引发各路影迷广泛讨论。在作者看来,影片涉及到的黑客技术主要有两个——天眼(The Eye)和僵尸车队(Zombie Cars),这两个东西其实和现实当中两项比较前沿的安全技术——汽车及物联网安全和攻击者溯源相关。雷锋网摘取了作者针对僵尸车队的技术解读部分并进行了编辑。
▲ 被激活的“僵尸车”
首先我们先来说说智能汽车和非智能汽车,智能汽车其实就可以当做一个物联网设备来解决,也就是说智能汽车的攻击面和其他IoT设备的攻击面是差不多甚至更多的。
其实汽车和计算机一样,内部通信依靠总线进行,汽车中的总线就是CAN总线。
CAN网络是由以研发和生产汽车电子产品著称的德国BOSCH公司开发的,并最终成为国际标准(ISO 11898),是国际上应用最广泛的现场总线之一。CAN总线协议目前已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线,同时也是车载ECU之间通信的主要总线。当前市场上的汽车至少拥有一个CAN网络,作为嵌入式系统之间互联的主干网进行车内信息的交互和共享。
CAN总线的短帧数据结构、非破坏性总线仲裁技术、灵活的通讯方式等特点能够满足汽车实时性和可靠性的要求,但同时也带来了系列安全隐患,如广播消息易被监听、基于优先级的仲裁机制易遭受攻击、无源地址域和无认证域无法区分消息来源等问题。
特别是在汽车网联化大力发展的背景下,车内网络攻击更是成为汽车信息安全问题发生的源头,CAN总线网络安全分析逐渐成为行业安全专家聚焦点。如2013年9月DEFCON黑客大会上,黑客演示了从OBD-II控制福特翼虎、丰田普锐斯两款车型实现方向盘转向、刹车制动、油门加速、仪表盘显示等动作。汽车车内CAN网络安全问题当前主要通过安全漏洞的分析和各种攻击手段进行挖掘,因为汽车车内网络安全的脆弱性和威胁模型的分析尤为关键。
这么说来,只要抓住了CAN总线,我们就相当于是抓住了汽车的神经,也就能对汽车进行控制。
▲ 影片中自动驾驶状态下的汽车
第一个后果是失控:CAN总线主要应用之一是支持主动安全系统的通信。车辆行驶的时候,主动安全系统将是一把双刃剑,它们确实发挥着不可替代的作用,但是考虑到主动安全系统的可操作和有能力调整正确的输入,也会引起驾驶者对主动安全系统的完全依赖。因此一个突然的故障会引起不可预知的危险后果。
为了引发一个危险的条件,恶意攻击者将会在CAN总线中注入错误帧,让主动安全系统失灵。例如,在牵引力控制系统里安装一个攻击,会造成车辆失去控制等危险。如果攻击者的目标是自适应巡航系统,将会导致汽车不会按驾驶者预期的那样停止。
此外,为了最大可能地伤害汽车驾驶者,假如数据可以直接从CAN总线上获取,攻击者可以根据特定的条件,触发一个DoS攻击。例如汽车某一特定速度、特定的节气门百分比或者是某一确切的GPS位置等。
第二个后果就是勒索:一个恶意攻击者在CAN总线中某一目标帧中设置攻击,这将会导致驾驶者无法控制节气门的位置从而不能让汽车移动。尽管这些不一定会诱发危险状态,但一个以金钱为目的的攻击者,将会利用车载娱乐系统的漏洞,迫使汽车停止,并在娱乐系统屏幕上显示消息,让车主为了重新获取汽车的操控权而去付赎金。
第三个可能是盗窃:现在,大部分昂贵的汽车门锁是通过CAN连接到ECU来控制,通常通过OBD-II端口连接。隔离负责控制锁/解锁车门的数据帧比逆向主动安全设备更简单、更快捷。因此,攻击者可以在几分钟左右隔离负责锁车门的数据帧,编写他的设备程序-特定帧的DoS攻击,然后把设备插入到OBD-II的接口,阻止车门锁住。对于一个攻击者来说,这个攻击结果是可能的。通过低成本的花费就能进入到车内,随后就能够窃取车内任何贵重物品。
长期以来,几乎整个汽车界都有这样的共识:CAN总线是没法保护的。
两方面的原因,其一,ECU的计算处理能力不足;其二,车载网络的带宽有限。有些LIN总线使用的MCU甚至是16bit或8bit,但AES使用的加密算法只能处理16字节区块的数据,这意味着很多时候LIN总线根本就是处在“裸奔”的状态。
所以汽车安全未来肯定是炙手可热的一部分。
作者注:本文中的技术仅供交流,如有疏漏还请大家批评指正。