天天看點

永不消逝的電波(四):從無線電角度揭秘定位劫持

0×00 前言

2015年的時候,360UnicornTeam 在Defcon黑客大會以及阿裡移動安全 在BlackHat大會上均帶來了GPS劫持的演講,給大家揭開了GPS Hacking的神秘面紗在這篇文章中我們将通過無線的角度來看定位,以及學習如何進行定位的劫持和僞造。

我們生活中幾種常見的定位方式:基于手機基站、基于GPS系統、基于WIFI;

0×01 基站定位

1.1 手機基站 & 蜂窩網絡基站:

基站即公用移動通信基站是無線電台站的一種形式,是指在一定的無線電覆寫區中,通過移動通信交換中心,與行動電話終端之間進行資訊傳遞的無線電收發信電台。

基站定位一般應用于手機使用者,手機基站定位服務又叫做移動位置服務(LBS——Location Based Service),它是通過電信移動營運商的網絡(如GSM網)擷取移動終端使用者的位置資訊(經緯度坐标),在電子地圖平台的支援下,為使用者提供相應服務的一種增值業務,例如目前中國移動動感地帶提供的動感位置查詢服務等。

<a></a>

基站定位的大緻原理為:行動電話測量不同基站的下行導頻信号,得到不同基站下行導頻的TOA(Time of Arrival,到達時刻)或TDOA(Time Difference of Arrival,到達時間差),根據該測量結果并結合基站的坐标,一般采用三角公式估計算法,就能夠計算出行動電話的位置。實際的位置估計算法需要考慮多基站(3個或3個以上)定位的情況,是以算法要複雜很多。一般而言,移動台測量的基站數目越多,測量精度越高,定位性能改善越明顯。

永不消逝的電波(四):從無線電角度揭秘定位劫持

GSM網絡中的裝置都可以以程式設計方式擷取到目前基站的Cell ID。

其實也可以通過一些手機指令擷取:

永不消逝的電波(四):從無線電角度揭秘定位劫持

基站定位的精度隻能達到基站距離的級别,一般為500米左右,密集城區為120米左右。

1.2 基站定位運用

戶戶通直播星:戶戶通需要插入SIM來搜尋手機基站以進行定位:

永不消逝的電波(四):從無線電角度揭秘定位劫持

企業對車輛的管理:出于GPS成本高以及地下室等無信号的原因,有些物流企業采用了手機GSM定位技術方案。這種方案的成本是GPS的1/3。但受移動基站網絡資源的限制,在連續定位方面的成本較高。

0×02 WIFI定位

2.1WIFI定位原理

WIFI定位通過偵測附近周圍所有WIFI的SSID、MAC位址來實作定位。

WiFi定位技術除具有良好的精度和可擴充性外,其獨特優勢在于WiFi晶片已經在各類使用者智能終端(智能手機、平闆電腦等)中得到廣泛普及,并且随“無線城市”的發展,國内各大城市電信營運商、公司與家庭均已安裝了大量的WiFi熱點與網關,通過利用現有的這些WiFi設施,能夠顯著降低建設與長期營運成本,快速實作項目預定目标。這些都是開展WiFi技術為主的無縫定位技術研究和推動LBS應用的最佳基礎條件與保證。

2.2 基于WIFI定位的僞造

Kali下已經自帶aircrack和mdk3,我們可以配合免驅無線網卡(RTL8182b)來使用這些工具。

百度公司WIFI(baidu.txt) MAC位址 SSID信道資訊如下:

奇虎360公司 (360.txt)WIFI MAC SSID 資訊:

mdk3的使用文法:

僞造AP

找個沒有WIFI信号的地方(防止其他有效WIFI對僞造進行幹擾),開啟無線網卡的monitor模式:

開始僞造WIFI熱點

由于辦公地點有大量WIFI熱點,WIFI定位僞造便不在此示範,有興趣的童鞋可以找個沒有熱點信号的地方自行測試 :)

永不消逝的電波(四):從無線電角度揭秘定位劫持

0×03 GPS衛星定位

3.1GPS系統概述

GPS最初是美國國防部為軍方提供的一個星基定位、測速和時間系統。GPS系統使用地心坐标,提供基于1984年的世界大地坐标系(WGS-84)的航空器的位置。其導航資料,如到航路點的距離、方位和地速,是根據航空器目前位置(經度和緯度)和下一航路點的位置計算出來的。

美國國防部在1993年12月8日宣布GPS具有初始運作能力。美國聯邦航空局(FAA)在1994年2月17日釋出了航行通告(NOTAM),宣布GPS可用于某些民用IFR飛行。

3.2 GPS系統描述

GPS是星基無線電導航、定位和授時系統。該系統在全球範圍内向具有合适裝備的使用者(不限數量)提供高精度的位置和速度資訊以及精确的時間。

GPS提供兩級服務:标準定位服務(SPS)及精密定位服務(PPS)。

SPS為所有使用者提供95%機率的100米或以下的水準定位精度,和99.99%機率的300米精度。PPS比SPS更精确,但民用航空使用者一般隻能使用SPS。

GPS運作的概念是利用空間一組作為精确參考點的衛星進行測距和三角計算。GPS接收機利用無線電信号的傳播時間測量到衛星的距離。每顆衛星發送一個特定的編碼,被稱作粗捕獲(CA)碼,它包括有關衛星位置、GPS系統時間和衛星傳輸資料的健康和準确性等資訊。已知信号傳輸的速度大約300000公裡/秒和确切的傳播時間,則信号的傳輸距離能夠根據到達的時間推算出來。

永不消逝的電波(四):從無線電角度揭秘定位劫持

GPS接收機将每顆衛星的CA碼與接收機中資料庫内所包含的同樣的編碼進行比對。通過在比對過程中移動衛星的編碼和移動與其内部時鐘的比較,接收機能計算出信号從衛星到接收機的傳播距離,從這種計算距離的方法得出的距離被稱為僞距,因為它不是直接計算距離,而是通過時間來計算。僞距測量會包含幾種誤差,如,電離層、對流層延遲和多路徑誤差。

除了知道到衛星的距離外,接收機還需知道衛星在空間的确切位置,也就是“星曆”。每個衛星發送其确切軌道位置的資訊。GPS接收機利用該資訊精确确定衛星的位置。

利用計算的僞距和衛星提供的位置資訊,GPS接收機通過三角方法計算出它的位置。GPS接收機需要至少四顆衛星進行三維定位(經度、緯度和高度)和時間解算。GPS接收機通過利用航空器已知的經、緯度和接收機資料庫内已有的資料進行比較來計算出導航數值,例如,到達一個航路點的距離和航向或者确定地速。

24顆衛星組成GPS星座的設計是為了地球上任何地方的使用者在視界内都可以看到至少5顆衛星。接收機使用遮蔽角(在水準面之上能夠使用衛星的最低角度)以上的最少4顆衛星的資料。

GPS接收機通過接收機自主完好性監視(RAIM)來核實GPS信号的完好性(可用性),以确定是否有衛星提供了錯誤的資訊。除了導航所需的衛星外,在視界内必需有另外1顆衛星以使接收機執行RAIM功能;這樣實施RAIM功能要求在視界内至少有5顆衛星,或者4顆衛星加上氣壓高度表(氣壓輔助)來檢測完好性的異常。氣壓輔助是利用非衛星輸入源增強GPS完好性的方法。為確定氣壓輔助可用,目前的高度表設定必須按照使用手冊的要求輸入到接收機中。

不同接收機的RAIM資訊會有一些差異。一般來說有兩種類型的訓示。一種是訓示沒有足夠數量的衛星提供RAIM,另一種是訓示RAIM檢測出超過目前飛行階段限制的潛在誤差。沒有RAIM能力,飛行員就不能确定GPS定位的準确性。

一些衛星接收機能夠隔離不良的衛星信号并在導航解算時剔除該信号,該過程稱為“失效探測和排除(FDE)”。為隔離不良的衛星信号和繼續提供有效的導航信号,FDE要求在視界内有6顆衛星或者在有氣壓輔助時有5顆衛星。

3.3 GPS頻率

GPS工作頻率有兩個:11575.4Mhz(民用)和1227.6Mhz(軍用),信号采用圓極化方式傳輸。

永不消逝的電波(四):從無線電角度揭秘定位劫持

3.4 GPS系統組成 &amp; 通信流程

GPS包含三大組成部分:空間部分、地面控制部分以及機載使用者部分。

永不消逝的電波(四):從無線電角度揭秘定位劫持

空間部分 (空中衛星群)是由24顆導航衛星組成。這些衛星距離地面約20000公裡,分布在6個軌道平面上,每個平面上有4顆衛星。這樣任何時候在視界内都有5顆衛星。GPS衛星發送僞随機碼調制的時間信号,并經機載接收機處理後得到衛星的位置和狀态資料。通過得到衛星的精确位置,并與衛星上的原子鐘時間精确同步,機載接收機可以精确地測量出每顆衛星信号到達接收機的時間,進而确定航空器位置。

地面控制部分 (地面支援網)由監測站和控制站組成,用于保證衛星位置和時鐘的精确性。地面控制系統由5個監測站,3個注入站和1個主要站組成。

機載使用者部分(使用者裝置)包括天線和機載衛星接收處理器(帶有資料庫),為飛行員提供航空器位置、速度和精确的時間資訊。

要進行水準導航(2維定位)在視界内至少要有3顆衛星。要進行水準和垂直導航(3維定位)則在視界内至少要有4顆衛星。

0×04 GPS定位僞造&amp;劫持

4.1 環境搭建

玩SDR有下面三款硬體平台:HackRF、BladeRF、USRP

永不消逝的電波(四):從無線電角度揭秘定位劫持
永不消逝的電波(四):從無線電角度揭秘定位劫持

BTW由于HackRF采用USB2.0接口,傳輸大檔案的時候容易造成資料傳輸瓶頸問題(接下來生成的GPS資料将占用五到六個G的空間),并且其在發射大于400MHz的無線信号時會出現精确度誤差,剛開始我用它來做下面的實驗的時候手機出現了隻能接收到“衛星”信号,而擷取不到經緯度、時間等資訊。

是以接下來的實驗我們要通過BladeRF來發射GPS的無線信号,在這之前我們需要讓系統識别出BladeRF硬體:

上面的建構過程會将 bladeRF 安裝到 /usr/local 下,而其中的庫檔案目錄 /usr/local/lib{,64} 不在 ldconfig 的預設搜尋路徑裡。是以我們可以将它們添加到 /etc/ld.so.conf 裡。

添加之後檔案内容如下:

使用bladeRF-cli -p檢測裝置是否已經連接配接識别:

永不消逝的電波(四):從無線電角度揭秘定位劫持

BladeRF在購買之後,闆子裡邊是有固件鏡像(firmware)的,但是沒有FPGA鏡像,每次插入USB的時候都需要執行bladeRF-cli -l /usr/share/Nuand/bladeRF/hostedx40.rbf手動載入FPGA鏡像

此時,另外三個LED被點亮:

永不消逝的電波(四):從無線電角度揭秘定位劫持

4.2 安裝GPS-SDR-SIM

gps-sdr-sim項目的brdc3540.14n星曆檔案預設生成2014年12月20零點的時間,也就是中原標準時間2014您12月20日早上八點。如需生成其它年月的時間需要到NASA儲存星曆資料的FTP伺服器下載下傳,FTP位址為:

<a href="http://ftp//cddis.gsfc.nasa.gov/pub/gps/data/daily/" target="_blank">ftp://cddis.gsfc.nasa.gov/pub/gps/data/daily/</a>

4.3 GPS資料生成

永不消逝的電波(四):從無線電角度揭秘定位劫持

谷歌地圖:29.6471695826,91.1175026412 ,我們保留小數點後六位即可:29.647169,91.117502

信号僞造

示範視訊:

4.4 GPS僞造利用場景:

僞造無人機禁飛區域的GPS資訊,如美國白宮,欺騙無人機迫使其不能飛行或僞造無人機返航點的位置使其返航,

文章當中有一段:

例子2:汽車導航

這裡由于條件限制,沒有汽車錄制視訊,便向楊卿同學要了他們在Defcon黑客大會上的比亞迪汽車導航欺騙視訊:

0×04 參考資料 &amp; 感謝:

永不消逝的電波(四):從無線電角度揭秘定位劫持

本文轉自 K1two2 部落格園部落格,原文連結:http://www.cnblogs.com/k1two2/p/5197591.html  ,如需轉載請自行聯系原作者

繼續閱讀