射频安全-利用HackRF实现GPS欺骗

本文介绍了GPS系统的基本原理和存在的设计缺陷,并详细探讨了如何利用HACKRF进行GPS欺骗攻击的方法。此外,还提供了环境搭建步骤、GPS数据生成与发射的具体操作指南。

射频安全-GPS欺骗

本篇文章介绍了GPS的基本信息和缺陷,并如何利用HACkRF进行GPS欺骗

GPS

GPS 系统本身非常复杂, 涉及到卫星通信等各个领域。这里只是简单介绍一下。我们通常所说的 GPS 全球定位系统是由美国国防部建造完成。目前在太空中共有31颗卫星在同时运作。一般需要至少4颗卫星来完成三角定位。GPS卫星同时发送民用L1和军用L2两种无线信号。我们通常使用的是没有加密的L1民用 1575.42MHz 的超高频波段。

设计及缺陷

由于GPS的研发初衷是为航海、空中飞行及地面交通等应用提供全天候、高精度、持续的速度、时间和空间位置等服务信息,当时并没有考虑到会遇到复杂的电磁干扰环境及人为攻击等因素,致使系统存在先天性不足,而且这些不足会因使用的广泛性难以彻底解决。GPS存在的设计缺陷主要表现在以下几个方面:一是系统功率低,信号强度弱;二是GPS信号易受电磁干扰,攻击者容易在锁定信号特征后实施转发式欺骗干扰攻击;三是民用GPS缺乏必要的通信加密机制;四是系统整体的自身完善和优化能力较弱。

GPS定位主要由卫星和接收机组成。每个参与定位的卫星都配置有一个原子钟,并以相同的工作频率发送包含有其当前位置、时间和PRN码(PseudoRandom Noise code,伪随机噪音码)等信息的无线信号。采用“三球定位”原理,一个GPS接收机只要通过测量分别获得3颗卫星之间的距离,就可以通过数学公式计算得到其空间位置坐标。
GPS接收机到卫星之间的距离的具体计算公式为r=Cf,其中f为信号的传播延时,f =tr-tt (tt为卫星发送信号时的时间,tr为接收机接收到信号时的时间),C为光在空间的传播速度,r为卫星与接收机之间的伪距离。从理论上讲,只要测量得到3个r值,就可以确定接收机的位置坐标(x,y,z)。考虑到时钟同步过程中GPS接收机与卫星之间存在的授时误差,在实际定位过程中还需要1颗卫星参与r值的计算,即一个接收机同时至少需要4颗卫星参与定位。通过以上工作原理可以看出,对于具体的GPS接收机来说,攻击者只要能够提供虚假的伪距离r,或通过干扰卫星信号的正常传输使接收机得不到正常的r值,就可以实现GPS欺骗攻击。

基于以上理论分析,在一个GPS欺骗攻击系统中,攻击者在锁定被攻击对象(GPS接收机)后,一般可以通过两种方式进行欺骗攻击:一种是利用GPS测距计算伪距离的原理,通过一台干扰机对接收到的卫星信号进行高保真处理,然后再延时转发出去,误导GPS接收机计算得到错误的伪距离,该攻击方式称为转发式欺骗攻击;另一种是攻击者根据被攻击对象所在区域内能够接收到的卫星信号特征,直接伪造GPS干扰信号,并将伪造后的信号冒充卫星信号广播到被攻击对象所在的信号接收区域,诱导被攻击的GPS接收机锁定干扰信号源,使其获得错误的伪距离和定位信息。

从攻击的实施难度来看,由于在伪造一颗GPS定位用卫星时,需要完全掌握包括GPS信号编码格式、全部导航电文内容等GPS信号结构及功能定义,以及GPS整个系统的空间结构和运行机制,然而对这些核心技术的获取难度较大。而转发式欺骗干扰攻击类似于传统网络中的重放攻击方式,攻击者只需要在接收到正常的GPS信号后,对其进行延时发送,使接收机误认为是来自卫星的信号,实施难度相对较小。

环境准备

git clone https://github.com/osqzss/gps-sdr-sim.git

cd
评论 9
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值