shadimotaali/Graph-Theoretic-Multi-View-Feature-Engineering-for-Interpretable-BGP-Anomaly-Detection
GitHub: shadimotaali/Graph-Theoretic-Multi-View-Feature-Engineering-for-Interpretable-BGP-Anomaly-Detection
一个可解释的 AS 级 BGP 异常检测研究框架,结合图拓扑特征与统计特征,通过 CORAL 域适应和 SHAP 解释在真实 BGP 事件上验证经典模型与图神经网络的检测性能。
Stars: 0 | Forks: 0
# 图论多视图特征工程用于可解释的 BGP 异常检测
## 本仓库提出了一个可解释的 AS 级 BGP 异常检测框架。它结合了图特征与统计特征,评估了它们的互补性 (CCA/AJIVE),应用 CORAL 进行域适应,比较了经典模型与图神经网络模型,并利用 SHAP 解释在真实的 BGP 事件上验证了性能。
## 概述
每 5 分钟的 BGP 活动观察窗口会产生**两种互补的表示**:
一种是**图视图**(目标 AS 的 *k* 跳 ego 网络拓扑),另一种是**统计视图**
(控制平面更新动态)。核心发现是,**跨域迁移
难度是由拓扑不对称驱动的,而不是观察点距离**,这产生了一条
**拓扑驱动的模型选择规则**:扁平分类器适用于稀疏的、层次化的 AS;
消息传递图网络适用于密集的对等网格。
**研究域(collector–AS 对):**
## | ID | Collector | AS | 运营商 |
|----|-----------|---------|-----------------------|
| D1 | RRC04 | AS12880 | Iran TCI (稀疏) |
| D2 | RRC04 | AS3352 | Telefónica (密集) |
| D3 | RRC05 | AS12880 | Iran TCI |
| D4 | RRC05 | AS3352 | Telefónica |
| — | RRC18 | AS766 | RedIRIS (第三方 AS 验证) |
## 安装说明
```
git clone https://github.com//.git
cd
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
```
使用 Python 3.10 进行了测试。建议在 GNN 实验中使用 GPU (CUDA),但对于
扁平分类器而言并非必需。
## 数据
原始 BGP 数据(此处未重新分发):MRT RIB/UPDATE 转储可从 RIPE RIS 公开获取。辅助输入:CAIDA AS-relationships 和 PeeringDB。有关获取工具及所使用的确切 collector/日期范围,请参阅 Scripts/。
## 复现结果
pipeline 分阶段运行(详情请参阅论文):
```
# 1. 特征提取(图 + 统计视图)
python Scripts/... # or the bgp_*_features notebooks
# 2. 冗余降低与互补性(114 -> 41 -> 22)
python Scripts/cca_ajive_analysis.py
# 3. CORAL 域适应 + 诊断
python Scripts/coral_phase2_runner.py
python Scripts/phase2_diagnostics.py
# 4. 监督迁移扫描(扁平分类器 + 融合)
python Scripts/phase3_pipeline.py
# 5. GNN 实验(GAT / TopoGPS)
python Scripts/gnn_classifiers.py --edge astopo_8h_gps ...
# 6. 部署验证 + SHAP
python Scripts/deploy_historical_inference.py
python Scripts/shap_explainability.py
```
所有实验均使用固定的随机种子;配置请参阅每个脚本的 CLI (--help)。
标签:Apex, BGP异常检测, Vectored Exception Handling, 凭据扫描, 可解释AI, 图神经网络, 数据科学, 机器学习, 网络运营, 资源验证, 逆向工具