D~DIDI~DIDIDI!!!!

0%

GPS欺骗

概述

GPS 欺骗(GPS Spoofing)是一种利用软件定义无线电(SDR)设备发射伪造 GPS 信号,使目标设备的定位产生偏差的攻击技术。本文介绍使用 HackRF Onegps-sdr-sim 工具进行 GPS 信号欺骗的完整流程。

免责声明: GPS 欺骗在大多数国家属于违法行为。本文仅用于安全研究和教育目的,严禁用于任何非法活动。

工具与原理

gps-sdr-sim 简介

gps-sdr-sim 是一个开源的 GPS 信号模拟器,它可以根据真实的 GPS 星历数据和指定的地理坐标,生成模拟的 GPS 基带信号采样数据。生成的数据可以通过 HackRF One 等 SDR 设备在 GPS L1 频段(1575.42 MHz)进行发射。

攻击流程

  1. 下载真实的 GPS 星历数据
  2. 使用 gps-sdr-sim 生成指定位置的 GPS 基带采样数据
  3. 使用 HackRF One 发射伪造的 GPS 信号

步骤一:下载 GPS 星历数据

GPS 星历数据(Ephemeris Data)包含了卫星的轨道参数,可以从各个 FTP 站点下载。国内推荐使用武汉大学 GNSS 数据中心:

1
ftp://igs.gnsswhu.cn/pub/gps/data/daily/

下载对应日期的广播星历文件(.n 格式),例如 brdc1830.20n

步骤二:编译 gps-sdr-sim

1
2
3
4
5
6
# 克隆项目
git clone https://github.com/osqzss/gps-sdr-sim

# 编译
cd gps-sdr-sim
gcc gpssim.c -lm -O3 -o gps-sdr-sim

步骤三:生成采样数据

选择一个目标位置的经纬度坐标(例如天府广场:104.065751, 30.657421),然后运行以下命令生成基带采样数据:

1
./gps-sdr-sim -e starData/brdc1830.20n -l 104.065751,30.657421,500 -b 8 -d 180

参数说明:

参数 说明
-e GPS 星历数据文件路径
-l 目标位置:经度,纬度,海拔(米)
-b 数据位宽(HackRF 使用 8 位)
-d 模拟持续时间(秒),默认 300 秒,越长文件越大

更多参数请参考编译好的可执行文件帮助信息:./gps-sdr-sim -h

步骤四:使用 HackRF 发射信号

1
hackrf_transfer -t gpssim.bin -f 1575420000 -s 2600000 -a 1 -x 0 -R

参数说明:

参数 说明
-t 采样数据文件(由 gps-sdr-sim 生成)
-f 发射频率(GPS L1 = 1575.42 MHz = 1575420000 Hz)
-s 采样频率(2.6 MHz)
-a 是否开启放大器(1=Enable,0=Disable)
-x TX VGA 增益(可选 0~47,建议从 0 开始,效果不佳再增大)
-R 循环发送

注意事项:

  • TX VGA 增益建议从 0 开始,逐步增大,避免干扰范围过大
  • 发射前确保周围无重要设备依赖 GPS 定位
  • 仅在屏蔽环境或经过授权的场所进行实验

相关文章