BarathThanigai/AeroShield_Twin
GitHub: BarathThanigai/AeroShield_Twin
AeroShield Twin 是一个基于 AI 和数字孪生技术的航空系统网络安全平台,用于检测、分类和缓解针对飞机子系统的网络威胁。
Stars: 0 | Forks: 0
# AeroShield Twin
**面向飞机系统的 AI 驱动网络安全数字孪生**
一个先进的网络安全平台,利用人工智能和数字孪生可视化技术来检测、分类和缓解针对飞机系统的网络威胁。
## 🎯 项目概述
AeroShield Twin 是一个用于监控和保护软件定义飞机系统免受网络威胁的综合解决方案。它使用:
- **AI 异常检测** - 使用 Isolation Forest 算法检测飞机的异常行为
- **基于规则的威胁分类** - 识别威胁类型(GPS Spoofing、传感器异常等)
- **数字孪生可视化** - 实时可视化飞机子系统的健康状况
- **影响预测引擎** - 评估威胁的运行后果
- **缓解建议** - 建议并应用保护性措施
- **事件报告** - 生成全面的事件报告
## ✨ 核心功能
### 1. **数字孪生可视化**
- 实时显示 5 个飞机子系统(导航、飞行控制、通信、引擎、传感器)
- 颜色编码的健康状态(绿/黄/红)
- 单独的风险评分和影响等级
- 飞机整体健康评估
### 2. **AI 驱动的威胁检测**
- Isolation Forest 异常检测模型
- 基于正常的飞机运行模式进行训练
- 实时异常评分和置信度指标
### 3. **威胁分类引擎**
- 基于规则的分类系统
- 识别 5 种威胁类别:GPS Spoofing、传感器异常、通信异常、网络入侵、未知威胁
### 4. **攻击模拟**
- 模拟 GPS Spoofing、传感器异常和网络入侵
- 可调节的严重程度级别
### 5. **影响预测**
- 预测威胁的运行后果
- 估计受影响的子系统和风险演变
### 6. **缓解建议引擎**
- 针对特定威胁的缓解措施
- 风险降低计算
### 7. **事件时间线**
- 5 个阶段的事件演变:正常 → 攻击 → 检测 → 预测 → 缓解 → 解决
### 8. **报告生成**
- JSON 事件报告,支持可选的 PDF 导出
## 🏗️ 架构
```
┌─────────────────────────────────────────┐
│ React Frontend (Vite + Tailwind) │
│ - Digital Twin Visualization │
│ - Real-time Threat Monitoring │
│ - Attack Simulation Controls │
│ - Incident Timeline │
└───────────────┬─────────────────────────┘
│ REST API
▼
┌─────────────────────────────────────────┐
│ FastAPI Backend (Python) │
│ - Data Stream Simulation │
│ - Anomaly Detection (Isolation Forest) │
│ - Threat Classification (Rules) │
│ - Impact Prediction & Mitigation │
│ - Report Generation │
└─────────────────────────────────────────┘
```
## 📋 系统要求
### 后端
- **Python 3.9+**
- **FastAPI 0.104+**
- **Scikit-Learn 1.3+**
- **Pandas 2.0+**
- **NumPy 1.24+**
### 前端
- **Node.js 16+**
- **npm 8+**
- **React 18+**
- **Vite 5+**
- **Tailwind CSS 3+**
## 🚀 快速开始
### 后端设置
```
cd backend
# 安装 Python 依赖
pip install -r requirements.txt
# 训练异常检测模型(1-2分钟)
python train_model.py
# 启动 backend 服务器
python run.py
```
后端运行在 `http://localhost:8000`
API 文档:`http://localhost:8000/docs`
### 前端设置(在另一个终端中)
```
cd frontend
# 安装依赖
npm install
# 启动开发服务器
npm run dev
```
前端运行在 `http://localhost:3000`
## 🎬 演示工作流
1. **打开仪表板** - `http://localhost:3000`
2. **监控正常状态** - 飞机初始状态为健康
3. **触发攻击** - 点击“🛰️ GPS Spoofing”按钮
4. **观察检测** - AI 自动检测异常
5. **查看建议** - 出现缓解建议
6. **应用缓解** - 点击缓解按钮
7. **监控恢复** - 观察风险评分下降
8. **生成报告** - 点击“结束事件并生成报告”
## 📁 核心文件
```
backend/
├── app/main.py # FastAPI app
├── app/config/
│ ├── threat_rules.json # Threat classification
│ ├── mitigations.json # Mitigation library
│ └── impact_rules.json # Impact prediction
├── app/ml/
│ ├── anomaly_detector.py # Isolation Forest
│ ├── threat_classifier.py # Threat classification
│ └── model_trainer.py # Training script
└── requirements.txt
frontend/
├── src/components/
│ ├── Dashboard.jsx # Main layout
│ ├── DigitalTwin.jsx # Aircraft visualization
│ ├── ThreatPanel.jsx # Threat display
│ ├── ImpactPanel.jsx # Risk analysis
│ ├── RecommendationPanel.jsx # Mitigations
│ ├── ControlPanel.jsx # Attack buttons
│ └── IncidentTimeline.jsx # Timeline
└── package.json
```
## 🔌 API Endpoints
- `GET /systems` - 飞机系统状态
- `GET /digital-twin` - 完整的数字孪生状态
- `GET /alerts` - 当前的异常警报
- `POST /simulate/gps-spoof` - GPS Spoofing 模拟
- `POST /simulate/sensor-attack` - 传感器异常模拟
- `POST /simulate/network-attack` - 网络入侵模拟
- `POST /stop-attack` - 停止攻击
- `GET /recommendations` - 缓解建议
- `POST /apply-mitigation` - 应用缓解措施
- `POST /end-incident` - 结束事件并生成报告
- `GET /report` - 获取事件报告
- `GET /incident-history` - 历史事件
## 🧠 机器学习
**异常检测**:Isolation Forest
- 训练数据:2000 条合成飞机测量数据
- 特征:10 个(子系统数值 + 风险评分)
- 检测延迟:< 1 秒
**威胁分类**:基于规则
- 模式 → 威胁类型
- 置信度评分
## 📊 性能
| 组件 | 目标 |
|-----------|--------|
| 异常检测 | < 1s |
| 威胁分类 | < 200ms |
| API 响应 | < 100ms |
| 更新频率 | 1.5s |
## 🛣️ 未来增强
- 用于实时更新的 WebSocket
- Autoencoder 异常检测
- 集成真实的 GPS 欺骗数据集
- 3D 飞机可视化
- 多飞机监控
- 数据库集成
## 🎯 快速参考
```
# 启动 Backend
cd backend
python train_model.py # First time only
python run.py
# 启动 Frontend(新终端)
cd frontend
npm install # First time only
npm run dev
```
**API 文档**:`http://localhost:8000/docs`
标签:AI异常检测, AMSI绕过, DNS 反向解析, 威胁检测, 攻击模拟, 数字孪生, 航空安全, 航空系统, 逆向工具, 驱动签名利用