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

GNSS 干擾可分為以下兩類:

  • 阻斷
  • 假冒

干擾攻擊會在與 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 星座和頻帶 (例如 「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 干擾造成的狀況。

「Spoofing checks」部分的第一張資訊卡也會檢查 C/N0 和 AGC,但會同時檢查 C/N0 是否增加,以及 AGC 是否下降。

第二個與造假相關的檢查會比較裝置上計算的 GNSS 時間與透過網路從網路時間通訊協定 (NTP) 伺服器擷取的時間 (網路時間 - GNSS 時間) 之間的差異,如果差異超過 1 秒,就會視為不一致。如果差異過大,可能表示計算的 GNSS 時間無效。

提示、技巧和注意事項

使用 GnssLogger 的 Spoof/Jam 功能時,請注意下列事項:

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

請透過公開問題追蹤工具,針對模仿/干擾功能提供意見回饋。