Implement Ground Station ADS-B Controller Function for Aviation Cyber Range

English 简体中文 繁体中文 Tiếng Việt
Summary

The project simulates an ADS-B ground station controller within an aviation cyber range, designed for OT security training and system analysis. It models both ADS-B Out (aircraft data to ground) and ADS-B In (airport and weather data broadcast to aircraft) using a Python-based OPC UA PLC simulator. The controller integrates real-time meteorological information from the Google Weather API and visualizes air traffic and airport conditions on a tower ATC HMI. This comprehensive setup offers a distilled yet realistic platform for developers to analyze aviation surveillance workflows and conduct cybersecurity experimentation in a controlled environment.

專案設計目的:此專案的主要目標是模擬航空 ADS-B(自動相關監視廣播)系統核心功能組件的部分,在Mini OT Aviation CAT-II Airport Runway Simulation Cyber Range(版本:v_0.2.2)中。此專案並非複製完整的 ADS-B 運作基礎設施,而是著重於模擬機場 ADS-B 地面站的天線和控制器的功能,以支援 OT 訓練、實驗和以安全為導向的分析。

本文分為三個主要部分:

  • 關於 ADS-B 的背景資訊:簡要概述 ATC ADS-B 系統以及航空網路靶場系統中模擬的特定功能。

  • 地面站 ADS-B 控制器設計:模擬地面站 ADS-B 控制器的架構和通訊邏輯,以及與網路靶場中其他組件的互動。

  • ADS-B 資訊的使用者介面:監視資料的設計和視覺化,如塔台 ATC HMI(人機介面)ATC 面板上所示。

重要事項:實際的 ADS-B 比此專案中顯示的實作複雜得多。在此網路靶場中,我們提煉(這不是數位雙生的 1:1 模擬)基本的系統行為、邏輯、人機介面 (HMI) 和網路安全情境,而沒有完整航空電子設備的負擔。

# Author:      Yuancheng Liu
# Created:     2025/12/20
# Version:     v_0.2.3
# Copyright:   Copyright (c) National Cybersecurity R&D Laboratory (NCL)
# License:     GNU General Public License V3

專案簡介

自動相關監視廣播 (ADS-B) 系統是現代空中交通監視的基石。與傳統的二次監視雷達 (SSR) 不同,後者依賴地面詢問,ADS-B 是自動的(不需要外部刺激),依賴高精度全球導航衛星系統 (GNSS) 資料進行定位,並且基於廣播。這種架構允許飛機定期將其狀態向量(包括身分、高度、速度和精確座標)傳輸到地面站和其他附近的飛機,從而建立共享的即時空域戰術圖。

Mini OT Aviation CAT-II Airport Runway Simulation Cyber Range System的開發中,模擬 ADS-B 的功能是一項關鍵要求。如下圖所示,網路靶場專門模擬更廣泛的 ADS-B 生態系統的地面站部分(以紅色矩形突出顯示)。

Original  image source link : https://www.sportys.com/blog/ads-b-101-what-you-need-know/?srsltid=AfmBOorXll9byFukKBcTwg5EilCH3MslsuXFGzUCiaYz9Hbk3wRUY4Kb

模擬地面站會自動接收由網路靶場的飛機模擬器在機場周圍空域中廣播的 ADS-B 訊息。這些資料由地面站控制器解碼和處理,以提取任務關鍵的監視資訊/訊息。然後,這些資料將在機場塔台 ATC 人機介面 (HMI) 上以雷達式空中交通管制 (ATC) 顯示器視覺化。此設定允許網路靶場使用者與逼真的空中交通流量互動,並分析受控模擬環境中資料交換的完整性。

同時,該專案將機場天氣和環境感測器的資料整合到地面站控制器中。控制器會彙總此資訊,並將機場狀態和天氣資料廣播回附近的飛機,反映現代航空通訊系統中常見的雙向資訊交換。

技術實作簡介

地面站 ADS-B 控制器的核心邏輯是使用專案Python Virtual IEC 62541 OPC-UA-TCP PLC Simulator實作的。在此實作中,OPC UA 協定用於模擬 ADS-B 地面站控制器與機場塔台 ATC HMI 之間的通訊通道,反映現代機場子系統如何透過標準化工業協定交換運作資料。

對於機場天氣資料擷取功能,系統會透過查詢基於機場配置地理位置(城市)的 Google Weather API 來整合即時氣象資訊。擷取的天氣參數(例如風況、能見度和溫度)會被正規化並儲存到地面站控制器中作為感測器輸入,模擬通常由機場天氣雷達和環境監測系統產生的資料流。

塔台 ATC 控制 HMI 是按照Retro-ADSB-Radar專案中介紹的視覺和互動設計實作的。該介面使用組合的基於清單的視圖和雷達式空中交通管制 (ATC) 顯示器來呈現接收到的飛機 ADS-B 訊息和廣播的機場資訊,如下圖所示。

這些實作選擇確保航空網路靶場不僅模擬 ADS-B 訊息交換,還模擬現代機場依賴的底層工業控制系統 (ICS) 和運營技術 (OT) 通訊模式。這種分層設計使該平台非常適合 OT 系統安全培訓、系統行為分析和實驗。

ADS-B 的背景知識

自動相關監視廣播 (ADS-B) 是現代航空中使用的一項核心監視技術,旨在增強空中交通監控、情境感知和運營效率。公開提供廣泛的文件和學習資源,例如FAA ADS-B 手冊和教育材料,以及介紹性影片,解釋系統概念和運營使用。主要連接圖如下所示:

本節重點在於總結 ADS-B 的主要功能,並清楚定義航空網路靶場中模擬的 ADS-B 資訊和行為的子集,而不是複製這些材料。

ADS-B 主要功能概述

ADS-B(自動相關監視廣播)是現代航空技術,飛機使用 GPS 自動廣播其精確位置、速度和高度,以取代或補充空中交通管制 (ATC) 和其他飛機的雷達。它是「自動的」(無需飛行員輸入)、「相關的」(依賴 GPS)、「監視」(追蹤飛機)和「廣播」(發送資料)。主要部分是ADS-B Out(傳輸)和ADS-B In(接收駕駛艙中的交通/天氣資訊),從而提高全球的安全性、容量和效率。

ADS-B 的運作方式:

  • 基於 GPS:飛機從衛星導航獲得精確位置。

  • 廣播資料:透過 1090 MHz 或 978 MHz 頻率傳輸位置、高度、速度和 ID。

  • 地面和空中接收:地面站和其他飛機接收這些訊號。

  • 無需詢問:與雷達不同,它不需要來自地面的訊號來觸發回應。

主要組件

  • ADS-B Out:指飛機將飛機狀態資料傳輸到地面站和其他飛機。ADS-B Out 在許多受控空域中是強制性的,並且構成現代空中交通監視的骨幹。

  • ADS-B In:指飛機接收交通和天氣資訊,通常顯示在駕駛艙、塔台 HMI 中,以提高飛行員和塔台 ATC 人員的情境感知能力。

ADS-B 的優點

  • 更高的安全性:更準確和頻繁的位置更新降低了空中碰撞的風險。

  • 增加的容量:精確的追蹤使飛機可以安全地更靠近地運作,從而提高空域利用率。

  • 具成本效益:ADS-B 地面基礎設施的部署和維護通常比雷達系統便宜。

  • 情境感知:飛行員直接在駕駛艙中接收即時交通和天氣資訊。

標準 ADS-B 訊息框架長 112 位元,由五個主要部分組成,如下所示:

+----------+----------+-------------+------------------------+-----------+
|  DF (5)  |  CA (3)  |  ICAO (24)  |         ME (56)        |  PI (24)  |
+----------+----------+-------------+------------------------+-----------+

在此專案的目前版本 (v_0.2.3) 中,我們尚未實作 ADS-B 訊息編碼和解碼部分,我們將在未來版本中新增這些功能。

詳細的訊息資訊請參閱此連結:https://mode-s.org/1090mhz/content/ads-b/1-basics.html

航空網路靶場中模擬的 ADS-B 資料

在航空網路靶場環境中,僅實作了選定的 ADS-B 資料和行為子集。目標是模擬基本的運營資訊流,而不是完全複製經過認證的航空電子設備系統。

模擬的 ADS-B Out 資料(飛機 → 地面站/其他飛機)

模擬飛機廣播以下飛機狀態資訊:

索引 ASD-B 值名稱 資料描述
0 目前飛行模式 ID 飛機識別碼和活動飛行模式。
1 目前 ATC 狀態 飛機的運營狀態,例如:著陸、懸停、等待、起飛、滑行、進入區域、加油。
2 GNSS 位置資訊 從模擬衛星導航輸入得出的飛機緯度和經度座標。
3 目前高度 飛機相對於平均海平面的垂直位置,通常以英尺表示。
4 飛機航向方向 飛機機頭指向的方向,以相對於正北方的度數表示。
5 對地航向 (COG) 飛機在地面上的實際移動方向,以相對於正北方的度數表示。
6 對地速度 (SOG) 飛機相對於地面的水平速度,通常以節表示。
7 空速 飛機相對於周圍氣團的速度。
8 燃油狀態 飛機的剩餘燃油量,表示為目前燃油容量和剩餘總燃油百分比

模擬的 ADS-B In / 類似 ACARS 的資料(地面站 → 飛機)

地面站會彙總機場運營和環境資料,並將其廣播到附近的飛機,在概念上類似於 ADS-B In 和 ACARS 資訊服務。

機場運營資訊

索引 ASD-B 值名稱 資料描述
0 機場識別碼 唯一的機場代碼(例如,ICAO 樣式識別碼),用於將廣播資訊與特定機場和空域關聯。
1 跑道進場 GPS 位置 定義跑道進場點或閾值的地理座標。
2 目前交通和 ATC 運營狀態 機場交通狀況和 ATC 狀態的摘要表示。

機場天氣資料作為地面站廣播的一部分提供,以支援飛行安全和運營規劃。

機場天氣資訊

索引 ASD-B 值名稱 資料描述
0 地面風 報告為方向(正北方度數)和速度(通常以節表示,有時以公尺/秒表示)。
1 水平能見度 以公尺(國際)為單位測量,表示物體可識別的最大水平距離。
2 跑道視程 (RVR) 一種儀器導出的值,表示飛行員可以看到跑道的水平距離,通常在能見度降至 1 英里或 1,500 公尺以下時報告。
3 天空狀況(雲) 包括雲量(少量、零散、破碎、陰天)和雲底高度(以地面以上 (AGL) 數百英尺為單位)。
4 氣溫 以攝氏整數度報告。
5 高度表設定(壓力) 車站的目前氣壓,飛行員用於校準飛機高度表。以百帕 (hPa) 為單位測量。
6 降水 雨 (RA)、毛毛雨 (DZ)、雪 (SN)、雪粒 (SG)、冰丸 (PL)、冰晶 (IC) 和冰雹 (GR)。
7 遮蔽物 霧 (FG)、薄霧 (BR)、霾 (HZ)、煙 (FU)、火山灰 (VA) 和灰塵 (DU)。

地面站 ADS-B 控制器設計

地面站 ADS-B 控制器是航空網路靶場的中央協調組件,負責整合空域和地面飛機監視資料、機場運營狀態和環境感測器資訊。它連接物理世界模擬層、ADS-B 通訊層和塔台 ATC HMI,實現逼真的空地資訊交換,同時保持適用於數位實驗和網路安全分析。

下圖顯示了模擬地面站 ADS-B 系統的端到端工作流程,突出顯示了 ADS-B Out(綠色飛機監視)和 ADS-B In(橙色機場資訊廣播)資料路徑。

網路靶場中的地面站 ADS-B 系統由四個主要模組組成,每個模組代表真實世界機場基礎設施中常見的不同功能領域。

Google Weather Info Fetcher Module

此模組定期連接到Google Weather服務,以根據機場配置的地理位置(城市)擷取即時氣象資料。擷取的資料用作網路靶場的外部環境輸入,並轉發到航空物理世界模擬器以進行感測器級別的抽象。

航空物理世界模擬器

物理世界模擬器模擬機場環境和周圍空域,包括:

  • 產生 ADS-B Out 訊息的模擬飛機

  • 用於訊息接收和廣播的地面 ADS-B 天線

  • 機場交通追蹤器

  • 風感測器

  • 空域天氣狀況追蹤器

  • 天氣雷達和天氣計量單位

此模組將外部天氣資料和飛機狀態變化轉換為類似感測器的讀數,從而為 ADS-B 控制器提供逼真的輸入,而無需依賴實體硬體。

地面站 ADS-B 控制器 (PLC)

地面站 ADS-B 控制器代表系統的 OT 控制邏輯層。它使用 Python IEC 62541 OPC-UA-TCP Virtual PLC Simulator 框架實現:https://www.linkedin.com/pulse/python-virtual-plc-simulator-iec-62541-opc-ua-tcp-protocol-liu-pm1pc,控制器執行以下核心功能:

  • 接收來自物理世界模擬器的飛機 ADS-B 衍生資訊

  • 收集和處理天氣感測器和雷達資料

  • 將操作和環境資料轉換為 ADS-B / ACARS 樣式資訊

  • 將所有資料同步到結構化的 OPC UA 位址空間

  • 將即時資訊發佈到塔台 ATC HMI

  • 將機場 ADS-B 資訊發送回 ADS-B 天線以進行廣播

機場塔台 HMI ADS-B 顯示面板

機場塔台 ATC HMI 透過 OPC UA 從 ADS-B 控制器檢索所有 ADS-B 和天氣資訊。在解碼和格式化資料後,HMI 在三個主要顯示面板上呈現資訊:

  • 雷達顯示面板 – 可視化目前在受控空域內的所有相關 GNSS 位置的飛機。

  • 飛機 ADS-B 資訊面板 – 顯示向機場地面站報告的每架飛機的詳細 ADS-B 資料。

  • 機場天氣 ADS-B 面板 – 顯示機場 B 級空域內的天氣和環境條件。

地面站 ADS-B 系統工作流程

詳細的系統工作流程在下圖中標記了不同的步驟:

地面站 ADS-B 輸出工作流程

模擬的 ADS-B 輸出工作流程(Aircraft → Ground Station → ATC HMI) 側重於從飛機流向地面站並轉發到 ATC HMI 的飛機監視資料。該過程包括以下步驟:

  • 步驟 01 – 產生飛機 ADS-B 資訊:航空物理世界模擬器根據每架模擬飛機的當前操作狀態(位置、高度、速度、航向、燃料狀態和 ATC 狀態),如模擬的 ADS-B 輸出資料模型中所定義,產生 ADS-B 輸出資訊。

  • 步驟 02 – ADS-B 資料轉換和預處理:生成的 ADS-B 訊息由模擬的 ADS-B 天線接收,並由機場交通追蹤器進行預處理。這些訊息被轉換為簡化的 ACARS 樣式訊息格式,並使用 UDP 傳輸到 ADS-B 控制器,模擬輕量級航空資料鏈路。

  • 步驟 03 – 資料儲存和 OPC UA 同步:ADS-B 控制器將轉換後的飛機資料儲存在其內部記憶體暫存器中,並將其與統一架構位址空間同步,使其他程式可以存取該資料。

  • 步驟 04 – 在 ATC HMI 上顯示 ADS-B 資訊:塔台 ATC HMI 使用 OPC-UA 客戶端連接到控制器,將飛機 ADS-B 資訊解碼為人類可讀的形式,並在雷達顯示器和飛機資訊面板上可視化它。

地面站 ADS-B 輸入工作流程

模擬的 ADS-B 輸入工作流程(Weather & Airport Information → Aircraft) 模擬如何收集、處理機場操作和環境資訊,並將其廣播到在受控空域內運行的飛機。該過程包括以下步驟:

  • 步驟 05 – 獲取即時天氣資訊:天氣資訊獲取器根據機場配置的位置從 Google Weather 服務檢索即時氣象資料,並透過 UDP 將其轉發到物理世界模擬器。

  • 步驟 06 – 將天氣資料分配給模擬感測器:物理世界模擬器處理接收到的天氣資料,並將其映射到個別 ADS-B 相關參數(風、能見度、雲層狀況、溫度、降水)。這些值被分配給模擬的天氣感測器和雷達單元,以模擬真實的感測器讀數。

  • 步驟 07 – 將天氣資料儲存在 ADS-B 控制器中:ADS-B 控制器讀取天氣感測器輸出,將其轉換為 OPC UA 相容的資料結構,並將其儲存在 PLC 記憶體中,同時同步統一架構位址空間。

  • 步驟 08 – 在 ATC HMI 上顯示天氣資訊:塔台 ATC HMI 透過 OPC UA 檢索機場天氣 ADS-B 資料,並在專用的天氣資訊面板上顯示它,為操作員提供即時情境感知。

  • 步驟 09 – 資料組合和 ACARS 訊息產生:ADS-B 控制器聚合儲存的機場操作資料和天氣 ADS-B 資訊,將其轉換為整合的 ACARS 樣式機場 ADS-B 訊息,並準備好資料以進行廣播。

  • 步驟 10 – 將機場 ADS-B 資訊發送到天線:整合的機場 ADS-B 資訊從控制器透過 UDP 發送到模擬的 ADS-B 天線。

  • 步驟 11 – 將機場 ADS-B 資訊廣播到飛機:物理世界模擬器執行 ADS-B 廣播程序,模擬飛機接收機場 ADS-B 資訊,然後將其顯示在其機載 ADS-B 可視化介面上。

ADS-B 資訊的使用者介面顯示

為了支援使用者在航空網路靶場中直觀地觀察和分析 ADS-B 資料流,以追蹤來自資料來源 → 控制器處理 → 操作可視化的 ADS-B 資訊,系統提供了兩個互補的使用者介面層:

  • 物理世界模擬器 ADS-B 顯示 – 側重於原始資料產生、感測器級別行為和訊息形成。

  • 塔台 ATC HMI ADS-B 顯示 – 側重於操作情境感知、交通監控和決策支援,類似於真實的空中交通管制環境。

物理世界模擬器 ADS-B 顯示

在航空物理世界模擬器中,ADS-B 相關資訊在「天氣和 ADS-B」操作顯示筆記本下可視化,如下圖所示。

顯示器由兩部分組成:

即時天氣資訊窗格

此面板顯示從 Google Weather Information Fetcher Module 檢索的原始即時天氣資料。資料在轉換為感測器讀數或 ADS-B 相容參數之前呈現,從而更容易驗證外部資料來源並觀察環境變化。

  • 顯示的資訊通常包括:Surface wind direction and speedVisibility and sky conditionAir temperatureAltimeter pressurePrecipitation indicators

ADS-B 訊息顯示面板

ADS-B 訊息顯示面板提供模擬環境中交換的 ADS-B 訊息內容的直接視圖,並分為兩個邏輯部分:

  • ADS-B Out Section:顯示模擬飛機產生的 ADS-B 輸出訊息,反映飛機狀態資訊,例如位置、高度、速度、航向和操作狀態。

  • ADS-B In Section:顯示由地面站 ADS-B 控制器產生並準備廣播到飛機的天氣和機場 ADS-B 訊息。

塔台 ATC HMI ADS-B 資訊顯示

塔台 ATC 控制 HMI 代表航空網路靶場的操作員介面。它遵循 Retro-ADSB-Radar 專案的視覺和互動設計原則,結合了經典的雷達樣式可視化和現代資料面板。透過選擇 Radar and ATC Monitoring 標籤,操作員會看到三個主要的 ADS-B 資訊面板。(如下所示)

雷達 ADS-B 範圍顯示面板

雷達 ADS-B 範圍提供受控空域的雷達樣式可視化,將即時飛機標記覆蓋在機場雷達背景上。

  • 每個飛機標記代表:Aircraft position (GNSS-based)Course Over Ground (COG)Relative speed and movement direction

  • 此面板是監控交通流量、間隔和空域佔用的主要情境感知工具。

飛機 ADS-B 資訊面板

飛機 ADS-B 資訊面板提供基於列表且面向細節的視圖,顯示從地面站 ADS-B 控制器透過 OPC UA 接收的 ADS-B 資料。

  • 顯示的典型資訊包括:Aircraft identifierFlight pattern IDCurrent ATC operational stateAltitudeheadingairspeedground speedFuel stateother aircraft-specific parameters

  • 此面板透過為每架飛機提供精確的數值和基於狀態的資訊來補充雷達範圍

機場天氣 ADS-B 顯示面板

機場天氣 ADS-B 顯示面板顯示由地面站廣播的處理後的機場天氣和操作資訊。

  • 顯示的資訊包括:Surface wind direction and speedRunway visual range and visibilitySky condition and cloud coverageAir temperatureAltimeter settingPrecipitationObscuration indicators

  • 此面板允許 ATC 操作員快速評估影響機場運營、進場程序和交通排序的環境條件。

結論與參考文獻

總之,此專案成功地在航空網路靶場環境中實作了地面站 ADS-B 控制器的功能模擬。透過對核心資料獲取、處理和廣播邏輯進行建模,並透過 OPC UA 將其與物理世界模擬器和塔台 ATC HMI 整合,該系統提供了一個逼真但精簡的平台,用於理解 ADS-B 工作流程。此實作提供了一個有價值的基礎,用於進行動手的操作技術 (OT) 安全培訓、系統行為分析以及專注於現代航空監視和通信系統的網路安全實驗。

參考文獻

Thanks for spending time to check the article detail, if you have any question and suggestion or find any program bug, please feel free to message me. Many thanks if you can give some comments and share any of the improvement advice so we can make our work better ~

Merry Christmas and Happy New Year ~


last edit by LiuYuancheng ([email protected]) by 26/12/2025 if you have any problem, please send me a message.

  RELATED

No related programming articles found. Browse all programming tutorials and articles.

  COMMENTS

0

No comment for this article.