1 事件
1月12日,就在奧巴馬準備發(fā)表任上最后一次國情咨文演講的前一小時,兩艘載有10名海軍的美國巡邏艇因駛?cè)胍晾仕颍灰晾受姺娇垩海@一突發(fā)事件,給總統(tǒng)的上臺演說增加了幾分尷尬。第二天,船員們就被伊方釋放,但美方似乎沒有官員能對偏離航向的原因做出合理解釋。國防部長阿什頓卡特只是簡單回應到:那些訓練有素的船員“迷航”了,調(diào)查在進行中。
圖:伊朗媒體報道的美國巡邏艇大兵繳械投降畫面
2 猜想
該事件雖然沒有明確的解釋,但不免讓人們猜測,可能是伊朗向美方巡邏艇發(fā)出GPS欺騙攻擊,誘使船只偏離航向。雖然美軍軍用GPS經(jīng)過高度加密,常規(guī)上劫持GPS系統(tǒng)也非常困難,但對伊朗來說,曾有過先例:2011年,伊方曾聲稱通過GPS欺騙技術(shù)捕獲了CIA的一架機密無人機,該無人機原計劃在阿富汗降落。
3 GPS欺騙技術(shù)的發(fā)展
早在2008年,德克薩斯州立大學奧斯汀分校的Humphreys教授已經(jīng)研發(fā)出了業(yè)內(nèi)公認的GPS欺騙攻擊系統(tǒng)(GPS spoofer),該spoofer針對導航系統(tǒng)發(fā)送虛假信號,幾乎可以以假亂真。另外,康奈爾大學的Psiaki教授也在GPS信號探測和欺騙領域進行著深入研究。
在伊朗捕獲美國無人機事件不久,美國土安全部便決定對無人機GPS欺騙技術(shù)展開調(diào)查。2012年6月,Humphreys研究團隊受DHS之邀在白沙導彈靶場進行無人直升機攻擊測試(TED視頻),最終,無人機被GPS欺騙系統(tǒng)成功誘騙。該測試攻擊也受到國家立法層面和媒體的關注,后來,Humphreys還受邀出席了美國國會關于無人機安全的討論。
此后,雖然GPS欺騙攻擊的嚴重性深入人心,但其對導航系統(tǒng)的威脅卻鮮為人知。為了預防GPS欺騙,我們首先要了解對手如何破壞GPS信號。
無人機捕獲事件和攻擊測試明顯表明了GPS漏洞的存在,而GPS的其它應用更令人擔憂,如:手機信號塔、證券交易所、電網(wǎng)等關鍵系統(tǒng)都部分或全部使用GPS精準定時。有針對性的GPS欺騙可導致通信中斷、金融交易混亂、電力系統(tǒng)癱瘓等。可以相像,最嚴重的情況,GPS欺騙攻擊者甚至可以操縱信號,讓飛機或輪船發(fā)生相撞。
4 GPS欺騙攻擊測試實例-白玫瑰號游艇
Andrew Schofield,白玫瑰號超級游艇船長,在2013年德州SXSW互動會議上聽取了Humphreys關于白沙無人機攻擊測試的案例細節(jié)后,主動邀請Humphreys對白玫瑰號游艇的GPS信號進行測試。Humphreys接受了這項邀請。白玫瑰號游艇主要依靠GPS來定位航行,通過GPS天線和接收器來接收衛(wèi)星數(shù)據(jù)。
Humphreys與研究團隊攜GPS欺騙系統(tǒng)登上了白玫瑰號游艇從摩納哥到希臘羅德島的旅程。就在行程的第二天,研究團隊便成功利用虛假信號取代了GPS接收器的接收信號,實現(xiàn)了游艇的左向3度偏移。偏移十分輕微,最終,GPS欺騙攻擊使白玫瑰號偏出預定航線一公里。
5 GPS欺騙技術(shù)原理
Humphreys團隊是如何做到的?在通常的運行機制中,GPS接收器通過一次計算與多個衛(wèi)星的距離來判斷自身位置。每個衛(wèi)星都配置有原子鐘,并時刻向外廣播其位置、時間和偽隨機噪音碼(由1023個正負號組成的簽名模式, PRN碼)。因為所有GPS衛(wèi)星都使用相同的頻率來廣播民用信號,這些PRN碼用來標識信號發(fā)射源,所以非常重要。
PRN碼的構(gòu)成模式也隨時重復變換,GPS信號接收器通過其正負號的獨特排列方式,來判斷和衛(wèi)星之間的通信傳輸延遲。GPS信號接收器使用這些延遲,配合衛(wèi)星方位和時間戳,精確測量出自身位置。
雖然一個GPS接收器使用3顆衛(wèi)星數(shù)據(jù)就能定位坐標,但為了得到更好更精確的修正位置,接收器必須同時接收四顆或更多的衛(wèi)星信號。
GPS網(wǎng)絡由31顆衛(wèi)星組成,并由美國空軍操作控制。這些衛(wèi)星廣播民用和軍用兩種PRN碼,其中,民用PRN碼是不加密且在衛(wèi)星數(shù)據(jù)庫中公開的,而軍用PRN碼是被加密的,只有當GPS接收器具備其秘密密鑰才可接收解碼數(shù)據(jù)。
通常來說,即使非軍用GPS接收器接收了軍用GPS信號,卻無法使用這些信號來判斷位置。另外,出于安全原因,美國空軍頻繁變換軍用信號接收密鑰,因此,只有那些擁有最新密鑰的軍用GPS接收器才能正常接收使用軍用信號。
如果要攻擊像白玫瑰游艇上的民用GPS信號接收器,GPS欺騙系統(tǒng)必須判斷出在給定時間區(qū)域內(nèi)攻擊目標附近的軌道衛(wèi)星,然后利用公開數(shù)據(jù)庫中的公式,偽造不同衛(wèi)星的PRN碼信息,之后,欺騙系統(tǒng)在攻擊目標附近,通過廣播與衛(wèi)星信號相同的PRN碼值信息,欺騙攻擊目標的GPS接收器注冊接收這些虛假信號。
有一種藝術(shù)性的攻擊技巧“Drag-Off”,可以隱秘地覆蓋掉真實的GPS信號。要做到這一點,在GPS接收器獲取這些受騙信號之前,欺騙系統(tǒng)必須逐漸增加虛假信號功率。如果虛假信號頻率增加得太快,也會引起懷疑。一旦GPS接收器鎖定并接收了這些虛假錯誤信號,攻擊者可以調(diào)整接收器,舍棄真實信號,更換成其它新的坐標集。
6 GPS欺騙防御技術(shù)
幸運的是,來自美國康奈爾大學的Psiaki教授和他的學生團隊已經(jīng)研發(fā)出反GPS欺騙的防御系統(tǒng)。事實上,Humphrey團隊在白沙靶場進行無人機攻擊測試的同時,Psiaki也在現(xiàn)場對一個早期的GPS防御模型進行測試,該模型經(jīng)過數(shù)小時的離線計算可以成功檢測每次GPS欺騙攻擊。
防止GPS欺騙攻擊,有三種主要方式:加密、信號失真檢測、波達方向(DOA)感應。單獨一種方法不可能實現(xiàn)完全防御。
加密:
加密方式為使用者提供了空中認證信號。舉個例子,就像民用GPS接收器獲取了加密的軍用PRN碼后,將不能完全可知或解碼,當然,GPS欺騙系統(tǒng)也不可能做到提前偽造合成加密信號。如果要認證每個信號,那么每臺民用GPS接收器將要攜帶類似于軍用接收器上的加密密鑰,而且要保證攻擊者不能輕易獲取到這些密鑰。
或者,接收器可以先接收信號中的不可預測或解碼的那部分,之后,等待發(fā)送方廣播有數(shù)字簽名的加密密鑰來驗證信號源。然而,這種方式會產(chǎn)生短暫延遲,而且,還需要掌握GPS網(wǎng)絡的美國空軍修改信號廣播方式,另外,民用接收器制造商也要重新改變設備構(gòu)造。
當然,另外一種簡單方法就是,在軍用加密信號中“加載”民用信號。目前,軍用信號即使無法被解碼和用于導航,但已經(jīng)可以被民用接收器接收,民用接收器通過觀察接收到的PRN碼噪音痕跡,能間接驗證信號發(fā)射源。這種策略還需依賴另外一臺安全的民用接收器,這臺接收器用以區(qū)分驗證多個信號的噪音痕跡,否則,攻擊者一樣可以制造虛假的痕跡。
加密技術(shù)的缺點是,所有的加密方式都容易被專門的系統(tǒng)進行信號攔截、傳輸延遲、信號重放等攻擊,這種專門的工具稱為信號模擬干擾器Meacon,它可以使用多種天線來模擬不同距離的信號延遲,通過調(diào)整延遲距離,攻擊者可以輕易欺騙任何GPS接收器。
信號失真檢測:
另一種防御GPS欺騙的方法是信號失真檢測,當GPS信號正在被欺騙攻擊時,這種方法可以根據(jù)一個短暫可觀測的峰值信號來警告用戶。通常,GPS接收器會使用不同策略來追蹤接入信號的振幅強度,當一個模擬信號被傳輸發(fā)送時,接收器上顯示的是原始信號和假信號的合成,而這種合成將會在Drag-off期間的振幅中出現(xiàn)一個峰值信號。
波達方向感應:
Psiaki在白沙靶場演示的欺騙探測防御系統(tǒng)就是使用這種技術(shù),該系統(tǒng)主要技術(shù)點在于,它需要幾個小時的脫機數(shù)據(jù)處理計算來檢測欺騙攻擊。
FB百科:
波達方向(Direction Of Arrival)估計,又稱為譜估計(spectral estimation)、波達角(Angle Of Arrival)估計。一個信源有很多可能的傳播路徑和到達角。如果幾個發(fā)射器同時工作,每個信源在接收器處形成潛在的多徑分量角度。因此,接收天線能估計出這些到達角就顯得很重要,目的是估計出哪個發(fā)射器在工作以及發(fā)射器所處的方向。
由于真實的GPS信號來自于多顆衛(wèi)星,因此在GPS接收器附近會形成多種角度。而在真實的GPS欺騙攻擊場景中,同一時間只能在一個地方,通過偽造GPS接收器附近衛(wèi)星的PRN碼來制造虛假信號,并且,這些不同的信號將會從一個天線進行傳播擴散,它們到達GPS接收器附近時,產(chǎn)生的是同一個方向的角度。所以,波達方向感應正是利用了這樣一種事實和原理,如果GPS接收器附近的同一方向,產(chǎn)生了不同的信號,那么,GPS欺騙攻擊可能正在進行。
當然,如果能分別感應到每個信號的到達方向,就可輕易確定是否正遭受GPS欺騙。為了驗證這個想法,最近,Psiaki的實驗室利用干涉檢測原理,構(gòu)建了一種使用軟件和兩個天線的GPS欺騙發(fā)現(xiàn)系統(tǒng)。具體來說,它使用載波相位作為檢測屬性,分辨信號在不同天線之間的變化區(qū)別,來確定信號的到達角度(方向)。
載波相位是指在信號接收時刻,衛(wèi)星信號的相位相對于接收器產(chǎn)生的載波信號相位的測量值。載波相位檢測是計算GPS信號多普勒頻移周期的方法。多普勒頻移發(fā)生于信號發(fā)射器與接收器有相對移動時。一個經(jīng)典的例子就是:當消防車經(jīng)過并遠離你時,警笛聲音的頻移從高到低。GPS衛(wèi)星與GPS接收器之間會產(chǎn)生相對運動,并且這種相對運動對每個衛(wèi)星都不同。
7 GPS欺騙攻擊檢測防御實例-白玫瑰號游艇
在Schofield的要求下,Psiaki團隊在2014年6月白玫瑰號巡游意大利時測試了這個檢測防御系統(tǒng)。欺騙攻擊由Humphreys團隊策劃,使船偏離行駛在前往利比亞的航道上。Psiaki的GPS欺騙檢測器通過測量來自多個衛(wèi)星和欺騙系統(tǒng)的7個GPS信號載波相位,在攻擊一開始,就向船員發(fā)出了欺騙發(fā)現(xiàn)警告。當攻擊開始后,欺騙檢測器發(fā)現(xiàn),不同的變化在真正的載波相位差中消失了。至利比亞航道的Drag-off欺騙,在開始后約125秒進入攻擊,而Psiaki的檢測系統(tǒng)在其中首個循環(huán)檢測的第6秒內(nèi)就捕獲到了攻擊。
8 幾種欺騙防御技術(shù)比較
今年初,GPS制造商U-blox在其M8系列的商用導航系統(tǒng)中通過更新固件內(nèi)置了欺騙防御裝置。該公司沒有公布欺騙檢測的方法,但估計可能是信號失真檢測,因為這種方法最容易固件更新來實現(xiàn)。
但是,基于失真檢測的方法可能在攻擊早期不能及時捕獲欺騙,相對來說,加密方法是非常有效的(當然這得詳細咨詢美國空軍),但這需要GPS信號廣播方式在物理構(gòu)造上做出改變,當然,或許還需要高帶寬通信鏈路。目前,歐洲伽利略導航衛(wèi)星系統(tǒng)的設計師們已經(jīng)認可并測試了這種方法,但是,這樣的加密信號系統(tǒng)仍然易受信號干擾攻擊。
另外,波達方向感應比失真檢測成本更昂貴,因為它需要多個大型天線設備。而且,有些攻擊仍可以欺騙它:如果欺騙攻擊系統(tǒng)的目標只接收一到兩個GPS信號,而不是附近范圍內(nèi)所有衛(wèi)星信號,那么,在欺騙防御系統(tǒng)關閉后,有些載波相位差甚至在攻擊后仍然存在。
9 結(jié)語
最終,我們認為信號失真檢測和波達方向感應的綜合可能是最好的欺騙防御方法。失真檢測應用于攻擊初始階段,而波達方向感應則提供第二道階段防御。
但是,這樣的綜合解決方案對大多數(shù)普通用戶來說,稍顯昂貴,而且,一般用戶并不需要欺騙防御系統(tǒng)。當然,希望這是個安全的賭注,當美國駕駛員開車尋找時髦餐館或載小孩去看棒球比賽時,也許伊朗特工對這種GPS欺騙根本不感興趣。
以上研究僅僅是信息物理網(wǎng)絡安全(CPS)的一小部分。想像一下,在擁擠的高速公路上,黑客能做到發(fā)送虛假雷達信號到高檔汽車的自動剎車系統(tǒng),讓它來個急剎車嗎?答案是肯定的,令人惶恐的。在信息安全測試研究中,紅隊實施系統(tǒng)攻擊,而藍隊負責防御偵察,這種測試方法對我們的工作非常有用,在某些方面來說,我們亟需加強防御能力建設。
Humphreys 目前還在德州大學奧斯汀分校擔任航天工程和工程力學系副教授。聯(lián)邦調(diào)查局特工曾多次參觀了他的實驗室,并向他咨詢有關GPS欺騙攻擊的事。