GATE is a research-oriented framework for detecting malicious or faulty xApps in O-RAN environments using context-aware relational learning. The core idea is that an xApp may send syntactically valid control commands through standard interfaces, yet those commands may still be semantically harmful when compared against live network context.
This project focuses on identifying such context-violating control logic by modeling O-RAN behavior as a heterogeneous graph composed of:
- xApps
- UEs
- Cells
The framework uses ego-graph localization and Graph Attention Networks (GAT/GATv2) to detect persistent, targeted, and low-volume malicious behavior that would be missed by signature-based intrusion detection or flat machine learning models.
This work is designed as a containerized, framework-level proof-of-concept, not as a production Near-RT RIC deployment.
Open RAN introduces openness, programmability, and third-party xApps into the Near-RT RIC. While this improves flexibility and innovation, it also expands the attack surface.
A malicious or faulty xApp can:
- issue protocol-compliant E2-like control actions,
- appear valid at the packet or interface level,
- repeatedly target specific UEs or cells,
- and cause persistent degradation in QoS, throughput, SINR, or load balance.
Traditional IDS methods are not sufficient because they often detect malformed packets, known signatures, or coarse traffic anomalies. They do not verify whether an xApp’s action is correct with respect to current network context.
GATE addresses this gap by learning whether xApp behavior is consistent with network state and historical relational patterns.
The framework assumes that malicious xApps are not necessarily noisy or obviously disruptive. Instead, they may behave like stealthy logic attackers:
- they may affect only a small subset of UEs,
- they may remain protocol compliant,
- they may avoid triggering threshold-based alarms,
- but they repeatedly make decisions that worsen network conditions under similar contexts.
GATE detects this by learning the relationship between:
- control intent from E2-like action streams,
- network context from SDL-like state,
- interaction metadata from RMR-like messaging behavior.
- Detect context-violating xApp behavior using radio and system context.
- Model O-RAN interactions as heterogeneous relational graphs.
- Localize inference around each xApp using ego-graph extraction.
- Use graph attention to focus on important xApp–UE interactions.
- Support automated mitigation and reporting as a future extension.
- Maintain reproducibility through time-ordered, rule-labeled synthetic data.
The framework is organized into five conceptual modules:
A synthetic but semantically faithful O-RAN-like environment is generated. It includes:
- xApp actions,
- UE-level radio context,
- cell-level load state,
- xApp telemetry,
- messaging metadata,
- malicious behavior injection.
The generated dataset is:
- time ordered,
- reproducible,
- rule labeled,
- physics consistent,
- suitable for supervised graph learning.
At each timestamp, the system builds a graph where:
- nodes represent xApps, UEs, and Cells
- edges represent:
- xApp → UE control interactions
- UE → Cell association relationships
This preserves both behavioral and structural dependencies.
Instead of classifying over the full graph directly, each xApp is used as the center of a 2-hop ego graph. This provides:
- xApp-centric localization,
- reduced computation,
- clearer structural representation,
- suitability for low-latency inference.
Each ego graph becomes one supervised sample.
The detection engine uses GATv2-based graph learning to weigh the importance of neighbors and interactions. It is intended to detect:
- persistent harmful behavior,
- low-volume targeted attacks,
- relational inconsistencies between action and context.
A future mitigation module can perform actions such as:
- subscription revocation,
- xApp isolation,
- structured alarm generation,
- escalation for repeat offenders.
At the current stage, mitigation is part of the framework design and not the main implemented contribution.
The framework is built around three logical input streams:
Represents the intent of the xApp.
Examples:
- handover decisions,
- scheduling changes,
- power adjustments,
- control parameter updates.
Represents the network state used to evaluate whether the control action is contextually valid.
Examples:
- RSRP,
- SINR,
- throughput,
- QoS score,
- cell load,
- UE count.
Represents message-level relational behavior useful for detecting signaling anomalies and interaction patterns.
Examples:
- message type,
- routing key,
- message rate,
- message size,
- execution latency.
The synthetic dataset is designed to reflect realistic O-RAN behavior while remaining controlled and reproducible.
- 15 xApps
- 150 UEs
- 3 Cells
- 6000 timesteps
The dataset includes the following classes of features:
xapp_idaction_typetarget_uetarget_cellparam_value
rsrpsinrthroughputqos_scorecell_loadue_count
sinr_deltathroughput_deltaqos_delta
msg_typerouting_keyrmr_msg_ratermr_msg_size_avg
cpu_usagememory_usageexecution_latencyprb_usage_dlprb_usage_ul
is_malicious
Labels are assigned through explicit rules, not random assignment. Malicious behavior is injected as:
- repeated targeting of victim UEs,
- intentional degradation of SINR and throughput,
- amplified control intensity or message activity,
- persistent context-violating behavior over time.
This ensures the labels are behaviorally meaningful.
Many traditional approaches are insufficient for this problem:
- Rule-based systems miss stealthy logic attacks.
- Standard ML models treat samples independently and ignore topology.
- Temporal models capture sequences but not multi-entity structure.
- GCNs may average out targeted anomalies through uniform aggregation.
GAT-based models are preferred because they:
- assign different weights to different neighbors,
- preserve relational structure,
- focus on suspicious xApp–UE interactions,
- improve sensitivity to low-volume, high-impact attacks.
This makes GAT especially suitable when one xApp repeatedly harms only a small subset of entities.
The current framework uses an Attention-Guided Ego-GAT model built using PyTorch Geometric.
- multi-head graph attention layer,
- attention refinement layer,
- batch normalization,
- dropout,
- hybrid graph readout,
- fully connected classifier.
The final graph representation combines:
- ego node embedding,
- global max pooling,
- global mean pooling.
This helps capture both:
- highly targeted attacks,
- and more distributed anomalous behavior.
Example training configuration from the current implementation:
- Train/Test split: 80/20
- Batch size: 32
- Optimizer: Adam
- Learning rate: 0.005
- Epochs: 20
- Accuracy: ~89–90%
- Macro F1: ~0.86–0.87
- Recall: ~0.87
A threshold-tuned configuration was also explored to improve malicious recall.