20189208 2018-2019-2 《密码与安全新技术专题》论文学习及报告总结
课程:《密码与安全新技术专题》
班级: 1892
姓名: 杨晨曦
学号:20189208
上课教师:谢四江
上课日期:2019年5月21日
必修/选修: 选修
1.本次论文的学习总结
本团队选择的论文是《All Your GPS Are Belong To Us: Towards Stealthy Manipulation of Road Navigation Systems》。这是一篇发布在27th USENIX Security Symposium上的论文,符合老师提出的顶会文章的要求。下面介绍论文的主要内容。
这篇论文主要探讨了对道路导航系统进行隐身操纵攻击的可行性目标是触发假转向导航,引导受害者到达错误的目的地而不被察觉。其主要想法是略微改变GPS位置,以便假冒的导航路线与实际道路的形状相匹配并触发实际可能的指示。为了证明可行性,该论文首先通过实施便携式GPS欺骗器并在真实汽车上进行测试来执行受控测量。然后,该论文设计一个搜索算法来实时计算GPS移位和受害者路线。该论文使用追踪驾驶模拟(曼哈顿和波士顿的600辆出租车道路)进行广泛的评估,然后通过真实驾驶测试(攻击我们自己的车)来验证完整的攻击。最后,该研究组在美国和中国使用驾驶模拟器进行欺骗性用户研究,结果显示95%的参与者遵循导航没有意识到这种攻击就到了错误的目的地。
2.本篇论文研究背景
如今,全球数十亿用户正在使用移动导航服务。虽然gps欺骗是已知的威胁,但目前尚不清楚欺骗攻击能否真正操纵道路导航系统。..现有的工作主要集中在通过随机设置用户位置来进行简单的攻击,这可以很容易地触发与实际道路条件相矛盾的路由指令(即,很容易不触发)。(可凭票)。
3.本篇论文的主要贡献
本文探讨了一种针对道路导航系统的隐身操纵攻击的可行性。目标是触发假的逐转导航,以引导受害者到达错误的目的地而不被注意到。主要想法是稍微改变gps的位置,使假导航路径与实际道路的形状相匹配。
- 为了证明该方法的可行性,我们首先通过实现便携式GPS欺骗器并在实际汽车上进行测试来进行受控测量。
- 设计了一种计算Th值的搜索算法。e.实时移动GPS偏移和受害者路线。
- 我们使用跟踪驱动的模拟(曼哈顿和波士顿的600个出租车线路)进行广泛的评估,然后通过RE验证完整的攻击AL-世界驾驶考试(攻击我们自己的汽车)。
- 对美国和中国的驾驶模拟器进行了欺骗性的用户研究。显示,95%的参与者遵循导航。N到错误的目的地而不认识到攻击。
- 用这些结果讨论了反措施向前发展的方向。
- 探讨了对道路导航系统进行隐身操纵攻击的可行性
4.本篇论文的研究思路
我们实施了便携式GPS欺骗器来执行受控实验
四个组件:HackRF One-based前端,Raspberry Pi,便携式电源和天线
整体欺可以放在一个小盒子里
我们将其连接到频率范围在700 MHz至2700 MHz之间的天线,覆盖民用GPS频段L1(1575.42兆赫)。 Raspberry Pi 3B(四核1.2GHz Broad com BCM2837 64位CPU,1GB RAM)用作中央服务器。 它运行支持SSH的Raspbian Jessie操作系统和LAMP堆栈服务器。 GPS卫星信号由一个名为的开源软件生成在Raspberry Pi上运行的无线攻击发射盒(WALB)[6]。 Raspberry Pi具有蜂窝网络连接,并支持通过SSH进行远程访问(Se-并支持通过SSH(Se-cure Shell)进行远程访问。通过控制Raspberry Pi,我们可以手动或使用脚本来获取实时GPS位置信息。我们使用10000 mAh移动电源作为整个系统的电源。所有组件都是现成的。总费用大约是223美元(175美元+ 35美元+ 10美元+ 3美元)。
受害者是纽约市的旅行者,他不熟悉该地区,因此依靠GPS应用程序进行导航。图3a显示受害者正在从新泽西州的汉密尔顿公园(P)开车到曼哈顿的帝国大厦(D)。假设攻击者接管受害者在Lincoln Tun nel(A)出口处的GPS接收器,如图3c所示。攻击者创建错误的GPS信号以将GPS位置设置为附近的“主机”位置B.为了应对错误的位置漂移,导航系统将重新计算B和D之间的新路线。我们称之为新的路线鬼魂路线。在物理道路上,受害者仍然在位置A并开始按照应用程序的逐向导航。同时,导航应用程序不断接收欺骗的GPS信号。最终,受害者将最终到达不同的地方C.注意B鈫 D的形状路线类似于A鈫鈫C路线。根据攻击的目的,攻击者可以预先定义目标目的地C或者仅仅旨在转移受害者来自原始目的地D。图3:攻击示例:受害者的原始导航路线为P→D; 在位置A,欺骗者将GPS设置为幻影位置B,其迫使导航系统生成新的路线B→D。在逐向导航之后,受害者实际上在物理世界中从A行进到C.
关键代码
真实的驾驶实验
在两种不同的路由上进行了测试
A行→D表示原始路径
蓝线代表幽灵路线
黑线代表受害者
A是用户的实际位置
B是对应的鬼位置
C是用户的改道目的地
D是原来的目的地
在第一种情况(图6a),攻击者设置鬼的位置到原来路线上的另一个地点。测试表明,这确实可以避免触发“重新计算”语音提示。这条路线花了九分钟,司机很成功。 完全改道到预定地点,距原目的地2.1公里。
在第二种情况下(图6b),攻击者将鬼位置设置在原始路由之外,这将触发 一个“重新计算”语音提示。这一次,司机驾驶了五分钟,并被转向2.5公里以外。在这两种情况下,智能手机都被锁定在欺骗信号上,而没有掉一次。 假位置序列以10赫兹的更新频率平稳地输入手机。尽管在GoogleMaps中嵌入了标题和过滤器的潜在交叉,导航指示 国家统计局被及时触发
攻击取得了很高的成功率(95%)。在40人中,只有一名美国参与者和一名中国参与者认出了这次袭击。其余的38名参与者都完成了这四项任务。 NDS的驱动任务,并跟随导航到达错误的目的地。识破攻击的原因都是,驾驶者发现当时行驶的公路名称和谷歌地图上的不一样。
结果还指出了三种可能会提醒用户的不一致之处:(1)公路与当地道路的不一致;(2)不一致的街道名称;(3)不一致的T地标(例如加油站)。更先进的攻击可以通过过滤掉这些路线来进一步避免“公路-地方方式”的不一致。另外两个因素取决于司机是否有 习惯(而且有时间)反复检查周围的环境.此外,我们的访谈还显示,大多数人在现实生活中都经历过gps故障,这使他们更加宽容。 e至全球定位系统不一致。此外,由于人们更容易依赖视觉和语音提示,因此增加了攻击者成功的可能性。我们的研究仍有局限性。 在论文的末尾被讨论过。
5.研究局限性
学习限制。
在本工作中,我们对GPS欺骗攻击进行了优化,使其具有隐蔽性,这就必须在其他因素上做出妥协。
1.我们的攻击效果会在郊区降低。 道路结构稀疏的区域。然而,鉴于世界上54%的人口生活在城市地区,这次袭击可能会影响到许多人。
2.攻击并不适用于所有的人。我们的目标用户是在不熟悉的地区旅行,因为这些用户更可能依赖GPS进行导航。我们还认为,日益流行的自动驾驶系统会削弱。 从长远来看,他是人类水平的检查人员。用户研究有几个局限性。
1.为了模拟在不熟悉的地区旅行,我们选择了一个欧洲城市。
匈牙利的街道名称可能不太容易为中国人所理解。然而,即使在美国,许多街道上也有西班牙的街道名称。
2.由于用户学习的时间和深度,研究不能达到一个大规模的规模。我们的用户有偏见 人口(例如,具有计算机科学背景的人)。我们认为,与精通技术的用户相比,普通人群更容易受到影响。
3.我们的研究只测试了一条路线, 路由不包含错误的路径或循环。在实践中,一旦用户输入错误的方式,他们可能会识别攻击(但已经处于危险中)。
6. 实验步骤
(1).实验环境
硬件平台---HackRF One、GPS外部时钟、天线(700-2700MHz)
软件环境---Ubuntu运行HackRF环境
系统版本信息---Ubuntu-14.04 (64-bit),内核:3.13.0-32-generic GPS终端---手机
(2)实验步骤
①.首先进入已经搭建好软件环境系统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一直工作。)
(3)实验结果
- 使用手机在手机4G, WIFI,飞行模式进行验证结果如下:
地图上显示从南京邮电大学变成了无锡碧桂园,欺骗成功
(4)实验分析
下面是经纬度的截图和当时的卫星信号的强度,因为信号是被伪造出来
的而且离接收设备得很近,所以信号强度很高且差别不大。
实验中发现小米、中兴、vivo手机无法被欺骗。目前收集的资料表明原因如下:
AGPS(Assisted GPS,网络辅助GPS)定位技术:结合了GPS定位和蜂窝基站定位的优势,借助蜂窝网络的数据传输功能,可以达到很高的定位精度和很快的定位速度,在移动设备尤其是手机中被越来越广泛的使用。AGPS分为两种:
MS-based:移动站将精密的星历和完好性信息传递给手机,手机根据星历自己判断搜索卫星,自己解算当前的位置。计算在手机上完成。
MS-assisted:设备将接收到的GPS信息通过蜂窝网络传输给AGPS位置服务器,AGPS服务器根据信息,并结合其他途径(蜂窝基站定位、参考GPS定位等)得到的辅助定位信息,计算出最终的位置坐标,返回给设备。
实验的过程中手机收到了伪造的GPS信号,但在计算位置时通常有两种方案—在移动设备端进行计算的MS-Based方式和在网络端进行计算的MS-Assisted方式。目前大部分支持AGPS的手机采用一种纯软件的AGPS方案。由此猜测:
①绝大部分的手机都是采用MS-based方式计算位置,可以被欺骗;
②小米,中兴等部分手机无法欺骗可能是采用了MS-assisted,手机将接收到的信号发送给AGPS定位服务器,服务器完成计算并发送给手机,但在这个过程中计算的位置与基站蜂窝计算的位置相差太大,手机可能使用了基站的位置而没有采用gps信号定位;
③手机里面相关硬件以及系统处理不同;
④苹果手机是默认gps为最高优先级的信号,苹果手机可以被欺骗而且手机上的时间也能被修改。
手机的定位种类1、GPS定位。2、基站定位。3、WiFi辅助定位。4、AGPS定位。5、Glonass定位。6、北斗定位
基站定位:手机同时搜索到至少三个基站的信号时,只需要以基站为圆心,距离为半径多次画圆即可,不过至少需要三个基站的信号才可以,由于基站定位时,精度大约在150米左右,基本无法开车导航。定位条件是必须在有基站信号的位置,手机处于sim卡注册状态(飞行模式下开wifi和拔出sim卡都不行),而且必须收到3个基站的信号。
实验如下:我们用vivo手机实验,在预先下载好上海的地图,然后拔掉sim卡,关闭wifi后,成功被欺骗。
车载gps欺骗
图为车载GPS接收到的GPS信号情况及车载定位地图界面,实际地点与实际不符,车载定位被成功欺骗。
参考资料
- 《All Your GPS Are Belong To Us:Towards Stealthy Manipulation of Road Navigation Systems》