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, 图神经网络, 数据科学, 机器学习, 网络运营, 资源验证, 逆向工具