偵測全球導航衛星系統干擾和假冒

GNSS 干擾可分為以下兩類:

  • Jamming
  • 假冒

干擾攻擊會發送與 GNSS 相同頻率範圍的強烈無線電訊號,這可能會淹沒 GNSS 衛星發送的相對較弱訊號。這會導致 GNSS 接收器 (包括手機) 無法計算位置。

詐欺是一種更複雜的攻擊,會廣播偽造的信號,假裝是真正的 GNSS 信號。這些偽造信號會誤導 GNSS 接收器計算出與實際情況大相逕庭的位置或時間,足以讓地圖和導航應用程式提供錯誤資訊。

關於 GNSS 詐欺或干擾

訊號強度或載波雜訊比 (C/N0),以及手機中 GNSS 無線電的自動增益控制 (AGC),都是干擾的良好指標。

如果觀察到有偽造或干擾訊號,AGC 通常會下降。當無線電接收到強烈的無線電波時,會調降放大器的增益 (AGC),以調整接收訊號的功率。

比較顯示干擾的訊號強度
圖 1. AGC 會在干擾期間下降 (紅色區域),並在干擾移除後恢復正常水準 (綠色區域)。(圖片來源:https://doi.org/10.33012/navi.537)

不過,干擾和詐欺事件的 C/N0 行為有所不同。如果是干擾事件,無線電觀察到的雜訊會比平常強得多,因此載波雜訊比的分母會增加,C/N0 值會下降。至於偽造,情況則相反。由於廣播的偽造訊號夠強,足以蓋過衛星的真實訊號,因此整體訊號強度會很強,C/N0 也會增加。

檢查是否遭到 GNSS 欺騙或干擾

您可以使用 GnssLogger 應用程式中的「Spoof/Jam」分頁,即時探索環境對 C/N0 和 AGC 的影響。

即時 AGC 和 C/N0 繪圖

「Spoof/Jam」分頁會顯示每個 GNSS 星座和頻帶的 AGC 和 C/N0 即時圖表 (例如 「GPS L1」或「G:L1:」、「Galileo E5a」或「E:E5A:」。

每個 GNSS 星座和頻帶的 AGC 和 C/N0 圖表。
圖 2. 手機靠近 Wi-Fi 路由器時,AGC 和 C/N0 都會下降 (紅色橢圓)。每個星座和頻帶的前 3 個訊號平均值會以虛線顯示。每個星座和頻帶的 AGC (單一值) 會以實線顯示。圖中以紅圈標示的部分顯示,當手機靠近 Wi-Fi 路由器時,AGC 和 C/N0 都會下降,因此會出現干擾。

即時檢查是否遭到詐欺和干擾

在 AGC 和 C/N0 的即時繪圖下方,應用程式會顯示一系列自動資料檢查,找出與 GNSS 干擾相關的狀況。

使用者介面顯示可能因假冒和干擾而導致狀況的證據。
圖 3. 自動檢查功能可找出可能由詐欺和干擾造成的狀況。

在「干擾檢查」部分,應用程式會比較最近 10 個 C/N0 和 AGC 週期與前 50 個週期的平均值,如果 C/N0 和 AGC 同時下降,這可能是 GNSS 訊號干擾的徵兆。如果系統偵測到這種情況,資訊卡會顯示「失敗」訊息,以及更多資訊:

GNSS 干擾可能導致的狀況。
圖 4. 偵測到可能由 GNSS 干擾導致的狀況,因此發生故障。

「偽造檢查」部分的第一張資訊卡也會檢查 C/N0 和 AGC,但會尋找 C/N0 同時增加和 AGC 下降的情況。

第二項與詐欺相關的檢查會比較裝置上計算的 GNSS 時間,以及透過網際網路從網路時間通訊協定 (NTP) 伺服器擷取的時間 (網路時間 - GNSS 時間),如果兩者相差超過一秒,如果差異很大,可能表示計算出的 GNSS 時間無效。

提示、訣竅和注意事項

使用 GnssLogger 的「模擬/干擾」功能時,請注意下列事項:

  • 這項功能仍在實驗階段,隨著我們進一步瞭解各種 Android 裝置的 AGC 特性,用於模擬和干擾變更的確切演算法可能會更新。
  • 這項功能無法偵測所有模擬和干擾情況:即時圖表和資料檢查功能可協助您即時發現資料屬性,但無法偵測所有模擬或干擾情況。
  • 這項功能旨在偵測 C/N0 和 AGC 的變化。如果在有模擬或干擾的情況下開啟應用程式,且 C/N0 和 AGC 維持不變,系統就不會偵測到模擬和干擾。
  • NTP 伺服器不一定安全,網路時間也可能遭到偽造。

使用公開的 Issue Tracker,針對惡搞/干擾功能提供意見回饋。