4. GNSS欺骗攻击原理

GNSS欺骗攻击的本质,是攻击者用一部“伪卫星”发射与真实卫星信号结构相同、但内容可控的导航信号,使接收机在捕获、跟踪、解调、定位解算的某一环节“认错信号源”。与压制干扰不同,欺骗并不追求让接收机失锁,而是让它锁定在错误信号上,并输出攻击者期望的位置、速度或时间。理解欺骗攻击,需要抓住四个关键环节:信号生成、信号同步、功率控制,以及由此衍生的欺骗类型与攻击模型。

一、核心原理:从“复制信号”到“接管跟踪环”

GNSS接收机对每颗卫星的跟踪,依赖码相位延迟锁定环(DLL)和载波相位锁定环(PLL)。真实信号到达接收机时,具有特定的伪随机码相位、多普勒频移、载波相位和导航电文。欺骗信号若要在不被立即识破的前提下被接收机接受,必须在这几个维度上尽量逼近真实信号,再逐步施加偏移。

因此,欺骗攻击的核心不是“发射一个假坐标”,而是“构造一个在接收机看来比真实信号更可信的信号”。当欺骗信号与真实信号在码相位和载波频率上足够接近时,接收机的相关峰会被牵引;当欺骗信号功率略高于真实信号时,跟踪环会逐渐偏向欺骗信号;当接收机完全锁定欺骗信号后,攻击者即可通过修改伪距、载波相位或导航电文,控制定位结果。

欺骗攻击的四个基本条件:
1. 信号结构一致:码型、载频、调制方式、电文格式与目标系统一致;
2. 同步精度足够:码相位、载波频率、载波相位与真实信号对齐;
3. 功率可控:既能被接收机捕获,又不至于引起明显的功率异常告警;
4. 动态可调:能根据目标运动状态实时调整延迟和多普勒,维持锁定。

二、信号生成:伪卫星如何“造”出一颗卫星

欺骗信号生成通常由软件定义无线电(SDR)平台完成。攻击者首先需要获得目标系统的信号参数:对于GPS L1 C/A,需生成C/A码、L1载波和50 bps导航电文;对于北斗B1I,需生成测距码、B1载波和D1/D2电文。生成过程可概括为:

  1. 选择目标卫星PRN号,生成对应伪随机码;
  2. 根据目标位置和卫星星历,计算期望的码相位、多普勒频移和载波相位;
  3. 将导航电文与伪码、载波调制,形成基带或中频数字信号;
  4. 通过DAC和射频前端上变频到目标频段发射。

在实操层面,攻击者往往先录制一段真实信号,再对其做延迟、频移和功率缩放,这种方式称为“转发式”生成;另一种是直接根据星历和模型“合成”信号,称为“生成式”。生成式灵活但实现复杂,转发式实现简单但受录制条件限制。

# 以GPS L1 C/A为例的欺骗信号生成参数示意
PRN          = 12
fc           = 1575.42e6      # L1载频
code_rate    = 1.023e6        # C/A码速率
nav_rate     = 50             # 导航电文速率
doppler      = -1250          # 多普勒频移(Hz)
code_phase   = 0.37           # 码相位(码片)
carrier_phase= 1.82           # 载波相位(rad)
tx_power_dbm = -130           # 发射功率

三、信号同步与功率控制:欺骗能否成功的关键

信号同步是欺骗攻击中最精细的环节。接收机跟踪环的相关峰宽度有限,若欺骗信号与真实信号的码相位偏差超过约1个码片,接收机可能直接将其视为噪声;若载波频率偏差过大,PLL无法锁定。因此,攻击者需要先“对齐”再“牵引”:先让欺骗信号与真实信号在码相位和载波上基本重合,再缓慢增加延迟或频移,使跟踪环逐步偏离真实信号。

功率控制同样关键。欺骗信号功率过低,无法竞争过真实信号;功率过高,则接收机的自动增益控制(AGC)会出现异常,甚至触发功率监测告警。理想策略是让欺骗信号功率略高于真实信号,通常高出1~3 dB,既能逐步接管跟踪环,又不至于造成明显的功率突变。

GNSS欺骗攻击:信号生成 → 同步 → 功率控制 → 接管跟踪 真实卫星 PRN / 星历 / 码相位 多普勒 / 载波相位 欺骗信号源 SDR / 伪卫星 码/载波/电文生成 延迟·频移·功率缩放 同步与功率控制 码相位对齐 ±0.1码片 载波频率对齐 ±10 Hz 功率略高 1~3 dB 缓慢牵引跟踪环 GNSS接收机 捕获 → 跟踪 DLL / PLL 伪距 / 载波观测 定位解算 错误PVT 位置/速度/时间 被攻击者控制 典型欺骗类型与攻击模型 转发式欺骗 录制+延迟转发 生成式欺骗 按星历合成信号 牵引式欺骗 缓慢拉偏跟踪环 压制-欺骗组合 先压制后接管

四、欺骗类型与攻击模型

按实现方式和攻击目标,欺骗攻击可分为多种类型。转发式欺骗实现门槛低,但延迟较大,容易被多天线或RAIM类检测发现;生成式欺骗灵活度高,可精确控制伪距和电文,但对星历和信号参数掌握要求高;牵引式欺骗通过缓慢改变码相位和载波频率,使接收机在不知不觉中偏离真实位置,隐蔽性最强;压制-欺骗组合则先用噪声压制使接收机失锁,再发射欺骗信号完成接管。

欺骗类型实现方式典型特征检测难点
转发式录制真实信号后延迟转发信号结构真实,延迟明显多径与转发难以区分
生成式按星历和模型合成信号参数可控,可伪造电文需要高精度同步
牵引式逐步偏移码相位/载波隐蔽性强,定位缓慢漂移慢变异常不易触发告警
压制-欺骗先压制后欺骗接管先失锁后重新捕获切换瞬间易被监测

五、案例与误区复盘

以无人机导航为例,攻击者若想让无人机偏离航线,通常不会直接发射一个“跳变”的假位置,因为接收机可能因位置突变而触发完好性告警。更常见的做法是:先让欺骗信号与真实信号同步,再以每秒几厘米到几米的速度缓慢牵引伪距,使无人机在数分钟内逐渐偏离预定航线。这种“慢牵引”对飞控而言几乎不可见,却足以将无人机诱导至指定区域。

常见误区:
1. 认为“功率越大越好”——功率突变会触发AGC和功率监测告警;
2. 认为“只要发射假坐标就能骗过接收机”——接收机跟踪的是信号,不是坐标;
3. 认为“欺骗一定导致失锁”——高质量欺骗恰恰追求不失锁;
4. 认为“单点检测就能防住”——欺骗检测需要功率、到达角、多天线、惯导等多源交叉验证。

从防御视角看,理解欺骗攻击原理的价值在于:只有知道攻击者必须在“同步、功率、动态”三个维度上同时满足条件,才能有针对性地设计监测量。例如,监测载噪比突变、监测多普勒一致性、监测多天线到达角差异、监测惯导与GNSS位置偏差,都是围绕欺骗攻击的薄弱环节展开的。欺骗攻击不是单一信号问题,而是信号生成、同步控制与接收机跟踪环之间的博弈。