1 事件
1月12日,就在奥巴马准备发表任上最后一次国情咨文演讲的前一小时,两艘载有10名海军的美国巡逻艇因驶入伊朗水域,被伊朗军方扣押,这一突发事件,给总统的上台演说增加了几分尴尬。
第二天,船员们就被伊方释放,但美方似乎没有官员能对偏离航向的原因做出合理解释。国防部长阿什顿卡特只是简单回应到:那些训练有素的船员“迷航”了,调查在进行中。
图:伊朗媒体报道的美国巡逻艇大兵缴械投降画面
2 猜想
该事件虽然没有明确的解释,但不免让人们猜测,可能是伊朗向美方巡逻艇发出
GPS
欺骗攻击,诱使船只偏离航向。虽然美军军用
GPS
经过高度加密,常规上劫持
GPS
系统也非常困难,但对伊朗来说,曾有过先例:
2011
年,伊方曾声称通过
GPS
欺骗技术捕获了
CIA
的一架机密无人机,该无人机原计划在阿富汗降落。
3 GPS
欺骗技术的发展
早在
2008
年,德克萨斯州立大学奥斯汀分校的
Humphreys教授
已经研发出了业内公认的
GPS
欺骗攻击系统(
GPS spoofer
),该
spoofer
针对导航系统发送虚假信号,几乎可以以假乱真。另外,康奈尔大学的
Psiaki教授
也在
GPS
信号探测和欺骗领域进行着深入研究。
在伊朗捕获美国无人机事件不久,美国土安全部便决定对无人机
GPS
欺骗技术展开调查。
2012
年
6
月,
Humphreys
研究团队受
DHS
之邀在白沙导弹靶场进行无人直升机攻击测试(TED视频),最终,无人机被
GPS
欺骗系统成功诱骗。该测试攻击也受到国家立法层面和媒体的关注,后来,
Humphreys
还受邀出席了美国国会关于无人机安全的讨论。
此后,虽然
GPS
欺骗攻击的严重性深入人心,但其对导航系统的威胁却鲜为人知。为了预防
GPS
欺骗,我们首先要了解对手如何破坏
GPS
信号。
无人机捕获事件和攻击测试明显表明了
GPS
漏洞的存在,而
GPS
的其它应用更令人担忧,如:手机信号塔、证券交易所、电网等关键系统都部分或全部使用
GPS
精准定时。有针对性的
GPS
欺骗可导致通信中断、金融交易混乱、电力系统瘫痪等。可以相像,最严重的情况,
GPS
欺骗攻击者甚至可以操纵信号,让飞机或轮船发生相撞。
4 GPS
欺骗攻击测试实例
-
白玫瑰号游艇
Andrew Schofield
,白玫瑰号超级游艇船长,在
2013
年德州
SXSW
互动会议上听取了
Humphreys
关于白沙无人机攻击测试的案例细节后,主动邀请
Humphreys
对白玫瑰号游艇的
GPS
信号进行测试。
Humphreys
接受了这项邀请。白玫瑰号游艇主要依靠
GPS
来定位航行,通过
GPS
天线和接收器来接收卫星数据
。
Humphreys
与研究团队携
GPS欺骗系统
登上了白玫瑰号游艇从摩纳哥到希腊罗德岛的旅程。就在行程的第二天,
研究团队便成功利用虚假信号取代了
GPS
接收器的接收信号,实现了游艇的左向
3
度偏移。偏移十分轻微,最终,
GPS
欺骗攻击使白玫瑰号偏出预定航线一公里。
5 GPS
欺骗技术原理
Humphreys团队是如何做到的?
在通常的运行机制中,
GPS
接收器通过一次计算与多个卫星的距离来判断自身位置。每个卫星都配置有原子钟,并时刻向外广播其位置、时间和伪随机噪音码(由
1023
个正负号组成的签名模式
, PRN
码)。因为所有
GPS
卫星都使用相同的频率来广播民用信号,这些
PRN
码用来标识信号发射源,所以非常重要。
PRN
码的构成模式也随时重复变换,
GPS
信号接收器通过其正负号的独特排列方式,来判断和卫星之间的通信传输延迟。
GPS
信号接收器使用这些延迟,配合卫星方位和时间戳,精确测量出自身位置。
虽然一个
GPS
接收器使用
3
颗卫星数据就能定位坐标,但为了得到更好更精确的修正位置,接收器必须同时接收四颗或更多的卫星信号。
GPS
网络由
31
颗卫星组成,并由美国空军操作控制。这些卫星广播民用和军用两种
PRN
码,其中,民用
PRN
码是不加密且在卫星数据库中公开的,而军用
PRN
码是被加密的,只有当
GPS
接收器具备其秘密密钥才可接收解码数据。
通常来说,即使非军用
GPS
接收器接收了军用
GPS
信号,却无法使用这些信号来判断位置。另外,出于安全原因,美国空军频繁变换军用信号接收密钥,因此,只有那些拥有最新密钥的军用
GPS
接收器才能正常接收使用军用信号。
如果要攻击像白玫瑰游艇上的民用
GPS
信号接收器,
GPS
欺骗系统必须判断出在给定时间区域内攻击目标附近的轨道卫星,然后利用公开数据库中的公式,伪造不同卫星的
PRN
码信息,之后,欺骗系统在攻击目标附近,通过广播与卫星信号相同的
PRN
码值信息,欺骗攻击目标的
GPS
接收器注册接收这些虚假信号。
有一种艺术性的攻击技巧“
Drag-Off”
,可以隐秘地覆盖掉真实的
GPS
信号。要做到这一点,在
GPS
接收器获取这些受骗信号之前,欺骗系统必须逐渐增加虚假信号功率。如果虚假信号频率增加得太快,也会引起怀疑。一旦
GPS
接收器锁定并接收了这些虚假错误信号,攻击者可以调整接收器,舍弃真实信号,更换成其它新的坐标集。
6
GPS
欺骗防御技术
幸运的是,来自美国康奈尔大学的
Psiaki
教授和他的学生团队已经研发出反
GPS
欺骗的防御系统。事实上,
Humphrey
团队在白沙靶场进行无人机攻击测试的同时,
Psiaki
也在现场对一个早期的
GPS
防御模型进行测试,该模型经过数小时的离线计算可以成功检测每次
GPS
欺骗攻击。
防止
GPS
欺骗攻击,有三种主要方式:
加密、信号失真检测、
波达方向(DOA)感应
。单独一种方法不可能实现完全防御。
加密:
加密方式为使用者提供了空中认证信号。举个例子,就像民用
GPS
接收器获取了加密的军用
PRN
码后,将不能完全可知或解码,当然,
GPS
欺骗系统也不可能做到提前伪造合成加密信号。如果要认证每个信号,那么每台民用
GPS
接收器将要携带类似于军用接收器上的加密密钥,而且要保证攻击者不能轻易获取到这些密钥。
或者,接收器可以先接收信号中的不可预测或解码的那部分,之后,等待发送方广播有数字签名的加密密钥来验证信号源。然而,这种方式会产生短暂延迟,而且,还需要掌握
GPS
网络的美国空军修改信号广播方式,另外,民用接收器制造商也要重新改变设备构造。
当然,另外一种简单方法就是,在军用加密信号中“加载”民用信号。
目前,军用信号即使无法被解码和用于导航,但已经可以被民用接收器接收,民用接收器通过观察接收到的
PRN
码噪音痕迹,能间接验证信号发射源。这种策略还需依赖另外一台安全的民用接收器
,这台接收器用以区分验证多个信号的噪音痕迹,否则,攻击者一样可以制造虚假的痕迹。
加密技术的缺点是,所有的加密方式都容易被专门的系统进行信号拦截、传输延迟、信号重放等攻击,这种专门的工具称为信号模拟干扰器
Meacon
,它可以使用多种天线来模拟不同距离的信号延迟,通过调整延迟距离,攻击者可以轻易欺骗任何
GPS
接收器。
信号失真检测:
另一种防御
GPS
欺骗的方法是
信号失真检测
,当
GPS
信号正在被欺骗攻击时,这种方法可以根据一个短暂可观测的峰值信号来警告用户。通常,
GPS
接收器会使用不同策略来追踪接入信号的振幅强度,当一个模拟信号被传输发送时,接收器上显示的是原始信号和假信号的合成,而这种合成将会在
Drag-off
期间的振幅中出现一个峰值信号。
波达方向感应:
Psiaki
在白沙靶场演示的欺骗探测防御系统就是使用这种技术,该系统主要技术点在于,它需要几个小时的脱机数据处理计算来检测欺骗攻击。
FB
百科:
波达方向(
Direction Of Arrival
)估计,又称为谱估计(
spectral estimation
)、波达角(
Angle Of Arrival
)估计。一个信源有很多可能的传播路径和到达角。如果几个发射器同时工作,每个信源在接收器处形成潜在的多径分量角度。因此,接收天线能估计出这些到达角就显得很重要,目的是估计出哪个发射器在工作以及发射器所处的方向。
由于真实的
GPS
信号来自于多颗卫星,因此在
GPS
接收器附近会形成多种角度。而在真实的
GPS
欺骗攻击场景中,同一时间只能在一个地方,通过伪造
GPS
接收器附近卫星的
PRN
码来制造虚假信号,并且,这些不同的信号将会从一个天线进行传播扩散,它们到达
GPS
接收器附近时,产生的是同一个方向的角度。所以,波达方向感应正是利用了这样一种事实和原理,如果
GPS
接收器附近的同一方向,产生了不同的信号,那么,
GPS
欺骗攻击可能正在进行。
当然,
如果能分别感应到每个信号的到达方向,就可轻易确定是否正遭受
GPS
欺骗。为了验证这个想法,最近,