首页
社区
课程
招聘
[原创]车载导航GPS欺骗
2022-1-27 10:33 42487

[原创]车载导航GPS欺骗

2022-1-27 10:33
42487


声明:文章涉及内容仅供学习研究参考,请勿违法使用!

先图后码。根据车载导航地图显示,目前车辆行驶在台北忠孝路五段,时速为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


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2022-1-27 10:35 被kxliping编辑 ,原因: 调整图片
收藏
点赞8
打赏
分享
最新回复 (20)
雪    币: 20043
活跃值: (5420)
能力值: (RANK:445 )
在线值:
发帖
回帖
粉丝
胡一米 3 2022-1-27 11:04
2
0
部分图片有水印,不知道是转载还是原创?
雪    币: 1337
活跃值: (2422)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
kxliping 2022-1-27 11:21
3
0
胡一米 部分图片有水印,不知道是转载还是原创?
是原创,CSDN上也是我发的,是因为有些图片没有原图了,所以就直接复制过来,目前CSDN上的这篇文章我删掉了。
雪    币: 13388
活跃值: (4728)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
tDasm 2022-1-27 11:53
4
0
简单的事情复杂化了?用虚拟定位软件搞定。如果要做导航轨迹可能虚拟定位还要做些相应修改。
雪    币: 1310
活跃值: (633)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
gbcwbz 2022-1-27 12:19
5
0
能不能欺骗钉钉打卡?
雪    币: 1337
活跃值: (2422)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
kxliping 2022-1-27 17:08
6
0
tDasm 简单的事情复杂化了?用虚拟定位软件搞定。如果要做导航轨迹可能虚拟定位还要做些相应修改。
这个目的就是为了研究SDR,软件确实也可以,但不是我的研究对象哈
雪    币: 1337
活跃值: (2422)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
kxliping 2022-1-27 17:09
7
0
gbcwbz 能不能欺骗钉钉打卡?
欺骗钉钉容易被请去喝茶
雪    币: 8044
活跃值: (4335)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
sunsjw 1 2022-1-27 21:58
8
0
不使用时钟是因为有频偏。
雪    币: 13388
活跃值: (4728)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
tDasm 2022-1-28 08:44
9
0
kxliping 这个目的就是为了研究SDR,软件确实也可以,但不是我的研究对象哈
你这个算什么研究?充其量算一个应用心得。
雪    币: 1337
活跃值: (2422)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
kxliping 2022-1-28 09:51
10
0
tDasm 你这个算什么研究?充其量算一个应用心得。
批评的是
雪    币: 1337
活跃值: (2422)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
kxliping 2022-1-28 10:02
11
0
sunsjw 不使用时钟是因为有频偏。
多谢指点,看了下确实高精的晶体振荡器对频偏能够起到校正作用
雪    币: 186
活跃值: (135)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
testfish 2022-1-29 02:32
12
0
gbcwbz 能不能欺骗钉钉打卡?
成本有些高,600米买硬件
雪    币: 1604
活跃值: (3248)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Kuroiko 2022-1-29 10:23
13
0
tDasm 简单的事情复杂化了?用虚拟定位软件搞定。如果要做导航轨迹可能虚拟定位还要做些相应修改。
这个方法的优势是,在不拥有设备控制权的时候,也可实现GPS欺骗
雪    币: 397
活跃值: (292)
能力值: ( LV9,RANK:410 )
在线值:
发帖
回帖
粉丝
neineit 10 2022-1-29 11:31
14
0
学习~~,有个问题, 即当利用hackrf 使用时钟模块欺骗时, 正常的GPS传输信号是被GPS传感器给忽略了,还是什么其他原因?
雪    币: 1337
活跃值: (2422)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
kxliping 2022-1-29 14:39
15
0
neineit 学习~~,有个问题, 即当利用hackrf 使用时钟模块欺骗时, 正常的GPS传输信号是被GPS传感器给忽略了,还是什么其他原因?
这个我认为主要是地表收到的GPS信号功率非常低,当使用hackrf模拟GPS信号靠近GPS传感器的时候,真实GPS卫星的信号相比Hackrf就很弱了,可以理解为影响较小的噪声
雪    币: 213
活跃值: (39)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
moobrsne 2022-1-30 15:00
16
2
欺骗自动化驾驶模块?这个应该不能做劫持吧
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
wx_f1oat 2023-5-31 11:25
17
0
使用hackrf的时钟模块是插入外部时钟就行了吧,不需要hackrf设置参数嘛?
雪    币: 232
活跃值: (192)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
zzcc 2023-7-30 21:44
18
0
有意思。多年前国内的某个公司还出一套软件
雪    币: 19103
活跃值: (28707)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
秋狝 2023-7-31 09:09
19
1
感谢分享
雪    币: 740
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
mb_fdzmkugw 2024-3-2 11:43
20
0
mark,感谢分析
雪    币: 411
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
byronyu 2024-3-5 15:56
21
0
学习了  安全隐患有待加强
游客
登录 | 注册 方可回帖
返回