在国内的自动驾驶行业里,这几天一则挺震撼的消息显示针对LKAS车道保持系统的攻击在理论和实验室级别的实践上得到实现,如下标题,还是挺惊悚的。
“针对已经普及、并达到很高产品化水准的LKAS系统,我们可以在0.9秒内让其偏离高速公路车道线……”
如果属实(特别是如果能高效触发转向误操作),确实是很严重的问题。因为多数使用并且依赖车道保持系统的司机,尤其在长途高速环境下,还不应该是极少数。一旦中招,撞击护栏和邻道车辆的可能性还是很大的。文中也提到了,根据统计,使用LKAS司机在从LKAS意外偏离功能中反应并接管驾驶的时间在2-3s这个量级。这就意味着0.9s的杀伤力足够大了。
根据公开的论文简报看,这种攻击手段还是有比较特别的地方值得我们关注。以下我们会逐一分析。
【攻击实现的表象】
如下图所示:
上图中的天蓝色框中所显示的即是所谓的“攻击补丁”。图中使用了一种区别于路面本身的颜色(黑色夹杂白色碎条纹)进行区别显示。大概率上,实际的“攻击补丁”外观并不如上图所示。因为第一,这是这种攻击行为的实际输出,哪怕是直接在论文中给出概要图,对于公众交通也是不安全的因素;第二,按照论文的描述,“攻击补丁”的图案是和道路直接相关的,也和不同的LKAS系统和背后的DNN模型相关,所以它一定是变化的。理论上不应该有一种图案通吃所有车辆和其LKAS系统的局面。
当然,上述条件都满足,攻击行为的效果还是很惊人的,指定的、且单纯的LKAS系统(没有其他辅助措施)可以最短在0.9s的时间内被引导到错误的车道上,从而产生强烈的不安全因素。
【被攻击对象的限定】
首先是单纯的LKAS车道保持系统,小编理解就是针对目前普遍存在于Level-2辅助自动驾驶中的LKAS子系统。提了Openpilot,理由其实也很简单,Openpilot是开源的,攻击团队可以拿到完整的代码和Openpilot所拥有的LKAS算法及模型,这是攻击团队实施攻击(攻击补丁)推断的理论基础。
其它真正商业的车辆LKAS系统模型具体是如何构建的,模型多大规模多少参数,攻击方如果不掌握具体细节,这个“攻击补丁”就没法计算,也就谈不上攻击的实现了。
另外小编一直强调是针对L2系统范畴内的LKAS攻击,是因为L3和以上的自动驾驶系统中,也会同样拥有LKAS车道保持功能。但是L3及以上的自动驾驶系统当中,“车道保持”本身不会是一个孤立的识别——控制任务,而必然是和其他任务的联合任务。
举个例子,在Tesla的Autopilot当中,对于车道线的识别(这是车道辅助LKAS功能的前提)功能,本身并不孤立,他是Tesla多任务体系中的一个环节。识别车道线的同时,也会对于路面上的其它目标和表示同时进行识别,并综合判断,并给出方向盘和油门控制数据输出。因此我们在很大程度上可以理解为Autopilot的多任务识别系统,比较类似人类的功能——人类司机驾驶,就不会只盯着道路线,车道线一旦有异常,驾驶员很容易综合判断其它的识别目标而做出安全避险决策。
例如上图:路面和车道线标识断裂并偏离正确方向,如果是单纯的L2的LKAS系统,在驾驶员的脱离管理下,是有可能出问题的。但是真正的自动驾驶系统,就会根据道路上的其他参照物,在车辆有跑偏危险的前提下减速或者其它安全处理。
论文中提供了一大堆可能使用Openpilot或者基于Openpilot发展的LKAS系统的品牌,我们这里就不一一罗列了。
后续我们会描述一下这种攻击方法的实现原理,以及这种攻击方法为什么和之前已经大量出现的、针对自动驾驶系统的各种攻击方法不一致的地方,而这也正是其真正危险的地方。
敬请期待!
车右智能
info@co-driver.ai
备注:
1 题图来自于互联网检索;
2 插图1/2来自于论文https://www.ndss-symposium.org/wp-content/uploads/2020/02/NDSS2020posters_paper_15.pdf,文中的主要被引用内容,也来自于此论文;
3 插图3皆来自于twitter.com的公开资料引用。