课程:《密码与安全新技术专题》
班级: 1892
姓名: 余超
学号:20189220
上课教师:谢四江
上课日期:2019年5月21日
必修/选修: 选修前端
本周的学习主要是讲解我和队友所选的论文,咱们选择的论文题目是“All Your GPS Are Belong To Us: Towards Stealthy Manipulation of Road Navigation Systems”发布在27th USENIX Security Symposium上。这篇论文主要探讨了对道路导航系统进行隐身操纵攻击的可行性目标是触发假转向导航,引导受害者到达错误的目的地而不被察觉。其主要想法是略微改变GPS位置,以便假冒的导航路线与实际道路的形状相匹配并触发实际可能的指示。为了证实可行性,该论文首先经过实施便携式GPS欺骗器并在真实汽车上进行测试来执行受控测量。而后,该论文设计一个搜索算法来实时计算GPS移位和受害者路线。该论文使用追踪驾驶模拟(曼哈顿和波士顿的600辆出租车道路)进行普遍的评估,而后经过真实驾驶测试(攻击咱们本身的车)来验证完整的攻击。最后,该研究组在美国和中国使用驾驶模拟器进行欺骗性用户研究,结果显示95%的参与者遵循导航没有意识到这种攻击就到了错误的目的地。git
现在,全球数十亿用户正依赖移动导航服务。从地图应用程序(例如Google地图、Waze)到出租车共享平台(例如Uber、Lyft),这些服务 ES依赖于准确可靠的GPS输入。最近,全球定位系统在自动驾驶车辆导航方面也开始发挥重要做用,对驾驶安全产生了关键影响。与此同时,全球定位系统应用程序的安全性日益受到关注。gps很容易受到欺骗攻击,在这种攻击中,敌人能够注入伪造的gps信号来控制受害者。 蒂姆的GPS设备。这类袭击确实发生在现实世界中,尤为是针对无人机和船只的袭击。例如,Humphreys等人。演示了一个成功的gps欺骗攻击无人驾驶飞机在。2013年,一艘豪华游艇被故意从摩纳哥转移到希腊,欺骗了它接收GPS信号。到目前为止,攻击者是否能够经过欺骗的GPS信号的输入来操纵道路导航系统仍然是一个悬而未决的问题。考虑到导航系统在公路上被数十亿的司机积极使用,在自动车辆驾驶中发挥关键做用。同时,考虑到大多数道路导航系统都四通GPS信号来进行导航(或紧密地),这个问题对人类来讲是有挑战性的。此外,GPS欺骗操做不太可能成功,主要是由于实际的道路限制。例如,随机的gps操做能够很容易地建立“ph”。 很是不可能的“导航指令”(例如,在高速公路中间左转)。因为攻击的可能性尚不清楚,大多数民用系统没有任何防护机制。github
经过阅读全篇论文,我归纳出本文共作出的三大贡献。算法
咱们进行了一项用户调查研究,以证实在道路行驶过程当中人为的因素能够影响攻击是否成功。这些结果代表,有些司机常见的驾驶习惯大几率会让他们遭受到GPS欺骗攻击,并对结果进行了分析和提出了相应的对策。数据库
1.首先本文介绍了两种攻击GPS信号的方法强制接管和平滑接管。强制接管,欺骗者只是以高功率发送错误信号,致使受害者失去对卫星的跟踪并锁定更强的欺骗信号。平滑接管,接管开始于发送与原始信号同步的信号,而后逐渐超过原始信号以引发迁移。平滑接管隐秘性,强制接管会在接收到的信号强度中产生异常跳跃,平滑接管须要特殊的硬件来实时跟踪并与受害者位置处的原始信号同步,价格更加昂贵。安全
2.接下来介绍了本文使用的便携式的欺骗设备HarkrfOne。由四个组件组成分别是HackRFOne-based前端,Raspberry Pi,便携式电源和天线。总体器件能够放在一个小盒子里咱们将其链接到频率范围在700 MHz至2700 MHz之间的天线,覆盖民用GPS频段L1(1575.42兆赫),Raspberry Pi 能够用做中央服务器,它运行支持SSH的Raspbian Jessie操做系统和LAMP堆栈服务器。GPS卫星信号由一个名为的开源软件生成在Raspberry Pi上运行的无线攻击发射盒(WALB)。 Raspberry Pi具备蜂窝网络链接,并支持经过SSH进行远程访问(Se-并支持经过SSH(Se-cure Shell)。经过控制Raspberry Pi,咱们能够手动或使用脚原本获取实时GPS位置信息。咱们使用10000 mAh移动电源做为整个系统的电源。全部组件都是现成的。总费用大约是223美圆(175美圆+ 35美圆+ 10美圆+ 3美圆)。服务器
3.接着分析了GPS欺骗的可行性:若是攻击者随机改变导航设备的GPS信息,则驾驶员能够容易地注意到路线信息与物理路况之间的不一致。例如,欺骗的GPS位置能够触发导航系统指示“转弯”,可是在实际道路上没有办法向左转。为了让驾驶员相信他在原始路线上驾驶。如何使攻击更加隐蔽?关键是要找到一条模仿真实道路形状的虚拟路线。在这样,导航指令能够与物理世界保持一致。另外一个影响因素是导航系统一般会显示第一人称视角。司机没有看到整个路线,而是关注当前路线和下一个转弯,这可能会增长攻击者成功的机会。网络
4.攻击的原理
并发
5.攻击的算法性能
如算法1所示,基本算法首先从距离绑定Ω的全部链接点中,从实际位置Loca中选择一个鬼位置Loca。而后, 计算从鬼位置到目的地的鬼导航路由Γg=(SG1,Sg2,.,sgm)。为了找到更多的受害者路线尽量,咱们经过m深度宽度优先搜索从实际位置遍历图.咱们在每一步都保持符合如下条件的候选路线:
分段长度匹配:给定一个速度刻度因子Ω速度,鬼魂的旅行距离应在(1±Ω)倍于受害者实际TRA的范围内 每一个节段上的距离同样,这保证了在重影和受害者路由上的段长度是类似的。
迭代攻击算法
在基本攻击中,攻击者只将GPS位置从LOCA移动到LOCF。这里,咱们提出了一种迭代攻击,使攻击者可以在不一样位置建立多个漂移, 受害者正在开车。经过迭代地应用基本攻击算法,能够显著提升攻击性能,由于可使用部分匹配的受害者-重影路由,在受害者移动时搜索新路线。如算法2所示,对于每次迭代,咱们首先检查攻击目标是否已经实现。若是不是,咱们在新幽灵r上建立另外一个位置移位。 从前一次迭代中提取出分段,并应用基本的搜索算法。攻击者的目标多是“到达预先定义的目标”或“输入错误的方式”,这有助于终止 早期搜索。
6.真实驾驶测试
为了实现完整的攻击算法,并经过实际驾驶测试验证了算法的可行性.两位做者用咱们本身的车进行了一样的攻击。一名提交人担任司机(V) 严格遵照了在手机上运行的GoogleMaps(V9.72.2)的导航指令(小米Mix2与Android8.0和与Android6.0的华为P8)。另外一个做者坐在上面 在后座上操做欺骗器,并在笔记本电脑上运行攻击算法。如前所述,欺骗者能够将假的gps信号与真实的gps信号区分开来,从而使攻击者知道真实的gps信号。 受害者的位置。实际驾驶测试的目的是在用户须要进行导航测试以前,检查欺骗者是否可以实时触发假导航指令。
与早期测量相似,咱们得到了当地无线电监管机构的法律许可,并专门在中国进行了试验。此外,咱们已采起积极步骤, 确保欺骗信号不会影响无辜的用户或汽车。更确切地说,咱们在午夜后在郊区进行了测量,当时路上几乎没有其余汽车了。 。为了减少欺骗信号的影响,咱们将欺骗器的发射功率降到最小(-40 dBm),而后使用衰减器(30 DB)来下降锁定后的信号强度。 汽车的金属结构也做为一个屏蔽,以包含欺骗信号(约15分贝的衰减)。
在两种不一样的路由上进行了测试
A行→D表示原始路径
蓝线表明幽灵路线
黑线表明受害者
A是用户的实际位置
B是对应的鬼位置
C是用户的改道目的地
D是原来的目的地
在第一种状况(图6a),攻击者设置鬼的位置到原来路线上的另外一个地点。测试代表,这确实能够避免触发“从新计算”语音提示。这条路线花了九分钟,司机很成功。 彻底改道到预约地点,距原目的地2.1千米。
在第二种状况下(图6b),攻击者将鬼位置设置在原始路由以外,这将触发 一个“从新计算”语音提示。这一次,司机驾驶了五分钟,并被转向2.5千米之外。在这两种状况下,智能手机都被锁定在欺骗信号上,而没有掉一次。 假位置序列以10赫兹的更新频率平稳地输入手机。尽管在GoogleMaps中嵌入了标题和过滤器的潜在交叉,导航指示仍是被及时的触发。
7.用户的调查研究
咱们招募了40名参与者(20名在美国,20名在中国)。在40名参与者中,男性30名,女性10名。男的,17人是26-35岁,20人是18-25岁,3人是36-50岁。在驾驶经验方面,22人驾驶少于3年,16人驾驶3至10年,2人驾驶。十年到二十年。咱们的参与者对TechSavvy用户略有偏见:20名用户(50%)具备计算机科学背景。
美国参与者对陌生地点的平均得分(7.85分)远高于熟悉的地方(4.55分)。结果来自中国的是一致的(10.0比3.93)。这意味着,咱们的攻击可能不适用于熟悉的地区,由于人们不依赖GPS。用户更可能依赖语音提示和可视。 说明比文字信息。咱们呈现一个GoogleMaps屏幕,并询问参与者一般依赖哪些信息来作出驾驶决策(一个多选择的问题)。在美国, 13名用户(68.4%)选择语音提示,11名用户(57.9%)依赖道路形状和箭头等视觉元素,只有6名用户(31.6%)选择文本信息(如街道名称)。结果fr 中国是一致的。这些结果有利于咱们的攻击,这是为了操纵声音和视觉元素。咱们的攻击取得了很高的成功率(95%)。在40人中,只有一名美国参与者和一名中国参与者认出了此次袭击。其他的38名参与者都完成了这四项任务。 NDS的驱动任务,并跟随导航到达错误的目的地。识破攻击的缘由都是,驾驶者发现当时行驶的公路名称和谷歌地图上的不同.
在驾驶任务中,咱们观察到几乎全部的参与者都注意到GPS信号在接收阶段丢失(大约30秒),但仍然继续在路上行驶。一旦G PS信号回来后,他们继续遵循导航指令。咱们随后的采访显示,大多数用户之前都经历过GPS故障,这还不足以提醒他们。在循环中。结果还指出了三种可能会提醒用户的不一致之处:(1)公路与当地道路的不一致;(2)不一致的街道名称;(3)不一致的T地标(例如加油站)。更先进的攻击能够经过过滤掉这些路线来进一步避免“公路-地方方式”的不一致。另外两个因素取决于司机是否有 习惯(并且有时间)反复检查周围的环境.此外,咱们的访谈还显示,大多数人在现实生活中都经历过gps故障,这使他们更加宽容
1.基于修改的方法。首先,最有效的解决方案是升级民用GPS信号,使用P(Y)码加密。研究人员还提出了下一个基因的信号认证。 全球导航卫星系统[29,64]。然而,这种方法很难在短时间内占上风,由于大量的民用gps设备已经运出了。
2.基于计算机视觉的位置验证。咱们相信一个有但愿的防护方向是使用计算机视觉技术自动交叉检查物理世界地标和街道标志。 用数字地图。回想一下,在咱们的用户研究中,两位参与者以相似的方式识别了攻击。鉴于移动设备和车辆上的摄像机/lidar激增, ED位置验证只须要软件级别的升级。到目前为止,基于视觉的技术可使用视觉测定仪和路线图精确地定位车辆(最多3米)[13,42]。模拟 OU定位和映射)还能够基于地理引用的街道视图数据库[69]对图像进行本地化。
3.在本工做中,咱们对GPS欺骗攻击进行了优化,使其具备隐蔽性,这就必须在其余因素上作出妥协。首先,咱们的攻击效果会在郊区或路结构稀疏的区域下降。然而,鉴于世界上54%的人口生活在城市地区,此次袭击可能会影响到许多人。第二,攻击并不适用于全部的人。 用户。咱们的目标用户是在不熟悉的地区旅行,由于这些用户更可能依赖GPS进行导航。咱们还认为,日益流行的自动驾驶系统会削弱人们的警戒程度。
1.实验器材
2.实验环境:
硬件平台---HackRF One、GPS外部时钟、天线(700-2700MHz)
软件环境---Ubuntu运行HackRF环境
系统版本信息---Ubuntu-14.04 (64-bit),内核:3.13.0-32-generic
GPS终端---手机
3.实验步骤
①.首先进入已经搭建好软件环境系统Ubuntu-14.04
②.建立一个文件夹,打开命令窗口ctrl+alt+t
③.进入建立的文件夹,下载编译GPS仿真器代码(gps-sdr-sim)代码:git clone https://github.com/osqzss/gps-sdr-sim.gi
④.进入代码文件夹中:cd gps-sdr-sim
⑤.进入文件夹后,用gcc编译代码:gcc gpssim.c -lm -O3 -o gps-sdr-sim
⑥.在网站http://www.gpsspg.com/maps.htm上查询一个你感兴趣的地方的GPS经纬度信息,而后按照这个经纬度信息经过GPS仿真器生成GPS仿真数据:./gps-sdr-sim -e brdc3540.14n -l 31.603202,120.466576,100 -b 8
等待执行上述命令,执行结束后,文件夹中多出的gpssim.bin文件,就是咱们模拟生成的GPS数据。
⑦.用HackRF来发射在上一步中模拟生成的伪造数据:hackrf_transfer -t gpssim.bin -f 1575420000 -s 2600000 -a 1 -x 0
打开手机中的高德地图或者百度地图等定位APP,你会看到你如今所在的真实位置,等待一段时间后,地图会定位到给定的经纬度附近。(命令参数解析:”gpssim.bin”为GPS数据文件,用-f来指定频率为1575420000 ,即民用GPS L1波段频率,用-s来指定采样速率2.6Msps,开启天线增益,指定TX VGA(IF)为0,发送指令末尾0表示天线增益(发射功率,最大可到40,增大发射功率能够加强伪造信号的强度,扩大其影响范围,在发送指令的后面加入 -R可以使hackrf one一直工做。)
4.实验结果
4.1使用手机在手机4G, WIFI,飞行模式进行验证结果以下:
地图上显示从南京邮电大学变成了无锡碧桂园,欺骗成功。
4.2手机gps欺骗结果分析:
下面是经纬度的截图和当时的卫星信号的强度,由于信号是被伪造出来的并且离接收设备得很近,因此信号强度很高且差异不大。
4.3实验中发现小米、中兴、vivo手机没法被欺骗。目前收集的资料代表缘由以下:
AGPS(Assisted GPS,网络辅助GPS)定位技术:结合了GPS定位和蜂窝基站定位的优点,借助蜂窝网络的数据传输功能,能够达到很高的定位精度和很快的定位速度,在移动设备尤为是手机中被愈来愈普遍的使用。AGPS分为两种:
MS-based:移动站将精密的星历和无缺性信息传递给手机,手机根据星历本身判断搜索卫星,本身解算当前的位置。计算在手机上完成。
MS-assisted:设备将接收到的GPS信息经过蜂窝网络传输给AGPS位置服务器,AGPS服务器根据信息,并结合其余途径(蜂窝基站定位、参考GPS定位等)获得的辅助定位信息,计算出最终的位置坐标,返回给设备。
4.4实验的过程当中手机收到了伪造的GPS信号,但在计算位置时一般有两种方案—在移动设备端进行计算的MS-Based方式和在网络端进行计算的MS-Assisted方式。目前大部分支持AGPS的手机采用一种纯软件的AGPS方案。由此猜想:
①绝大部分的手机都是采用MS-based方式计算位置,能够被欺骗;
②小米,中兴等部分手机没法欺骗多是采用了MS-assisted,手机将接收到的信号发送给AGPS定位服务器,服务器完成计算并发送给手机,但在这个过程当中计算的位置与基站蜂窝计算的位置相差太大,手机可能使用了基站的位置而没有采用gps信号定位;
③手机里面相关硬件以及系统处理不一样;
④苹果手机是默认gps为最高优先级的信号,苹果手机能够被欺骗并且手机上的时间也能被修改。
4.5手机的定位种类一、GPS定位。二、基站定位。三、WiFi辅助定位。四、AGPS定位。五、Glonass定位。六、北斗定位
基站定位:手机同时搜索到至少三个基站的信号时,只须要以基站为圆心,距离为半径屡次画圆便可,不过至少须要三个基站的信号才能够,因为基站定位时,精度大约在150米左右,基本没法开车导航。定位条件是必须在有基站信号的位置,手机处于sim卡注册状态(飞行模式下开wifi和拔出sim卡都不行),并且必须收到3个基站的信号。
实验以下:咱们用vivo手机实验,在预先下载好上海的地图,而后拔掉sim卡,关闭wifi后,成功被欺骗。
4.6车载gps欺骗
左图为车载GPS接收到的GPS信号状况,右图为车载定位地图界面,实际地点与实际不符,车载定位被成功欺骗。
我说选的论文是关于GPS欺骗的,这个方面的知识我在本科作过一些实验。经过对这篇论文的学习,个人感触很深!首先这篇论文的创新点在于,本身设计了一个全新的算法,而且将GPS的欺骗应用到汽车导航中,这个算法能够经过搜索一个鬼位置,让驾驶员误觉得这就是本身当前的位置,而后经过搜索类似的路径来进行欺骗。以往的GPS信号欺骗就是一个简单的位置欺骗, 这些工做主要集中在简单的经过在目标设备[设置随机位置来进行欺骗,并无真正的引导用户前往一个预先设定好的位置。其次,我跟老师同窗们交流的时候,以为这篇论文也能够换一种思路来理解,这种方法也能够应用于隐藏真实的地址,保护隐私。最后,我以为在从此的学习过程当中,咱们要多多思考,多角度的去理解一篇顶会论文,从多个方面去寻找创新点,好比能够改进算法,或者如何预防某种攻击等!