声明:文章涉及内容仅供学习研究参考,请勿违法使用!
先图后码。根据车载导航地图显示,目前车辆行驶在台北忠孝路五段,时速为70到90公里每小时。
静态定位信息如下图所示:
而我的真实位置,其实是在北京:
所以前两张图片显示的定位信息和速度是不真实的,是通过GPS欺骗实现的。要想了解GPS欺骗的原理,需要先解释一下GPS卫星定位的原理。关于GPS卫星定位的原理,知乎上有一篇通俗易懂的文章,《5分钟了解GPS定位原理》[1],大致思路就是通过多颗卫星构造距离、速度和时间相关的多项式,然后求解坐标值。定位的前提是被定位的对象需要具备接收GPS信号的能力,这种能力一般通过GPS传感器提供,比如手机和车载导航系统均装备有GPS传感器。
换言之,GPS传感器通过接收卫星信号来实施定位。因此,如果我们能够模拟卫星信号,将模拟的信号通过信号发射装置发送给GPS传感器,那么就有可能实现欺骗GPS传感器获取虚假的位置信息,这种技术即SDR(软件无线电,Software Defined Radio)[2]。能够实现SDR的主流开源硬件产品包括usrp、HackR和bladerf等等,其中usrp功能和性能比较强大,HackR使用最为方便,因此我们的实验使用HackRF进行。
HackRF One
HackRF的工作模式为半双工模式,即同一时间只能接收或者发送信号,不可同时进行。其工作频率范围为1 MHz到6 GHz,通过USB与PC相连。其他相关特性如下列表所示:
-
half-duplex transceiver
-
operating freq: 1 MHz to 6 GHz
-
supported sample rates: 2 Msps to 20 Msps (quadrature)
-
resolution: 8 bits
-
interface: High Speed USB (with USB Micro-B connector)
-
power supply: USB bus power
-
software-controlled antenna port power (max 50 mA at 3.3 V)
-
SMA female antenna connector (50 ohms)
-
SMA female clock input and output for synchronization
-
convenient buttons for programming
-
pin headers for expansion
-
portable
-
open source
通过HackRF One实现GPS欺骗的原理如下图所示:
HackRF发射GPS卫星信号的过程描述如下:
1)PC端SDR信号处理软件生成GPS信号数据,经由系统内核、USB传送至HackRF;
2)HackRF收发控制模块将数字信号转换为模拟信号,并控制信号收发模块发送信号;
3)模拟信号通过天线发送给附近的GPS传感器。
在了解了基本的原理之后,我们接下来开始进行本次实验。
为了模拟车辆行驶状态下连续接收的GPS信号,我们需要首先使用GoogleEarth生成运动轨迹,接着使用StatGEN处理路径数据,最后借助gps-sdr-sim [3]工具生成静态GPS数据。
使用GoogleEarth生成轨迹
使用GoogleEarth生成轨迹,并导出为kml格式数据包,接着将kml格式数据导入SatGEN,生成MNEA格式文件。
最后使用gps-sdr-sim生成动态GPS信号数据:
得到GPS信号数据之后,使用HackRF发射GPS信号:
这个时候,我们靠近车辆,打开导航,等待1分钟左右之后,地图提示切换了城市:
接着导航箭头开始随着预设的轨迹移动:
至此实验成功,我们成功地把车“开到”了台北市。关于使用HackRF实现GPS欺骗的成功率,包含了多种因素。其中两个最重要的因素包括:
1)系统使用的定位手段是否单一,考虑到导航APP可能使用GPS、基站和其他定位系统混合定位,进行实验时需要将导航APP设置为仅GPS定位模式;
2)HackRF是否使用了时钟模块,时钟模块决定了信号发送频率的精准程度,对实验的成败也是至关重要的。
对于时钟模块的对比实验结果总结如下:
1)在不使用时钟模块的情况下,实测手机高德地图、车载高德地图均欺骗失败,只有咕咚运动欺骗成功,并且成功的概率也是极低。
使用HackRF欺骗咕咚运动
2)在使用时钟模块的情况下,成功率接近百分之百。究其原因,在不使用时钟模块的条件下,HackRF发送信号的频率可能不十分精准,因此GPS传感器接收到信号之后可能无法正常解析GPS信号,因此时钟信号可能是HackRF进行GPS欺骗的关键。
时钟模块
将时钟模块连接到HackRF上之后,可以通过如下命令验证时钟是否正常工作:
如果输出为0x1,则表示时钟工作正常。
参考文章
https://zhuanlan.zhihu.com/p/58518430
https://zh.wikipedia.org/wiki/%E8%BD%AF%E4%BB%B6%E6%97%A0%E7%BA%BF%E7%94%B5
https://github.com/osqzss/gps-sdr-sim
原文始发于微信公众号(网络侦查研究院):车载导航GPS欺骗
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论