一、论文信息
标题:Stealthy Tracking of Autonomous Vehicles with Cache Side Channels
作者:Mulong Luo,Andrew C. Myers, G. Edward Suh
单位:Cornell University
会议: Usenix security 2020
二、主要贡献
- 首先,发现感知和控制算法的自适应行为可能会引入新的侧面通道漏洞,从而揭示车辆或其环境的物理属性。
- 其次,引入统计学习模型,从缓存访问模式中推断AMCL算法的状态,并从AMCL状态的轨迹预测车辆的路径或位置。
- 第三,利用城市道路上记录的真实传感器数据,在一个真实的软件堆栈上实现并演示了攻击。我们的研究结果表明,自动驾驶软件需要强有力的时间通道保护来保护位置隐私。
三、AMCL算法及其漏洞
定位是一项基于传感器输入确定给定地图上对象的位置的任务。它是许多先进的驾驶辅助系统所需要的,也是自动驾驶汽车所需要的。自适应蒙特卡罗定位(AMCL)是通用MCL的一种特殊情况。
MCL(蒙特卡洛定位)法使用的是粒子滤波的方法来进行定位的。而粒子滤波很粗浅的说就是一开始在地图空间很均匀的撒一把粒子,然后通过获取机器人的motion来移动粒子,比如机器人向前移动了一米,所有的粒子也就向前移动一米,不管现在这个粒子的位置对不对。使用每个粒子所处位置模拟一个传感器信息跟观察到的传感器信息(一般是激光)作对比,从而赋给每个粒子一个概率。之后根据生成的概率来重新生成粒子,概率越高的生成的概率越大。这样的迭代之后,所有的粒子会慢慢地收敛到一起,机器人的确切位置也就被推算出来了。
第一,粒子的数量影响AMCL的内存访问模式,这可以通过缓存侧通道攻击推断出来。 第二,粒子数与车辆运动学在时间上有很强的相关性。 第三,从运动信息可以推断出车辆的路线或位置。
四、缓存侧信道
攻击程序和受害程序(运行AMCL算法的程序)共享缓存。共享缓存意味着一个程序的内存访问可能会影响另一个程序是否能在缓存中找到它的数据。因此,一个程序可以通过测量它自己的内存访问延迟来推断另一个程序的内存访问。当一个受害程序从内存访问它的数据时,它可以驱逐其他程序的缓存数据,以便将它自己的数据带入缓存。攻击程序可以通过测量其内存访问的延迟来推断受害者程序是否有缓存丢失,以及访问了哪个内存地址,从而揭示数据是否在缓存中找到。
五、攻击流程
Prime + probe : 在固定的时间间隔内收集每个缓存集的缓存探测时间,形成一个缓存计时向量序列,其中每个向量表示在特定时间间隔内对缓存集的探测时间。
Particle Predictor: 使用一个二进制分类模型,基于每个时间间隔的缓存定时向量来预测每个时间间隔的粒子数。
Route Predictor: 基于跟踪粒子的数量使用一个随机森林模型来预测车辆的路线或位置。
六、结论
当自动驾驶汽车的感知和控制软件与信任程度较低的软件共享硬件资源时,自动驾驶汽车的位置隐私会受到损害。研究结果表明,独立的硬件应该用于可信的自动驾驶软件和系统的其他部分。
|