課程:《密碼與安全新技術專題》
班級: 1892
姓名: 餘超
學號:20189220
上課教師:謝四江
上課日期:2019年5月21日
必修/選修: 選修前端
本週的學習主要是講解我和隊友所選的論文,咱們選擇的論文題目是「All Your GPS Are Belong To Us: Towards Stealthy Manipulation of Road Navigation Systems」發佈在27th USENIX Security Symposium上。這篇論文主要探討了對道路導航系統進行隱身操縱攻擊的可行性目標是觸發假轉向導航,引導受害者到達錯誤的目的地而不被察覺。其主要想法是略微改變GPS位置,以便假冒的導航路線與實際道路的形狀相匹配並觸發實際可能的指示。爲了證實可行性,該論文首先經過實施便攜式GPS欺騙器並在真實汽車上進行測試來執行受控測量。而後,該論文設計一個搜索算法來實時計算GPS移位和受害者路線。該論文使用追蹤駕駛模擬(曼哈頓和波士頓的600輛出租車道路)進行普遍的評估,而後經過真實駕駛測試(攻擊咱們本身的車)來驗證完整的攻擊。最後,該研究組在美國和中國使用駕駛模擬器進行欺騙性用戶研究,結果顯示95%的參與者遵循導航沒有意識到這種攻擊就到了錯誤的目的地。git
現在,全球數十億用戶正依賴移動導航服務。從地圖應用程序(例如Google地圖、Waze)到出租車共享平臺(例如Uber、Lyft),這些服務 ES依賴於準確可靠的GPS輸入。最近,全球定位系統在自動駕駛車輛導航方面也開始發揮重要做用,對駕駛安全產生了關鍵影響。與此同時,全球定位系統應用程序的安全性日益受到關注。gps很容易受到欺騙攻擊,在這種攻擊中,敵人能夠注入僞造的gps信號來控制受害者。 蒂姆的GPS設備。這類襲擊確實發生在現實世界中,尤爲是針對無人機和船隻的襲擊。例如,Humphreys等人。演示了一個成功的gps欺騙攻擊無人駕駛飛機在。2013年,一艘豪華遊艇被故意從摩納哥轉移到希臘,欺騙了它接收GPS信號。到目前爲止,攻擊者是否能夠經過欺騙的GPS信號的輸入來操縱道路導航系統仍然是一個懸而未決的問題。考慮到導航系統在公路上被數十億的司機積極使用,在自動車輛駕駛中發揮關鍵做用。同時,考慮到大多數道路導航系統都四通GPS信號來進行導航(或緊密地),這個問題對人類來講是有挑戰性的。此外,GPS欺騙操做不太可能成功,主要是由於實際的道路限制。例如,隨機的gps操做能夠很容易地建立「ph」。 很是不可能的「導航指令」(例如,在高速公路中間左轉)。因爲攻擊的可能性尚不清楚,大多數民用系統沒有任何防護機制。github
經過閱讀全篇論文,我歸納出本文共作出的三大貢獻。算法
咱們進行了一項用戶調查研究,以證實在道路行駛過程當中人爲的因素能夠影響攻擊是否成功。這些結果代表,有些司機常見的駕駛習慣大機率會讓他們遭受到GPS欺騙攻擊,並對結果進行了分析和提出了相應的對策。數據庫
1.首先本文介紹了兩種攻擊GPS信號的方法強制接管和平滑接管。強制接管,欺騙者只是以高功率發送錯誤信號,致使受害者失去對衛星的跟蹤並鎖定更強的欺騙信號。平滑接管,接管開始於發送與原始信號同步的信號,而後逐漸超過原始信號以引發遷移。平滑接管隱祕性,強制接管會在接收到的信號強度中產生異常跳躍,平滑接管須要特殊的硬件來實時跟蹤並與受害者位置處的原始信號同步,價格更加昂貴。安全
2.接下來介紹了本文使用的便攜式的欺騙設備HarkrfOne。由四個組件組成分別是HackRFOne-based前端,Raspberry Pi,便攜式電源和天線。總體器件能夠放在一個小盒子裏咱們將其鏈接到頻率範圍在700 MHz至2700 MHz之間的天線,覆蓋民用GPS頻段L1(1575.42兆赫),Raspberry Pi 能夠用做中央服務器,它運行支持SSH的Raspbian Jessie操做系統和LAMP堆棧服務器。GPS衛星信號由一個名爲的開源軟件生成在Raspberry Pi上運行的無線攻擊發射盒(WALB)。 Raspberry Pi具備蜂窩網絡鏈接,並支持經過SSH進行遠程訪問(Se-並支持經過SSH(Se-cure Shell)。經過控制Raspberry Pi,咱們能夠手動或使用腳原本獲取實時GPS位置信息。咱們使用10000 mAh移動電源做爲整個系統的電源。全部組件都是現成的。總費用大約是223美圓(175美圓+ 35美圓+ 10美圓+ 3美圓)。服務器
3.接着分析了GPS欺騙的可行性:若是攻擊者隨機改變導航設備的GPS信息,則駕駛員能夠容易地注意到路線信息與物理路況之間的不一致。例如,欺騙的GPS位置能夠觸發導航系統指示「轉彎」,可是在實際道路上沒有辦法向左轉。爲了讓駕駛員相信他在原始路線上駕駛。如何使攻擊更加隱蔽?關鍵是要找到一條模仿真實道路形狀的虛擬路線。在這樣,導航指令能夠與物理世界保持一致。另外一個影響因素是導航系統一般會顯示第一人稱視角。司機沒有看到整個路線,而是關注當前路線和下一個轉彎,這可能會增長攻擊者成功的機會。網絡
4.攻擊的原理
併發
5.攻擊的算法性能
如算法1所示,基本算法首先從距離綁定Ω的全部鏈接點中,從實際位置Loca中選擇一個鬼位置Loca。而後, 計算從鬼位置到目的地的鬼導航路由Γg=(SG1,Sg2,.,sgm)。爲了找到更多的受害者路線儘量,咱們經過m深度寬度優先搜索從實際位置遍歷圖.咱們在每一步都保持符合如下條件的候選路線:
分段長度匹配:給定一個速度刻度因子Ω速度,鬼魂的旅行距離應在(1±Ω)倍於受害者實際TRA的範圍內 每一個節段上的距離同樣,這保證了在重影和受害者路由上的段長度是類似的。
迭代攻擊算法
在基本攻擊中,攻擊者只將GPS位置從LOCA移動到LOCF。這裏,咱們提出了一種迭代攻擊,使攻擊者可以在不一樣位置建立多個漂移, 受害者正在開車。經過迭代地應用基本攻擊算法,能夠顯著提升攻擊性能,由於可使用部分匹配的受害者-重影路由,在受害者移動時搜索新路線。如算法2所示,對於每次迭代,咱們首先檢查攻擊目標是否已經實現。若是不是,咱們在新幽靈r上建立另外一個位置移位。 從前一次迭代中提取出分段,並應用基本的搜索算法。攻擊者的目標多是「到達預先定義的目標」或「輸入錯誤的方式」,這有助於終止 早期搜索。
6.真實駕駛測試
爲了實現完整的攻擊算法,並經過實際駕駛測試驗證了算法的可行性.兩位做者用咱們本身的車進行了一樣的攻擊。一名提交人擔任司機(V) 嚴格遵照了在手機上運行的GoogleMaps(V9.72.2)的導航指令(小米Mix2與Android8.0和與Android6.0的華爲P8)。另外一個做者坐在上面 在後座上操做欺騙器,並在筆記本電腦上運行攻擊算法。如前所述,欺騙者能夠將假的gps信號與真實的gps信號區分開來,從而使攻擊者知道真實的gps信號。 受害者的位置。實際駕駛測試的目的是在用戶須要進行導航測試以前,檢查欺騙者是否可以實時觸發假導航指令。
與早期測量相似,咱們得到了當地無線電監管機構的法律許可,並專門在中國進行了試驗。此外,咱們已採起積極步驟, 確保欺騙信號不會影響無辜的用戶或汽車。更確切地說,咱們在午夜後在郊區進行了測量,當時路上幾乎沒有其餘汽車了。 。爲了減少欺騙信號的影響,咱們將欺騙器的發射功率降到最小(-40 dBm),而後使用衰減器(30 DB)來下降鎖定後的信號強度。 汽車的金屬結構也做爲一個屏蔽,以包含欺騙信號(約15分貝的衰減)。
在兩種不一樣的路由上進行了測試
A行→D表示原始路徑
藍線表明幽靈路線
黑線表明受害者
A是用戶的實際位置
B是對應的鬼位置
C是用戶的改道目的地
D是原來的目的地
在第一種狀況(圖6a),攻擊者設置鬼的位置到原來路線上的另外一個地點。測試代表,這確實能夠避免觸發「從新計算」語音提示。這條路線花了九分鐘,司機很成功。 徹底改道到預約地點,距原目的地2.1千米。
在第二種狀況下(圖6b),攻擊者將鬼位置設置在原始路由以外,這將觸發 一個「從新計算」語音提示。這一次,司機駕駛了五分鐘,並被轉向2.5千米之外。在這兩種狀況下,智能手機都被鎖定在欺騙信號上,而沒有掉一次。 假位置序列以10赫茲的更新頻率平穩地輸入手機。儘管在GoogleMaps中嵌入了標題和過濾器的潛在交叉,導航指示仍是被及時的觸發。
7.用戶的調查研究
咱們招募了40名參與者(20名在美國,20名在中國)。在40名參與者中,男性30名,女性10名。男的,17人是26-35歲,20人是18-25歲,3人是36-50歲。在駕駛經驗方面,22人駕駛少於3年,16人駕駛3至10年,2人駕駛。十年到二十年。咱們的參與者對TechSavvy用戶略有偏見:20名用戶(50%)具備計算機科學背景。
美國參與者對陌生地點的平均得分(7.85分)遠高於熟悉的地方(4.55分)。結果來自中國的是一致的(10.0比3.93)。這意味着,咱們的攻擊可能不適用於熟悉的地區,由於人們不依賴GPS。用戶更可能依賴語音提示和可視。 說明比文字信息。咱們呈現一個GoogleMaps屏幕,並詢問參與者一般依賴哪些信息來作出駕駛決策(一個多選擇的問題)。在美國, 13名用戶(68.4%)選擇語音提示,11名用戶(57.9%)依賴道路形狀和箭頭等視覺元素,只有6名用戶(31.6%)選擇文本信息(如街道名稱)。結果fr 中國是一致的。這些結果有利於咱們的攻擊,這是爲了操縱聲音和視覺元素。咱們的攻擊取得了很高的成功率(95%)。在40人中,只有一名美國參與者和一名中國參與者認出了此次襲擊。其他的38名參與者都完成了這四項任務。 NDS的驅動任務,並跟隨導航到達錯誤的目的地。識破攻擊的緣由都是,駕駛者發現當時行駛的公路名稱和谷歌地圖上的不同.
在駕駛任務中,咱們觀察到幾乎全部的參與者都注意到GPS信號在接收階段丟失(大約30秒),但仍然繼續在路上行駛。一旦G PS信號回來後,他們繼續遵循導航指令。咱們隨後的採訪顯示,大多數用戶之前都經歷過GPS故障,這還不足以提醒他們。在循環中。結果還指出了三種可能會提醒用戶的不一致之處:(1)公路與當地道路的不一致;(2)不一致的街道名稱;(3)不一致的T地標(例如加油站)。更先進的攻擊能夠經過過濾掉這些路線來進一步避免「公路-地方方式」的不一致。另外兩個因素取決於司機是否有 習慣(並且有時間)反覆檢查周圍的環境.此外,咱們的訪談還顯示,大多數人在現實生活中都經歷過gps故障,這使他們更加寬容
1.基於修改的方法。首先,最有效的解決方案是升級民用GPS信號,使用P(Y)碼加密。研究人員還提出了下一個基因的信號認證。 全球導航衛星系統[29,64]。然而,這種方法很難在短時間內佔上風,由於大量的民用gps設備已經運出了。
2.基於計算機視覺的位置驗證。咱們相信一個有但願的防護方向是使用計算機視覺技術自動交叉檢查物理世界地標和街道標誌。 用數字地圖。回想一下,在咱們的用戶研究中,兩位參與者以相似的方式識別了攻擊。鑑於移動設備和車輛上的攝像機/lidar激增, ED位置驗證只須要軟件級別的升級。到目前爲止,基於視覺的技術可使用視覺測定儀和路線圖精確地定位車輛(最多3米)[13,42]。模擬 OU定位和映射)還能夠基於地理引用的街道視圖數據庫[69]對圖像進行本地化。
3.在本工做中,咱們對GPS欺騙攻擊進行了優化,使其具備隱蔽性,這就必須在其餘因素上作出妥協。首先,咱們的攻擊效果會在郊區或路結構稀疏的區域下降。然而,鑑於世界上54%的人口生活在城市地區,此次襲擊可能會影響到許多人。第二,攻擊並不適用於全部的人。 用戶。咱們的目標用戶是在不熟悉的地區旅行,由於這些用戶更可能依賴GPS進行導航。咱們還認爲,日益流行的自動駕駛系統會削弱人們的警戒程度。
1.實驗器材
2.實驗環境:
硬件平臺---HackRF One、GPS外部時鐘、天線(700-2700MHz)
軟件環境---Ubuntu運行HackRF環境
系統版本信息---Ubuntu-14.04 (64-bit),內核:3.13.0-32-generic
GPS終端---手機
3.實驗步驟
①.首先進入已經搭建好軟件環境系統Ubuntu-14.04
②.建立一個文件夾,打開命令窗口ctrl+alt+t
③.進入建立的文件夾,下載編譯GPS仿真器代碼(gps-sdr-sim)代碼:git clone https://github.com/osqzss/gps-sdr-sim.gi
④.進入代碼文件夾中:cd gps-sdr-sim
⑤.進入文件夾後,用gcc編譯代碼:gcc gpssim.c -lm -O3 -o gps-sdr-sim
⑥.在網站http://www.gpsspg.com/maps.htm上查詢一個你感興趣的地方的GPS經緯度信息,而後按照這個經緯度信息經過GPS仿真器生成GPS仿真數據:./gps-sdr-sim -e brdc3540.14n -l 31.603202,120.466576,100 -b 8
等待執行上述命令,執行結束後,文件夾中多出的gpssim.bin文件,就是咱們模擬生成的GPS數據。
⑦.用HackRF來發射在上一步中模擬生成的僞造數據:hackrf_transfer -t gpssim.bin -f 1575420000 -s 2600000 -a 1 -x 0
打開手機中的高德地圖或者百度地圖等定位APP,你會看到你如今所在的真實位置,等待一段時間後,地圖會定位到給定的經緯度附近。(命令參數解析:」gpssim.bin」爲GPS數據文件,用-f來指定頻率爲1575420000 ,即民用GPS L1波段頻率,用-s來指定採樣速率2.6Msps,開啓天線增益,指定TX VGA(IF)爲0,發送指令末尾0表示天線增益(發射功率,最大可到40,增大發射功率能夠加強僞造信號的強度,擴大其影響範圍,在發送指令的後面加入 -R可以使hackrf one一直工做。)
4.實驗結果
4.1使用手機在手機4G, WIFI,飛行模式進行驗證結果以下:
地圖上顯示從南京郵電大學變成了無錫碧桂園,欺騙成功。
4.2手機gps欺騙結果分析:
下面是經緯度的截圖和當時的衛星信號的強度,由於信號是被僞造出來的並且離接收設備得很近,因此信號強度很高且差異不大。
4.3實驗中發現小米、中興、vivo手機沒法被欺騙。目前收集的資料代表緣由以下:
AGPS(Assisted GPS,網絡輔助GPS)定位技術:結合了GPS定位和蜂窩基站定位的優點,藉助蜂窩網絡的數據傳輸功能,能夠達到很高的定位精度和很快的定位速度,在移動設備尤爲是手機中被愈來愈普遍的使用。AGPS分爲兩種:
MS-based:移動站將精密的星曆和無缺性信息傳遞給手機,手機根據星曆本身判斷搜索衛星,本身解算當前的位置。計算在手機上完成。
MS-assisted:設備將接收到的GPS信息經過蜂窩網絡傳輸給AGPS位置服務器,AGPS服務器根據信息,並結合其餘途徑(蜂窩基站定位、參考GPS定位等)獲得的輔助定位信息,計算出最終的位置座標,返回給設備。
4.4實驗的過程當中手機收到了僞造的GPS信號,但在計算位置時一般有兩種方案—在移動設備端進行計算的MS-Based方式和在網絡端進行計算的MS-Assisted方式。目前大部分支持AGPS的手機採用一種純軟件的AGPS方案。由此猜想:
①絕大部分的手機都是採用MS-based方式計算位置,能夠被欺騙;
②小米,中興等部分手機沒法欺騙多是採用了MS-assisted,手機將接收到的信號發送給AGPS定位服務器,服務器完成計算併發送給手機,但在這個過程當中計算的位置與基站蜂窩計算的位置相差太大,手機可能使用了基站的位置而沒有采用gps信號定位;
③手機裏面相關硬件以及系統處理不一樣;
④蘋果手機是默認gps爲最高優先級的信號,蘋果手機能夠被欺騙並且手機上的時間也能被修改。
4.5手機的定位種類一、GPS定位。二、基站定位。三、WiFi輔助定位。四、AGPS定位。五、Glonass定位。六、北斗定位
基站定位:手機同時搜索到至少三個基站的信號時,只須要以基站爲圓心,距離爲半徑屢次畫圓便可,不過至少須要三個基站的信號才能夠,因爲基站定位時,精度大約在150米左右,基本沒法開車導航。定位條件是必須在有基站信號的位置,手機處於sim卡註冊狀態(飛行模式下開wifi和拔出sim卡都不行),並且必須收到3個基站的信號。
實驗以下:咱們用vivo手機實驗,在預先下載好上海的地圖,而後拔掉sim卡,關閉wifi後,成功被欺騙。
4.6車載gps欺騙
左圖爲車載GPS接收到的GPS信號狀況,右圖爲車載定位地圖界面,實際地點與實際不符,車載定位被成功欺騙。
我說選的論文是關於GPS欺騙的,這個方面的知識我在本科作過一些實驗。經過對這篇論文的學習,個人感觸很深!首先這篇論文的創新點在於,本身設計了一個全新的算法,而且將GPS的欺騙應用到汽車導航中,這個算法能夠經過搜索一個鬼位置,讓駕駛員誤覺得這就是本身當前的位置,而後經過搜索類似的路徑來進行欺騙。以往的GPS信號欺騙就是一個簡單的位置欺騙, 這些工做主要集中在簡單的經過在目標設備[設置隨機位置來進行欺騙,並無真正的引導用戶前往一個預先設定好的位置。其次,我跟老師同窗們交流的時候,以爲這篇論文也能夠換一種思路來理解,這種方法也能夠應用於隱藏真實的地址,保護隱私。最後,我以爲在從此的學習過程當中,咱們要多多思考,多角度的去理解一篇頂會論文,從多個方面去尋找創新點,好比能夠改進算法,或者如何預防某種攻擊等!