萬盛學電腦網

 萬盛學電腦網 >> 系統工具 >> GPS安全性和原理

GPS安全性和原理

   GPS的安全性並不是一個新話題。

  最著名的例子恐怕要算2011年伊朗劫持美國無人機[1]。2011年12月4日,美國的一架RQ-170無人機,在伊朗領空飛行。伊朗軍方並沒有擊落它,而是使用了某種GPS欺騙的方法使這架飛機乖乖的降落在伊朗東北部的Kashmar。這架完好的無人機為伊朗軍方提供了一個極好的研究標本,他們從中獲取了不少技術和軍事機密。

 

  從那以後,GPS欺騙的研究就越來越火了。

  GPS系統的基本原理是怎樣的呢?

  GPS衛星星座由24顆衛星組成[2]。24顆衛星均勻分布在6個軌道平面上,即每個軌道面上有4顆衛星。衛星的分布經過了巧妙的設計,這種布局的目的是保證在全球任何地點、任何時刻至少可以觀測到4顆衛星。為什麼一定要4顆衛星呢?GPS定位是通過測距來實現的。GPS接收機要測量每顆衛星到它之間的距離,距離等於光速乘以時間,這就構成一個方程式。衛星的位置是已知的,接收機的空間三維位置是未知的,時間也是未知的,所以一共有4個未知數。因此我們需要4個方程,才能解出4個未知數。

  那麼為什麼GPS接收機能夠被欺騙?

  GPS衛星通過不斷的廣播信號,告訴接收機,自己在什麼位置。這是一個單向的廣播信號,而且經過了太空到地面這麼遠的傳播,信號已經變得非常非常弱。此時,如果有一個GPS模擬器,在接收機旁邊,假裝成衛星,那麼這個模擬器的信號很容易蓋過真正的GPS信號。就像下面這張圖的情況,接收機只能聽到那個嗓門大的。

 

  過去做一個GPS模擬器並不是一件容易的事,GPS信號有復雜的格式,發射方法。一個商用級的GPS模擬器售價高達百萬元人民幣。比較簡單的一種方法是“重放攻擊”,也就是錄制一段GPS信號,然後再播放出來,就像下圖的示例。

 

  但是,隨著軟件無線電技術的不斷發展,以及豐富的開源代碼不斷湧現。現在,攻擊者已經可以找到幾乎現成的開源代碼,配合軟件無線電設備,就能夠發射GPS信號,任意地點,任意時間,以假亂真!

  這會產生哪些後果呢?

  美國德克薩斯州立大學奧斯汀分校,Todd Humphreys教授領導的無線導航實驗室[3],是GPS安全研究領域,非常領先的一個團隊。2012年,Todd Humphreys教授發表了TED演講[4],呼吁公眾注意GPS安全性;2013年,這個團隊成功欺騙了一艘游艇,改變了航向[5];2014年,他們又成功欺騙了一架無人機,控制了它的飛行位置[6]。

 

 

  除了擾亂定位系統以外,GPS欺騙還可以擾亂定時系統,改變通信基站,金融交易系統的授時信息。據說這樣的時間差,可以在交易中搶得先機於是從中獲利[7]。在軍事應用中,這中攻擊就會產生更嚴重的後果。1996年,中國兩枚導彈發射失敗疑因GPS被美軍做手腳[8]。

  說到這裡,要介紹一下GPS民用信號和軍用信號的差別。

  GPS衛星在1575.42MHz發射的1.023MHz帶寬的信號,是民用信號,對全球開放的,標准是完全公開的[9]。各個芯片廠家可以根據這個標准設計GPS芯片,用在各種電子設備中。

  GPS衛星在1227.60MHz發射的10.23MHz帶寬的信號,是軍用信號。這種信號使用了高強度的加密措施,只有美國軍方能夠使用。破解不是不可能,只是復雜度很高,也很難實現欺騙攻擊。也就是說,除了美國軍方以外,其他人都只能使用非常開放的民用GPS信號。

  在這裡,我們再說回到開頭的例子,為什麼伊朗能夠劫持使用了美國“軍用”GPS信號的無人機呢?有專家分析認為[10],伊朗可能是通過壓制1227.6MHz的信號,使無人機的定位系統回退到1575.42MHz的民用信號,從而在不加密的民用信號上實現了欺騙。

  如今,全球只有四個衛星導航系統:分別是美國GPS系統、歐洲伽利略GALILEO系統、俄羅斯的格洛納斯GLONASS系統和中國的北斗系統。

  目前中國仍然有大量的設備還在使用GPS定位,大到通信基站,船舶飛機,小到手機和各種物聯網設備。GPS欺騙攻擊的門檻已經變得如此之低,不得不讓人擔憂這些系統的安全性。在無法改變GPS芯片的情況下,建議開發者們在應用層結合蜂窩網絡定位,Wifi定位等各種信息,做一個綜合的判斷,避免定位定時錯誤可能帶來的後果。

  最後,關於低成本GPS欺騙攻擊的更多技術細節,360 UnicornTeam將在今年夏天的DEFCON23大會上演講中詳細介紹。

        :更多精彩教程請關注三聯電腦教程欄目,三聯電腦辦公群:189034526歡迎你的加入

copyright © 萬盛學電腦網 all rights reserved