【攻击原理】
在之前的技术铺垫之下,本篇我们针对LKAS系统的攻击行为本身进行介绍:
-
Car Motion Model based Input Generation
ØSimulate inter-dependency by bicycle model/考虑到这种针对运动车辆的攻击设计和实现,都是非常危险的。因此整个论文里其实并没有涉及到对于这种攻击方法的实际道路测试。但对于论文本身来说,实际的攻击效果通过“仿真”测试手段如果可以实现,那就已经是可以接受的了。因此在攻击实现的过程当中、以及攻击效果验证的过程当中,一个相对真实的“仿真”环境就是必要的。实现攻击的第一步,就是要设计“仿真方法”,首先,“仿真”环境所提供的视觉输入,可以用来训练攻击手段——脏补丁/Dirty Patch的图案和形状;其次,“仿真”环境所提供的视觉输入,也可以在脏补丁/Dirty Patch形成之后进行批量的反复验证。
论文中提到的这种仿真环境搭建方法,主要包含了视觉信号的捕捉方法,如下:
在期望的攻击行为发生时,车辆是在一段时间/一段距离的尺度内发生快速朝向临近车道偏转的,在偏转的同时,车载摄像头(车道线识别LKAS部分的主要传感器)的输入同样会根据车身的转向偏离而偏离。这部分的视觉输入信息在实际道路正常行驶中是无法准确捕获的,因此需要设计新的方法来合成所需的视觉信息。
这种方法就是通过采集在正常行驶车辆(沿车道直线行驶)视觉信息,在其图幅中,特别地将偏转5度(左偏)的视觉信号内容和平移到右侧1m的视觉信号留存,并将其重新编辑-合成,从而形成在车辆在仿真环境中由于脏补丁攻击而产生轨迹偏转时期的视觉输入。论文中提到,合成之后的图像在训练和测试攻击补丁时,虽然无可避免地有失真,但确是是足够好用的。
-
Multi-frame Path Bending Objective Function
Ø Designattack as optimization problem considering inter-dependency/目标函数的确定是整个攻击行为中最重要的部分,如下图:
之前我们介绍过的LanNet+H-Net道路线识别方式,和其对接的LKAS道路保持控制系统(PID方式)。通过这种分离的介绍方式,识别+控制两个过程,我们试图让读者明白这个闭环的LKAS保持系统的基本原理。实际上,这两个过程也可以通过端到端来实现从识别到控制的一步完成,我们不推测Openpilot是否是这种End-to-End的识别,但是通过上述的攻击行为的目标函数来看,这是一个根据视觉信号直接驱动方向机构(方向盘)控制车辆实现LKAS的过程。
目标函数看起来虽然比较复杂,但实际上我们也没有必要完整理解其内涵(实际上,攻击论文的作者给出的目标函数隐藏了其真正的技术细节),只要通过方法论研究这种攻击方法的本质即可实现我们的目标。
这个目标函数的本质就是“弯曲曲线”,经过合适的设计,出现在道路中央的脏补丁,可以通过视觉信号被LKAS的DNN网络所捕捉,并直接错误驱动方向盘,让其沿着目标函数所定义的“弯曲曲线”偏转而构成危险。这是目标函数的核心定义。
在目标函数中,直接涉及的输入参数包含:X1….XT和S0,这是指定的输入。具体的含义是,Xt是第t生成的包含恶意道路补丁(即脏补丁)的摄像头输入视觉信号,s0是初始状态(攻击起始时的道路环境)。而pt(x)是第t帧中的所需行驶路径,即为DNN深度神经网络所直接/间接驱动的方向盘角度,Pt(x)的参数是d/D,这代表是控制器做出的转向角决定时所阅读的路面图案(点集合),以及Xj和S0初始和历史累计条件输入视觉信号。
因此目标函数的核心已经很清楚地展示给我们了,驱动车辆的Pt,在每一个时间点,都是由当前摄像头捕捉的路面图案点集合(包括脏补丁)和历史+初始点集合所综合决定的,我们只要定义在规定时间和长度内所必须偏转的路线(弯曲的和道路实际曲度不相吻合),通过不断优化脏补丁的图案,总是可以找到让车辆复合目标弯曲函数的图案点集合,即可完成攻击!
后面的是L2的正则表达,它的引入完全是为了弯曲曲线更合理而更具备一般化的特性。我们不做深究了。
讲到此,由深度学习基础的读者应该都能明白了。这是先确定好弯曲路线的目标函数之后,通过不断学习来寻找最适合最匹配的脏补丁图案点集合的一种攻击方法。理论上,是行得通的。
-
Gradient Aggregation
Ø Updatemalicious road path while keeping inter-dependency , realizability, andstealthiness/这里是一个比较工程化的视觉信号角度转化方法,和H-Net的功能基本一致。
即将行车摄像头倾斜角度所捕捉的路面信息,转换为BEV俯视信息,从而便于处理。这是比较常用的工程处理,我们不做展开。
因此最终的攻击方法训练,如下图:
训练闭环中,围绕设定好的目标函数(道路弯曲函数),提供带有脏补丁的视觉信息给Camera,经过DNN处理后,迫使车辆按照道路弯曲函数行驶而偏离实际车道线。此种状态下对应的脏路补丁,即为合格的攻击补丁。
论文本身只提供了仿真结果和简短的仿真视频,从仿真上看,有效。但实际在真是道路上是否有效,以及是否有真正威胁的普及性,不能确定。因此,类似攻击方法最大的价值在于,揭示了很大程度上不可解释(黑箱)的机器学习,在对待威胁上的不确定性。克服这种不确定性的一个非常重要的原则是,做出任何实际操作级别的动作之前,应该对感知和识别系统的要求要尽可能高和复杂,而做出综合判断。单一的感知输入,容易被利用。
全文完。
车右智能
info@co-driver.ai
备注:
1 题图来自于互联网;
2 插图1/2/3,来自于论文https://www.ndss-symposium.org/wp-content/uploads/2020/02/NDSS2020posters_paper_15.pdf;
相关专题文章:
车道保持系统LKAS的弱点是否会被抓住并放大? ——针对基于深度学习的LKAS系统攻击分析(1)