陳立軍,潘正軍,陳孝如
(廣州軟件學(xué)院軟件工程系,廣州 510990)
無人駕駛飛行器也被稱為無人機(unmanned aerial vehicle,UAV),在過去幾年,私人、商業(yè)、軍事[1]方面的應(yīng)用急劇增加.無人機的使用案例包括搜索、救援[2]、農(nóng)業(yè)田間管理、建筑、采礦以及電影業(yè).UAV 很容易適應(yīng)定制任務(wù),只需要很少的維護,而且運行成本低.然而,UAV 執(zhí)行自主任務(wù)在很大程度上依賴于GNSS的定位、導(dǎo)航和任務(wù)規(guī)劃.由于GPS 定位準確性高,是無人機使用的主要位置估計技術(shù).GPS 是一個由多達31 顆衛(wèi)星組成的星座,其中最多可以有3 顆衛(wèi)星處于儲備或待機模式,每顆GPS 星發(fā)射兩個信號,一個是未加密的民用信號,一個是經(jīng)過加密和認證的軍用信號.盡管現(xiàn)在民用GPS 信號使用廣泛,但它不是安全應(yīng)用[3].近十年,UAV 在設(shè)計、硬件和軟件方面都得到了大規(guī)模的改進[4],但許多安全問題和擔憂在很大程度上仍然未得到解決.UAV 的民用領(lǐng)域廣泛,但民用GPS 信號未經(jīng)過加密和認證,安全性不高,而軍用GPS 信號一般不作民用.GPS 的一個實質(zhì)性問題是,接收到的信號非常弱,由于衛(wèi)星和地球之間的高路徑損耗,接收到的表面信號功率大約為-130 dBm[5],這比熱噪聲約低20 dB.假設(shè)信號功率均勻分布在2 MHz 的帶寬內(nèi),特別低的信號功率會導(dǎo)致GPS 容易受到干擾、故意干擾和欺騙性攻擊.GPS 欺騙攻擊的后果危害性很大,例如,改變飛行路線,突然加速或減速,與其他UAV 相撞,或通過傳輸禁飛區(qū)坐標強制切換到手動或降落模式.為了有效緩解GPS 欺騙攻擊,我們需要一個可靠的欺騙攻擊檢測機制.近幾年,已經(jīng)提出了多種針對GPS 欺騙攻擊的檢測技術(shù)[6],然而,許多技術(shù)需要修改接收器的天線,安裝額外的GPS 接收器,或者獲取GNSS 信號的物理屬性,如信號強度和無人機的到達方向,因此,在大多數(shù)情況下,它需要修改現(xiàn)有的或集成額外的硬件組件.在本研究中,提出了一種針對無人機群(unmanned aerial vehicles,UAVs)的GPS 欺騙攻擊檢測機制,該機制以脈沖無線電超寬帶(impulse radio ultra wideband,IR-UWB)輔助UAVs 為例,利用每架UAV 向地面站報告的GPS 定位數(shù)據(jù),然后檢查UAVs 中兩架UAV 的定位結(jié)果是否相等,如果報告的坐標相同,則表明UAV 接收到的GPS 信號有一個是偽造的.為了解決兩架無人機中只有一架受到偽造GPS 信號影響的情況,本文還將根據(jù) GPS 數(shù)據(jù)得出的兩架無人機之間的距離與 IR-UWB 測距或其他類似測距技術(shù)得出的距離進行了比較,當然,所提的檢測機制不僅僅限于一種測距技術(shù).
GPS 接收機對欺騙攻擊的脆弱性并不是一個新的話題,幾項研究已經(jīng)審查了GPS 欺騙檢測技術(shù)[6-7],然而,其中只有極少數(shù)不需要對硬件進行任何修改、安裝額外的天線和接收器,或訪問GPS 信號的物理參數(shù).表1 給出了幾種可用的GPS 欺騙檢測的方法、它們的缺點和檢測率.例如,文獻[8-9]將GPS 定位與其他傳感器測量相結(jié)合,使用慣性測量單元(inertial measurement unit,IMU)、陀螺儀或加速計,以檢測GPS 定位中的異常和偏差.文獻[10]建議使用多個固定距離的接收器或天線陣列來估計欺騙GPS 信號的到達方向,并檢測欺騙攻擊.其他方法依靠GPS 信號的到達時間相關(guān)性[11-12]、無人機機載攝像頭的視頻流分析[13],或使用蜂窩塔和蜂窩網(wǎng)絡(luò)基礎(chǔ)設(shè)施來輔助檢測過程[14-15].表1 中給出的檢測機制按檢測率百分比排序.
文獻[9]提出了一種基于組合陀螺儀和加速計的角速度與線性加速度測量值的機制,以估計UAV 的位置,并將其與接收到的GPS 坐標進行比較,這種機制的缺點是,盡管它的檢測率很高(據(jù)報道為96%),但它需要密集的計算,以便能夠跟蹤3D 空間中的UAV 運動,并將其與報告的GPS 位置進行比較.
Jansen等[10]提出了一種用于欺騙檢測的多接收器方法,檢測機制將接收器之間的固定距離與它們報告的位置之間的距離進行比較.在GPS 欺騙攻擊的情況下,兩個接收器的報告位置差將非常接近于零,反之,如果信號是真實的,則報告的距離將接近接收器之間的實際固定距離.盡管該機制的檢測率高達99%,但它至少需要兩個GPS 接收器,它們之間有固定的距離,這對于相對較小的UAV 來說是不可行的.
文獻[11]利用短距離通信技術(shù)提出了一種分散的欺騙檢測機制,車輛之間交換其測量的GPS 代碼偽距離測量值,然后執(zhí)行線性運算以導(dǎo)出與每個相鄰車輛相關(guān)的獨立統(tǒng)計信息,將導(dǎo)出的統(tǒng)計信息報告給頭部車輛以執(zhí)行欺騙檢測.這種機制的缺點是它需要車輛網(wǎng)絡(luò)中的特定層次結(jié)構(gòu),以及車輛到車輛的通信,處理部分也在每輛車上進行,從而引入了計算開銷.文獻[11]提到,誤報的概率接近于零,然而并沒有提供實驗或模擬的檢測率統(tǒng)計數(shù)據(jù).
文獻[12]提出了一種名為Crowd-GPS-sec 的欺騙檢測機制,該機制利用眾包來監(jiān)控飛機的ASD-B流量,ADS-B 負責(zé)飛機的GPS 定位廣告,UAV 或其他飛行器出于空中交通管制目的定期廣播ADS-B 消息,地面上的獨立基礎(chǔ)設(shè)施用來檢測和定位欺騙攻擊,并持續(xù)分析這些消息的內(nèi)容和到達時間.這種機制的缺點是第三方地面基礎(chǔ)設(shè)施的可靠性不能保證.作者報告稱,基于模擬,該機制可以檢測到多達75%的GPS 欺騙攻擊.
文獻[13]提出了一種基于分析UAV 攝像機視頻流的欺騙檢測機制,所提出的機制從視頻流中收集幀及其GPS 坐標,根據(jù)GPS 坐標和實時視頻流幀計算UAV 運動之間的相關(guān)性,以確定是否發(fā)生了欺騙攻擊,這種方法的缺點是其性能高度依賴于地形、速度、海拔和環(huán)境光照.此外,UAV 攝像頭的所有處理工作都在UAV端,從而引入了計算開銷.文獻[13]提到,該方法可以檢測任何GPS 欺騙攻擊.然而,并沒有提供實驗或模擬的檢測率統(tǒng)計數(shù)據(jù).
文獻[14]提出了一種檢測機制,該機制利用蜂窩基礎(chǔ)設(shè)施基于蜂窩塔信標消息計算移動車輛的近似位置,并驗證UAV 接收的GPS 坐標是否在該近似位置內(nèi).其最大的缺點是,即使文中提到其檢測率為100%,它也需要額外的蜂窩模塊,并且完全依賴于操作區(qū)域的蜂窩覆蓋.
文獻[16]提出了一種基于多個接收器天線的欺騙檢測機制,它需要接收機天線的特定陣列布置估計到達方向并比較GPS 信號的相位延遲.該機制依賴于這樣一個事實,即攻擊者通常從同一天線發(fā)送多個GPS 信號代碼,而真實信號由不同方向的不同衛(wèi)星發(fā)送.這種機制的缺點是,即使其檢測率高達99%,也需要在UAV 上安裝復(fù)雜的信號處理算法和多個外部天線,以便于GPS 欺騙攻擊檢測過程.
上述的每一種檢測機制都有其自身的缺點,有些需要復(fù)雜的信號處理或密集的計算資源來運行機器學(xué)習(xí)算法,這在小型UAV 上是不可行的.其他機制則需要額外的硬件組件安裝在地面或UAV 上.較小尺寸的商用和民用UAV 通常依賴具有有限計算能力和機載空間的微控制器來補充硬件組件,這使得上述機制不適用.因此,本研究提出一種易于執(zhí)行的欺騙檢測機制,適用于小型和中型UAVs,該機制不需要復(fù)雜的信號處理或任何額外的地面基礎(chǔ)設(shè)施,并且可以使用類似于IR-UWB 測距的任何測距技術(shù)來實現(xiàn).
GPS 欺騙和干擾攻擊是無人機最常見的網(wǎng)絡(luò)攻擊之一[17].GPS 欺騙和干擾經(jīng)常同時進行,攻擊者開始干擾真實的GPS 信號,迫使一架無人機進入失去衛(wèi)星信號的狀態(tài),同時,攻擊者使用位于附近的GNSS欺騙設(shè)備,以更高的信號功率啟動模擬GNSS 信號的傳輸.隨著廉價的軟件無線電(software definition radio,SDR)進入市場,GPS 欺騙的威脅顯著增加,SDR 可以很容易地模仿真實的GPS 信號,并在UAV的預(yù)期飛行路徑上造成嚴重偏差.GPS 欺騙攻擊的影響可能是毀滅性的,包括碰撞、墜毀甚至是UAV 被盜,這不僅對UAV,而且對遠程飛行員和周圍的人都構(gòu)成了重大的安全威脅.
GPS 接收機的位置估計是根據(jù)環(huán)繞地球運行的4 顆或4 顆以上衛(wèi)星接收到的衛(wèi)星信號的到達時間來確定的,通過使用來自每個衛(wèi)星的信號到達時間,了解它們在空間中的位置以及多極化,GPS 接收器可以估計其在地球上的位置并接收當?shù)貢r間.另一方面,GPS 欺騙攻擊是故意模仿合法的GNSS 信號,以達到惡意的目的,如果GPS 欺騙攻擊沒有被檢測到,其后果可能比GPS 干擾攻擊的后果更嚴重,只要GPS 欺騙仍未被目標UAV 發(fā)現(xiàn),其導(dǎo)航仍在攻擊者的控制之下.由于SDR 技術(shù)的進步,執(zhí)行復(fù)雜的GPS 欺騙攻擊已經(jīng)變得更便宜可行.單發(fā)射機攻擊和多發(fā)射機攻擊是兩種常見的GPS 欺騙攻擊方案.
在這種攻擊場景中,攻擊者使用單個發(fā)射器發(fā)起欺騙攻擊,因此,所有的欺騙信號都是相同的,并且來自同一個源,使用被欺騙的GPS 信號壓制真實的GPS 信號是執(zhí)行這種攻擊的最常見方法.然而,根據(jù)攻擊者的技術(shù)能力,在執(zhí)行欺騙攻擊之前可能會發(fā)生額外的GPS 干擾攻擊,圖1 為單發(fā)射機對3 架UAVs的GPS 欺騙攻擊.
圖1 單發(fā)射器GPS 欺騙攻擊
根據(jù)惡意目標的不同,攻擊者可以使用調(diào)諧到GPS 頻率(1 575.42 MHz)的SDR 來生成自己的欺騙GPS 信號,或者簡單地重播攻擊前記錄的真實GNSS 信號,受GPS 欺騙攻擊影響的UAV 數(shù)量可能取決于攻擊者到蜂群的距離,以及蜂群內(nèi)UAV 之間的距離間隔.位于受影響區(qū)域的UAV 接收相同的欺騙GPS 信號,根據(jù)攻擊者與特定無人機之間的距離有微小的時間差,計算得出幾乎相同的定位結(jié)果.
攻擊者使用兩個或多個發(fā)射機發(fā)起欺騙攻擊,因此,欺騙信號可以來自不同的源以覆蓋更大的區(qū)域,或者從每個發(fā)射機發(fā)送不同的欺騙信號,在這種攻擊場景中,攻擊者利用多個發(fā)射機來覆蓋更大的區(qū)域或向不同的UAV 傳輸不同的欺騙信號,將發(fā)射機放置在不同的位置.圖2 為利用兩種欺騙設(shè)備對UAVs 進行多發(fā)射機GPS 欺騙攻擊的情況.
圖2 多發(fā)射機GPS 欺騙攻擊
根據(jù)UAV 與欺騙信號發(fā)射器位置之間的距離,受影響的UAV 可以接收相同或不同的欺騙GPS 信號,在這種情況下,攻擊者可以通過傳輸禁飛區(qū)坐標迫使兩架或多架UAV 在碰撞路線上移動、加速、切換到手動模式或著陸.如果欺騙攻擊沒有被及時發(fā)現(xiàn),它將成為UAV 和周圍人員的重大安全隱患.
本節(jié)將在IR-UWB 輔助UAVs 的示例上介紹本文的GPS 欺騙攻擊檢測機制,依賴于群中每架UAV 向地面控制站(ground control station,GCS)報告的GPS 定位數(shù)據(jù),假設(shè)UAVs由n架UAV 組成,進一步表示為UUAV1,···,UUAVn,根據(jù)GCS 接收到的GPS 定位數(shù)據(jù),計算出UUAV1和蜂群中其他UAV之間的距離(UUAV2,···,UUAVn).此外,GCS 還請求UUAV1和蜂群其他部分(UUAV2,···,UUAVn)之間的IR-UWB 測距數(shù)據(jù).為了避免碰撞,蜂群中需要定期進行UAV 之間的IR-UWB 距離測量,它們不會引入額外的能量約束,因此,通過比較兩個距離,可以確定報告的GPS 坐標是真實的還是偽造的.超寬帶測距在精度、能耗、多徑魯棒性、抗干擾等方面具有諸多優(yōu)勢,是確認GPS 數(shù)據(jù)可信度的可靠距離測量來源.IR-UWB 測距技術(shù)基于短、低能量、寬頻譜上的窄脈沖,具有高時間分辨率,它提供了測量兩個物體之間距離的能力,精度為厘米,操作范圍高達150 m[18].
本文為區(qū)分單發(fā)射機和多發(fā)射機GPS 兩種欺騙攻擊場景,對每種欺騙攻擊場景使用不同的檢測因子,在單發(fā)射機攻擊的情況下,GPS 欺騙攻擊有兩種可能的結(jié)果,即只有一架受影響的UAV 或兩架以上受影響的UAV.下面將詳細描述每種結(jié)果的檢測過程.
案例1:單發(fā)射機場景下,只有UUAV1受GPS 欺騙信號影響.
由UUAV1向GCS 報告的GPS 坐標由緯度和經(jīng)度組成,進一步表示為GGPS(UUAV1)=(llat1,llon1),通過式(1)中所示的“球面余弦定律”以及GPS 坐標計算出被欺騙的UUAV1和另一個未被欺騙的UUAVi之間的距離,其中i=2,3,···,n,并進一步表示為dGPS(UUAV1,UUAVi).
考慮到UUAV1和UUAVi之間的高度差,當它們在不同高度飛行時,必須利用三維空間中兩個坐標之間的歐幾里得距離計算來調(diào)整dGPS的距離.在本文的例子中,高度的調(diào)整可以使用畢達哥拉斯定理來計算,其中,dGPS作為三角形的一邊,高度差作為另一邊,因此,這個直角三角形的斜邊是UAV 之間的真實距離,與它們各自的高度有關(guān).
被欺騙的UUAV1和其他未被欺騙的UUAVi之間獲得的IR-UWB 測距距離進一步表示為dUWB(UUAV1,UUAVi).
式(1)為“球面余弦定律”的實現(xiàn),用弧度表示,其中φ為緯度,λ 為經(jīng)度;Δλ為UUAV1與UUAVi的經(jīng)度差,Δλ=(λi-λ1);R是地球的平均半徑,為6 371 km.
在計算dGPS(UUAV1,UUAVi)之后,可以將其與dUWB(UUAV1,UUAVi)進行比較,如果結(jié)果顯示兩個距離之間差異很大,則表明GPS 受到欺騙攻擊.
考慮到大多數(shù)情況下,每個GPS 接收機的定位誤差不大于4.9 m[19],IR-UWB 測距誤差在30 cm 以內(nèi)[20]時,測量距離的差值不應(yīng)超過這兩個誤差的和.事實上,如果兩個比較距離之間的差異大于測量誤差閾值(進一步表示為dTHR),則表明其中一架或另一架無人機受到GPS 欺騙攻擊.dTHR可以根據(jù)地形和接收到的GPS 信號質(zhì)量為每個UAVs 單獨調(diào)整,以提高其準確性和有效性.此外,對于平均操作距離小于10 m 的無人機蜂群,經(jīng)常使用差分全球定位系統(tǒng)(differential Global Position System,DGPS)或?qū)崟r動態(tài)(real-time kinematic,RTK),定位精度為1~3 cm[21],在這種情況下,用于GPS 欺騙攻擊檢測的dTHR可以顯著減少.
案例2:單發(fā)射機場景下,兩架或多架無人機受到GPS 欺騙攻擊.
在這種情況下,兩個或多個UAV(例如UUAVi和UUAVj)接收到相同的欺騙信號,即它們計算的GPS定位結(jié)果幾乎相同,只有一個微小的時間差,這取決于信號從欺騙設(shè)備到達的時間,因此,根據(jù)受影響UAV 的GPS 坐標計算出的它們之間的距離將非常接近或等于零,即dGPS≈0,這一事實本身就可以用于成功的GPS 欺騙攻擊檢測.對于群中兩架UAV 之間的最小距離由避碰算法自動控制的情況,僅通過比較無人機的GPS 定位結(jié)果就可以很容易地檢測到單發(fā)射機GPS 欺騙攻擊的存在,而無需將其與IRUWB 測距結(jié)果進行比較,因此不需要任何額外的機載測距硬件.然而,通過比較每兩個無人機(UUAVi和UUAVj)之間的dGPS和dUWB,可以減少誤報,并使檢測機制更加可靠.重要的是要指出,dUWB不能等于或接近于零,否則這將意味著UUAVi已經(jīng)碰撞并撞上了UUAVj.
《數(shù)據(jù)庫維護與編程》課程的特點是內(nèi)容多、更新快、課時少,在授課內(nèi)容方面除了要講授大量的基礎(chǔ)知識外,還要涉及具體的應(yīng)用、操作,因此傳統(tǒng)的講授和示教法就顯現(xiàn)出許多問題。例如:課堂教學(xué)空洞、呆板,學(xué)生缺乏學(xué)習(xí)興趣,忽視了學(xué)生積極性、主動性的發(fā)揮。
案例3:多發(fā)射機場景下,兩架或多架UAV 受到GPS 欺騙攻擊.
在這種情況下,可以通過多個發(fā)射機廣播相同的欺騙GPS 信號來覆蓋更大的區(qū)域,或者由每個發(fā)射機廣播不同的GPS 欺騙信號.在第一種結(jié)果中,GPS 欺騙攻擊將與單發(fā)射機GPS 欺騙攻擊相同,但影響范圍更廣.在第二種結(jié)果中,蜂群中的兩架UAV 可能會接收不同的欺騙GPS 信號,從而計算不同的定位結(jié)果.在這種情況下,提出的GPS 欺騙的檢測機制仍然適用,比較從GPS 坐標到UWB 測距結(jié)果的計算距離,以揭示不一致性,從而檢測出GPS 欺騙攻擊的存在.
表2 為單發(fā)射機和多發(fā)射機GPS 欺騙攻擊場景(包括四種結(jié)果,每個場景兩種),以及本文的檢測機制使用的所有檢測標準.
表2 GPS 欺騙攻擊檢測準則
理想情況下,每個UAVs 都應(yīng)該有一個集成的防碰撞系統(tǒng),而且,必須定期進行IR-UWB 測距或群成員之間的類似測量,并將其發(fā)送到GCS,以避免與其他群成員發(fā)生碰撞,如圖3 所示.因此,在這種情況下,GPS 欺騙檢測機制對整個UAV 的能耗、性能和電池壽命的影響是微不足道的.如果沒有集成防碰撞系統(tǒng),則需要額外進行IR-UWB 測量,以使欺騙檢測機制正常工作,這可能會增加功耗并降低電池壽命.
圖3 UAV 到集群中其他UAVs 的IR-UWB 測距數(shù)據(jù)采集過程
文獻[22]的測試結(jié)果表明,Decawave 公司生產(chǎn)的商用DW1000 IR-UWB 模塊在雙面雙向測距(DSTWR)模式下的平均能耗為3.55 MJ/次測距,不考慮空閑模式下的時間,在平均飛行時間為25 min,平均電池尺寸為5 000 mA,14.8 V 產(chǎn)生74 000 MW時,GPS 欺騙檢測可以計算出紅外超寬帶測量帶來的額外能量消耗,通過將IR-UWB 測量的頻率定義為2 Hz,可以估計每秒的功耗為7.1 MW,因此,飛行25 min所消耗的總能量為7.1 MW·25?60 h=3 MWh,相當于飛行時間減少了0.12 s.
在UAV 之間每秒兩次、持續(xù)25 min 的測距結(jié)果將累積3 000 個測距結(jié)果,這些結(jié)果必須傳輸?shù)紾CS進行進一步處理,考慮到包含一個測距結(jié)果及其相關(guān)信息的消息的大小不能超過50 個字節(jié),而Sub-GHz遙測無線電模塊[23]的平均數(shù)據(jù)速率約為40 Kbps,其相應(yīng)的傳輸電流為55 mA (3 V),GPS 欺騙檢測可以估計將這些消息傳輸?shù)紾CS 所需的能量,因此,傳輸消息所需的每秒功耗將等于3 V·55 mA=165 MW,以40 Kbps 的速度發(fā)送3 000 條50 個字節(jié)的消息所需的時間相當于30 s,將包含IR-UWB 測距結(jié)果的信息通過遙測無線電從蜂群中的一架UAV 傳輸?shù)紾CS 所消耗的總能量將等于165 MW·0.5?60 h=1.375 MWh,這意味著飛行時間減少了0.06 s.
結(jié)合這兩者,紅外超寬帶測量和無線電傳輸?shù)紾CS 造成的能量限制,本文看到每架UAV 每次飛行的飛行時間減少不到1 s,這對于UAVs 操作來說不是一個重要的時間,然而,現(xiàn)實世界的能源消耗通常高于理想條件下的計算,盡管這需要通過執(zhí)行真實世界的測試來進一步檢查.
若使GPS 欺騙檢測的探測機制失效,攻擊者需要同時使用一個單獨的GPS 信號欺騙蜂群中每架UAV 的每個GPS 接收器,相對于它們之間的實時距離,這幾乎是不可能的,而且非常消耗資源.
GPS 欺騙攻擊檢測機制非常適合于高達20 架UAV 的小型和中等UAVs,這在GCS 方面以軟件的形式很容易實現(xiàn),GCS 獲得關(guān)于UAV 的GPS 位置的定期更新,并且根據(jù)請求也可以在任何時間以相同頻率接收來自UAV 的IR-UWB 或任何其他測距數(shù)據(jù).
表3 為基于表2 所示準則實現(xiàn)本文的GPS 欺騙檢測機制的算法.
表3 算法:GPS 欺騙檢測機制
GPS 欺騙攻擊是對UAVs 運行的嚴重威脅,只要GPS 欺騙攻擊不被發(fā)現(xiàn),被攻擊的UAV 就會被攻擊者導(dǎo)航,從而導(dǎo)致UAV 墜毀或被盜,造成重大傷害.本文通過研究GPS 欺騙攻擊的問題,提出了一種針對小型和一般規(guī)模UAVs 的GPS 欺騙檢測機制,該機制的優(yōu)點是不需要大量的計算或能源資源,不需要安裝額外的天線或修改現(xiàn)有的硬件.建議的機制利用IR-UWB 測距確認GPS 定位的合理性,但并不局限于此,還可以使用其他類似的測距技術(shù)來實現(xiàn).這種檢測機制的另一個優(yōu)點是不需要大量的數(shù)據(jù)分析,實時性強,對實時UAVs 操作尤其重要.這僅是本研究的初始階段,在不久的將來,將該機制進一步實施到無人機群中,性能、檢測和假陽性率將在本研究的下一階段提出.