第 15 章
欺骗者的信号发射器
把时钟拨回 1983。那一年,GPS 的民用信号被承诺向全球免费开放,而在此之前,一个系统在开放给全世界时,设计者通常假定使用者会遵循设计者预期的路径。道路被假定用于交通,不是用于测试装甲车的抗爆性能。电网被假定用于输电,不是用于练习网络攻击。同样,GPS 的设计者假定所有接收到这组 1575.42 兆赫电磁波的人,都会诚实地用它来定位和导航。这个假定从未被写入任何技术标准或政策文件,但它支撑了此后三十年所有的制度安排——从选择可用性的关闭到芯片成本从数千美元跌到两美元,从航空导航到金融授时。
这个假定在2013年6月被一台售价不到两千美元的设备击碎了。地点是莫斯科克里姆林宫附近的一条街道。那台设备的具体型号在公开记录中没有被确认,但当时市面上能完成这项任务的商用软件无线电外设屈指可数。Ettus Research公司生产的USRP B200是最可能的候选者。它比一本精装书还小,通过USB 3.0接口连接到笔记本电脑。
配合开源社区开发的GPS信号模拟软件——同样可以从互联网上免费下载——这台设备能够生成一套完全伪造的GPS L1频段信号。信号的结构、时序、数据格式,全部按照公开的国际民用航空组织技术标准精心构造。任何标准的商用GPS接收机在收到这套信号时,都会把它当作从两万公里外中地球轨道上某颗卫星发来的真实电波。
操作者是一名白俄罗斯黑客,身份至今未被公开确认。他选择了一个极具象征意义的地点。克里姆林宫周边区域布满政府机构、商业中心和旅游景点,手机和车载导航设备密集。他开启设备后,周围数百米范围内的GPS接收机开始接收到他发射的伪造信号。由于他的信号功率略高于从太空抵达的微弱真实信号——GPS卫星信号的典型强度约为-130 dBm,相当于一个普通灯泡从数千公里外发出的亮度的十亿分之一——接收机按照设计逻辑自动选择了“更强”的信号源。它们没有发出警报,没有显示异常,只是安静地接受了新的定位数据。结果令人不寒而栗。
这些设备显示的位置被集体偏移了数十公里,指向莫斯科郊外的一片区域。地图应用上的蓝色定位点平稳地移动到了错误的地点,导航软件根据错误的起始位置重新规划路线,打车软件的定位功能将车辆标记在根本不存在的街道上。而使用者——那些盯着手机屏幕的行人、依赖导航仪的出租车司机——对此毫无察觉。信号看起来完全正常。卫星编号正确,信号强度稳定,定位精度在民用标准的误差范围内。唯一的问题是,这一切都是谎言。
这次实验没有造成实际伤害。但它证明了一个此前只存在于学术论文和安全部门备忘录中的威胁:一个人,用一套成本低于高端智能手机的设备,可以在世界任何地方伪造GPS信号,让周围的接收机心甘情愿地接受错误的时间和空间坐标。而受害者不会知道发生了什么。这就是欺骗。它与干扰有着本质的区别,这种区别定义了GPS安全威胁的真正边界。干扰攻击利用的是GPS信号的脆弱性——信号从两万公里外传来,到达地面时已经极其微弱。
干扰机在GPS频段上发射高功率噪声,像在一个安静的房间里突然打开工业鼓风机。噪声淹没了卫星信号,接收机无法从中提取有效信息。结果是服务中断——屏幕上的定位点消失,导航软件报告信号丢失,用户立刻意识到出了问题。干扰是一种破坏性的、易于被察觉的攻击。它的效果像砸坏路标:虽然让你迷失方向,但至少你知道自己迷路了。
欺骗则高明得多。欺骗攻击者不发射噪声,而是发射一套精心构造的伪造GPS信号。这套信号在结构上与真实信号完全相同——相同的频率1575.42兆赫,相同的扩频调制方式,相同的伪随机码序列,相同的导航电文帧结构。区别在于内容:伪造信号中的时间戳被修改了,卫星轨道参数被替换了,导致接收机计算出的位置偏离真实位置。攻击者可以控制偏移的方向和距离,让接收机显示攻击者选择的任意位置。更致命的是欺骗的隐蔽性。因为伪造信号在格式上完全合法,接收机无法从信号本身判断其真伪。
它忠实地执行了被设计要执行的任务:搜索最强的合法GPS信号,锁定,解码,计算位置。整个过程没有任何环节会触发警报。接收机不会“知道”自己被欺骗了,就像它不会“知道”自己接收的是真实信号一样。从接收机的视角看,一切正常——信号强度良好,卫星几何分布合理,定位精度在可接受范围内。
这种隐蔽性将欺骗攻击提升到了一个完全不同的威胁层级。干扰制造混乱,欺骗制造幻觉。在干扰环境下,系统知道自己失效了,可以启动备份方案。在欺骗环境下,系统自信满满地运行在错误数据上,将虚假的位置和时间信息传递给所有依赖它的下游系统。电网的时间同步服务器可能被缓慢地偏移,累计误差在数小时内达到足以触发保护跳闸的程度。
证券交易所的交易时间戳可能被篡改,制造虚假的套利机会。港口的自动化集装箱起重机可能被引导到错误的位置,而操作员在监控屏幕上看到的是正常运行的动画。2013年莫斯科实验的真正意义,不在于它使用了多么先进的技术——事实上,所用技术已经公开存在多年。
其深远意义在于证明了欺骗攻击的实施门槛已经降到了个人行为者的水平。两千美元的成本、公开可用的软件、基本的信号处理知识,就足以在一个大城市的中心区域制造大规模的定位欺骗。而这一切,距离美国交通部首次正式警告民用GPS的欺骗风险,整整过去了十二年。
2001年9月,在九一一袭击事件发生前不到两周,美国交通部发布了《民用GPS服务脆弱性评估报告》。这份报告由约翰·沃尔普国家交通系统中心撰写,是联邦政府首次系统性审视GPS作为民用基础设施的安全风险。报告的核心判断直截了当:民用GPS信号极易受到无意干扰和蓄意欺骗,而大多数关键基础设施应用没有为GPS信号丢失或降级准备充分的备份方案。报告的第九章专门讨论了欺骗威胁。
作者指出,与干扰不同,欺骗攻击可能在被检测到之前造成严重损害,因为用户可能依赖错误的定位或时间信息做出关键决策。报告建议开发欺骗检测技术、建立信号认证机制、并为关键应用保留备份导航系统。这些建议在技术上都是可行的。
但它们面临一个根本性的制度障碍:谁来为这些安全措施买单?GPS的民用信号是免费提供的。美国政府作为信号提供方,在法律上没有义务保证民用信号的真实性或可用性。GPS的官方政策文件反复强调,民用信号是按现状提供的,不附带任何明示或暗示的担保。这意味着如果一家航空公司因为GPS欺骗导致航班偏离航线,它不能向美国政府索赔。如果一家银行因为时间欺骗导致交易记录错误,它同样不能追究信号提供方的责任。
这种制度安排创造了一个责任真空。信号提供方没有动力投资欺骗防护,因为防护的成本由美国纳税人承担,而受益的是全球所有用户。信号使用方也没有动力投资防护,因为任何单一用户的投资都无法改变整个系统的脆弱性——只要其他用户仍然使用未经验证的信号,欺骗攻击的威胁就依然存在。这是典型的公地悲剧,只是这里的公地不是被过度使用的草场,而是被系统性低估的安全风险。2001年的报告发布后,后续行动主要集中在政府内部的研究项目和跨部门协调机制上。
国土安全部资助了一些欺骗检测技术的原型开发。国家标准与技术研究院发布了GPS接收机安全指南。联邦航空管理局研究了民用航空的备份导航方案。然而,这些努力都没有改变民用GPS信号本身缺乏认证机制的根本事实。L1频段上的C/A码仍然是完全开放的,任何有能力生成信号的人都可以冒充GPS卫星。
欺骗技术的扩散在加速。软件无线电技术的进步使得高精度信号生成设备的价格持续下降。2000年代初期,一套能生成GPS模拟信号的设备需要数万美元。到2010年,价格降到了数千美元。到2013年莫斯科实验时,两千美元就能买到所需的一切。开源社区开发了完整的GPS信号模拟软件包,降低了技术门槛。关于GPS信号结构的学术论文和教科书广泛可得,提供了构造伪造信号所需的所有技术参数。欺骗从政府情报机构的专属能力,变成了信息安全研究者、业余无线电爱好者,以及潜在恶意行为者都可以接触到的技术。
2008年,德克萨斯大学奥斯汀分校的托德·汉弗莱斯教授和他的研究团队进行了一项开创性实验,将欺骗从理论推演推进到了工程实证。
汉弗莱斯团队的实验对象是一艘名为“白星”号的游艇——具体型号在公开文献中没有详细记载,但根据实验描述,这是一艘长度在二十米左右的中型游艇,配备了标准的民用GPS导航系统。实验地点在墨西哥湾。团队在游艇附近部署了一套伪卫星系统——在地面发射伪造GPS信号的装置。他们首先用低功率发射与真实信号同步的伪造信号,让游艇的GPS接收机锁定在他们的信号上。然后缓慢地调整伪造信号中的时间参数,诱导接收机计算出的位置逐渐偏离真实位置。
整个过程进行得如此平滑,以至于游艇的导航系统没有触发任何警报。在驾驶舱里,电子海图显示游艇正在按照预定航线稳定航行。但实际上,游艇已经偏离了航线,被伪造信号引导向研究人员预设的方向。汉弗莱斯团队后来公开了实验的视频记录。
视频中,游艇的自动驾驶系统根据GPS信号自动调整舵角,在海面上划出一道弧线,驶向错误的目的地。驾驶舱内的研究人员——他们知道实验正在进行——仍然感到一种本能的恐惧:如果这是一次真实的攻击,船上的人可能要到触礁或进入敌方水域时才会发现导航系统一直在说谎。实验的学术论文发表在导航领域的顶级期刊上,详细描述了欺骗信号的生成方法、接收机的响应特征和可能的检测策略。
论文的结论谨慎但明确:民用GPS接收机对精心构造的欺骗攻击几乎没有抵抗力,而现有的欺骗检测方法要么需要额外的硬件,要么容易被对抗措施规避。汉弗莱斯本人后来在国会听证会上作证时,将GPS欺骗形容为一种低成本、低风险、高影响的攻击方式,而关键基础设施对此几乎毫无防护。
从2008年德州大学的游艇实验,到2013年莫斯科的街头测试,欺骗技术沿着一条清晰的升级曲线演进。设备成本从数万美元降到两千美元。所需技术知识从博士级研究降到本科级信号处理课程。攻击范围从受控的实验环境扩展到真实城市。
2017年,这条升级曲线抵达了一个新的阶段。黑海海域的多艘商船开始报告奇怪的GPS异常现象。航海日志记录显示,船舶的GPS接收机在没有任何预警的情况下,将位置显示为内陆数十公里处的格连吉克机场。格连吉克是俄罗斯黑海沿岸的一个小城,其机场坐标与船舶实际所在的海域完全不符。异常现象持续了数小时,影响了多艘不同国籍的商船。
这不是一次实验室测试。这是真实的、正在发生的GPS欺骗攻击,目标是在国际水域航行的商业船舶。受影响船只的船员最初以为设备故障,重启了GPS接收机,但问题依然存在。一些船只切换到备份的格洛纳斯接收机——俄罗斯的全球导航卫星系统——发现格洛纳斯信号正常,位置显示正确。这表明问题不是出在接收机硬件上,而是出在GPS信号本身。航海日志中的条目记录了这种诡异的感觉。
一艘商船的航行官记录道,GPS位置显示在格连吉克机场,船位与实际海图位置不符,检查所有设备正常,怀疑GPS信号受到干扰。另一艘船的记录更为简洁:GPS不可靠,使用目视导航。这些记录的语言平淡而专业,但背后是一个令人不安的事实:在国际航运最繁忙的海域之一,船只的卫星导航系统正在被不明来源的伪造信号系统性欺骗。
黑海事件后,航运业开始认真对待GPS欺骗威胁。国际海事组织收到了多份关于黑海GPS异常的报告。航运保险公司开始将GPS欺骗纳入风险评估模型。劳合社市场协会发布通知,提醒承保人注意GPS干扰和欺骗可能导致的导航错误、碰撞和搁浅风险。一些保险公司开始在保单中增加与GPS欺骗相关的询问条款,要求船东说明是否安装了欺骗检测设备或备份导航系统。这些保险条款的措辞反映了行业的困境。一份典型的调查问卷会询问船舶是否配备了能够检测GPS欺骗的导航系统,如果否,要求说明在GPS信号不可靠时使用的备份导航方法。
问题本身暴露了一个事实:大多数商船的标准GPS接收机无法区分真实信号和伪造信号。船东的回答通常是列出船上已有的其他导航设备——雷达、电子海图、惯性导航系统——但这些设备要么精度不足以替代GPS,要么在没有GPS校正的情况下会随时间累积误差。保险业的反应是一种被动的风险管理。它们无法阻止欺骗攻击的发生,也无法追诉攻击者。它们能做的只是在事后分摊损失,并通过保费激励船东投资防护措施。但这种方法的效果有限。
欺骗攻击的隐蔽性意味着很多攻击可能从未被检测到——如果攻击者巧妙地将船只引导偏离航线几海里,而不是直接将位置显示在机场上,船员可能永远不会发现异常。没有发现的攻击,就不会有保险索赔。没有索赔,保险公司就无法准确评估风险的真实规模。
自动驾驶汽车行业面临着更严峻的挑战。一辆自动驾驶汽车依赖GPS提供的绝对位置,将自身定位在高精度地图上。如果GPS信号被欺骗,车辆可能“认为”自己正在一条笔直的高速公路上行驶,而实际上它正在接近一个急转弯。
激光雷达和摄像头可以提供相对定位信息,但这些传感器本身也各有局限——摄像头在恶劣天气下失效,激光雷达在高速公路场景下缺乏足够的特征点。多传感器融合算法可以在一定程度检测GPS与其他传感器数据的矛盾,但检测的可靠性和响应时间仍然是开放的研究问题。
2010年代中期开始,自动驾驶公司被迫在研发预算中为GPS欺骗防护留出专门份额。Waymo、Cruise等公司投入资源开发基于惯性导航、视觉里程计和激光雷达匹配的定位冗余方案。这些方案不依赖GPS信号的真实性,而是将GPS视为多个定位信息源之一,当GPS数据与其他传感器数据不一致时触发警报并切换到冗余系统。
这种架构在技术上是合理的,但代价高昂——它要求车辆搭载高精度的惯性测量单元和额外的计算能力,增加了每辆车的硬件成本。
更根本的问题在于,这些防护措施都是接收端单方面承担的。信号本身没有改变。GPS卫星仍然在广播着没有数字签名的民用信号,任何有能力的人仍然可以伪造这些信号。
整个安全架构建立在攻击者不会大规模实施欺骗的假设上,而这个假设的唯一支撑是欺骗攻击尚未造成足够严重的灾难性后果。
法律框架的空白加剧了这种脆弱性。当一艘在黑海航行的商船被欺骗信号引导偏离航线时,谁应该为这次攻击负责?
根据国际法,干扰无线电通信的行为可能构成犯罪,但欺骗GPS信号是否属于“干扰”存在争议——欺骗者发射的伪造信号在技术参数上完全符合国际电信联盟的频率分配规定。攻击者的身份通常无法确定——欺骗信号可以从数百公里外的船只、无人机甚至低轨道卫星上发射。即使攻击者被确认,受害者所在国是否有管辖权也是一个问题——如果欺骗信号从公海发射,影响了一艘在另一国注册的船只,适用哪国的法律?
2010年代末,国际海事组织和国际电信联盟开始讨论GPS欺骗的法律框架问题,但进展缓慢。
各国政府对这个问题态度暧昧——拥有先进电子战能力的国家将GPS欺骗视为合法的军事和情报工具,不愿意接受可能限制这种能力的国际规则。
没有这种能力的大多数国家则缺乏推动规则制定的技术影响力和外交杠杆。结果是,GPS欺骗仍然处于国际法的灰色地带——技术上可行,经济上低成本,法律上几乎无追诉风险。
这种制度真空将欺骗攻击的成本转嫁给了整个GPS用户群体。每一家依赖GPS的公司都在为信号的真实性支付隐性保费——通过投资备份系统、购买保险、开发检测算法、承担欺骗导致的运营损失。这些成本分散在成千上万个独立决策中,不会出现在任何一份政府预算或公司年报的单独栏目里。但它们真实存在,并且随着欺骗威胁的升级而持续增长。
免费信号的经济学在此显现出它的悖论。GPS的民用信号是免费的——美国政府每年花费约十亿美元维持星座运行,全球数十亿用户无需支付任何费用即可使用。这份免费在1990年代和2000年代被普遍视为纯粹的经济福利,它降低了从农业到物流到电信的所有行业的成本。
但当欺骗威胁出现后,免费的另一面开始暴露:因为没有服务协议,所以没有人对信号的真实性负责。
因为没有付费关系,所以没有人有义务修复信号的漏洞。因为信号提供方和用户之间没有契约,所以当信号被伪造时,用户只能自己承担后果。
产业界正在为这份免费午餐支付账单。账单的项目不是“GPS使用费”,而是“GPS欺骗防护系统采购费”、“GPS欺骗检测算法研发费”、“GPS信号不可用时的业务中断损失”、“因GPS欺骗导致的保险保费上涨”。这些费用加起来,可能比一套带有信号认证功能的GPS系统原本需要的成本更高。区别在于,前者是分散的、隐性的、由无数个体独自承担的;后者是集中的、显性的、需要集体行动才能实现的。
2013年莫斯科的那次实验,那名白俄罗斯黑客可能只是想证明一个技术观点。他做到了。他证明了GPS民用信号的脆弱性不是理论推演,而是可以在世界任何一个城市中心以极低成本实现的现实。他证明了欺骗攻击的隐蔽性足以让受害者在整个攻击过程中毫无察觉。
他证明了一个文明赖以运转的定位和时间基础设施,其安全基础建立在“没有人会故意伪造信号”这样一个从未被检验过的假设之上。这个假设现在已经不再成立了。
欺骗技术已经从军事实验室流入了公共领域。实施欺骗所需的设备和知识已经商品化。欺骗攻击的实施者可以是个体黑客、犯罪组织、准军事团体或国家行为体。
而防御这些攻击的责任,落在了每一个GPS用户的肩上——从远洋货轮的船长到自动驾驶汽车的软件工程师,从电网的时间同步管理员到证券交易所的技术总监。他们各自在自己的领域里寻找解决方案,拼凑起一个分散的、不完整的、没有统一标准的防护体系。这套体系能否在欺骗攻击真正造成灾难性后果之前成熟起来,是一个开放的问题。
美加大停电的调查委员会在2004年写下了那句总结:事故的根源不在于某一设备或某一个人的失误,而在于一套激励结构。这句话同样适用于GPS欺骗问题。
激励结构没有改变——信号提供方仍然没有动力投资安全升级,用户仍然各自承担防护成本,攻击者仍然享有法律追诉的豁免。在这样一套结构下,欺骗攻击的升级曲线可能会继续向上延伸,直到某一天,某个足够严重的后果迫使所有人重新审视一个基本问题:当一个文明依赖的定位信号会说谎时,谁来为谎言负责。