目前,一些新开发的算法已经能够用于检测网络异常情况,包括入侵检测系统、恶意软件防御和行为分析等。
仅仅在十年之前,汽车产业还在使用一些功能匮乏的处理器,它们只能使用行业标准总线来实现一些基础性的功能。而当今汽车配备的SoC (System-on-Chip)功能设计已经有了显着提升,能够执行的工作也大大增多。
自动驾驶汽车若要在此基础上更进一步,将需要足够强大的处理能力,来根据感知输入内容做出重要决策。
但在增加复杂性的同时,脆弱性也会随之升高。两年前,安全研究人员Charlie Miller 和Chris Valasek演示了如何通过互联网连接远程攻击一辆Jeep切诺基。二人通过远程攻击,能够使车辆在公路上瘫痪。他们的一系列实验表明,黑客如果能通过有线连接或互联网连接的方式进入丰田Prius、福特Escape和Jeep切诺基等车型,就能转动方向盘、实施刹车或使刹车失灵、甚至能控制部分车辆的油门。
Miller和Valasek攻击演示利用的是车辆的一些基础性自动驾驶功能。例如,他们利用丰田的防撞系统对Prius实施刹车;利用Jeep的巡航控制功能来实施加速;利用Jeep的自动停车系统,让车辆误认为正在进行自动停车,从而能够转动方向盘,而实际上,车辆当时正在以80英里/小时的速度行驶。
换句话说,这些攻击都需要依靠由车载计算机控制的一些功能。从理论上说,可以利用自动驾驶汽车的所有功能来实施攻击,因为其所有控制系统均由计算机控制。
本文将概述汽车厂商如何利用一种新的运算技术——机器学习来保护自动驾驶汽车的安全。这些系统已经开始在信息安全方面扮演重要角色,一些新开发的算法已经能够用于检测网络异常情况,包括入侵检测系统 (Intrusion DetectionSystems,IDS)、恶意软件防御和行为分析等。机器学习系统对于自动驾驶技术的实现发挥着基础性的作用,而对于车辆和驾驶者的安全保护,也将扮演重要角色。
潜在攻击方向
黑客将如何确定目标自动驾驶汽车?恶意指令可能有多种不同来源,车辆配件将是一个主要的风险来源:所有现代汽车中都具有ODB-II端口,加州大学圣迭戈分校的安全研究人员利用它插入了一个联网装置,成功为远程攻击者提供了攻击车内最敏感系统的侵入点。
如今这种风险正在逐渐增加。由于消费者不常使用ODB-II端口,更多的现代车辆开始配备USB端口和蓝牙等技术,这导致与汽车配件进行通信变得非常简单,因而增加了恶意软件在不经意间入侵车辆的风险。
还可能从外部攻击自动驾驶汽车。V2V通信正在逐渐成为汽车厂商为现代车辆配备的一项标准功能,它能够在道路上实现车辆彼此间的通信,可用于分享交通流量、前方事故或恶劣天气等数据。这类通信通道是自动驾驶汽车系统进行导航和控制的重要数据来源,但也会使车辆变得更容易受到攻击或跟踪。
机器学习如何保护自动驾驶汽车
与机器学习在其他方面的应用一样,若要部署用于抵御自动驾驶汽车安全风险的人工智能,首先要收集和存储正确的数据。如果使用能存储和分析日志的平台来监控车辆内部网络,那么车辆将能自行检测到恶意活动,并抵御攻击,或者至少能提醒驾驶者,减轻攻击可能产生的影响。
以安全防护中广泛使用的Elasticsearch为例——这种搜索引擎使用的就是一种能够存储和分析日志的高效平台。下图展示了汽车用户日志将如何流入Elasticsearch 数据库,并在其中接受针对潜在攻击的运算检测。
在对自动驾驶汽车完成用于收集和存储用户日志的配置之后,机器学习就将开始参与所有异常情况的检测。攻击检测模型是一种能够通过互联网连接或车载端口对从外部世界接收的信号和服务数据进行分析的平台。这类算法可用于检测恶意软件活动、通信行为或反常指令,比如当汽车在公路上行驶时启动停车模式。
由于车辆网络系统只需负责一方面的工作,不像标准的计算机网络需要接收多样化的用户输入内容,所以与典型的计算机网络相比,汽车的数字通信更容易预测。因此,可以采取无督导机器学习 (unsupervised machinelearning) 等手段来训练一种算法,用于更加准确和简便地区分恶意攻击与“正常驾驶行为”,使车辆能够防御攻击或提醒驾驶者。
案例研究:机器学习能够检测和阻止攻击
Miller与Valasek开发的反黑客解决方案是车辆系统中“学习与防御”装置的一个范例。该装置是为具有某些自动驾驶功能的车辆配备的入侵检测系统。
这种装置以一个恩智浦(NXP)通用微控制器为基础,通过一块线路板插入ODB-II端口。在车辆行驶的最初数分钟里,它将以观察模式运行,从而能采集车辆的典型数据。之后,它将切换到检测模式,监控系统中的异常情况,比如反常的洪流信号(flood signal)或命令等。如果发现“不良”信号,它就会使车辆进入“缓慢行驶模式”(limp mode)——关闭网络,并禁用助力转向 (power steering) 和车道辅助功能,直到车辆重新启动。
发现异常情况后,可能触发两种不同的动作:防御和警告。
“防御”模块用于“告知”车辆忽略那些恶意命令,并可用于阻止企图使用相同手段的攻击者。“警告”模块用于实时发送(或显示)通知,让驾驶者能够采取相应对策,或将攻击情况自动报告给主管机构,可通过安装到车内的仪表板来扩展该模块。
总体上看,汽车的数字通信远比通常的计算机网络容易预测,对于车辆信息安全来说,这一点非常有利。在汽车世界里,由于信号的变动不大,所以出现异常情况时可能会非常明显。
向5G数据网络的过渡,加上云服务流程的灵活性,为利用机器学习保护自动驾驶汽车奠定良好基础,使车辆能够在几毫秒之内检测到威胁并做出响应。