rhoffl/uav-cti-lab
GitHub: rhoffl/uav-cti-lab
为无人机网络威胁情报防御提供集成化仿真研究与测试环境。
Stars: 0 | Forks: 0
# 无人机网络威胁情报防御实验室
## 论文研究环境 — 版本 1.0
## ⚠️ 法律与道德声明
本环境**仅**为**防御性安全研究**设计。
- 所有仿真均在完全**气隙隔离**的网络中运行——不涉及真实无人机
- RF 实验需要**屏蔽法拉第笼**(符合 FCC Part 15 / ETSI EN 303 413 标准)
- 研究人员须遵守 18 U.S.C. §1030 (CFAA) 及适用法律
- **切勿**将此环境连接至生产网络或真实无人机系统
## 研究结果总结
| 指标 | CTI 流水线 | 基准 | 提升幅度 |
|------|------------|------|----------|
| 真阳性率 | 82.9% | 40.8% | **+103%** |
| F1 分数 | 0.864 | 0.498 | **+73%** |
| 平均检测时间 | 4.3 分钟 | 23.7 分钟 | **−82%** |
| 平均响应时间 | 8.1 分钟 | 47.2 分钟 | **−83%** |
*基于对 10 个 UAV 攻击类别进行的 480 次受控仿真。*
*Cohen's d = 2.14 (效应量大),p < 0.001,覆盖所有类别。*
## 关键研究引用
| 引用编号 | 引用内容 |
|----------|----------|
| [5] | Hartmann & Steup (2013). UAV attack surface taxonomy. *CyCon 2013, IEEE.* |
| [6] | Rodday et al. (2016). MAVLink MitM vulnerabilities. *IEEE NOMS 2016.* |
| [7] | Birnbaum et al. (2016). UAV anomaly detection. *ICUAS 2016.* |
| [8] | Yaacoub et al. (2020). Survey of 163 UAV security papers. *IoT Journal 11.* |
| [10] | Strom et al. (2018). MITRE ATT&CK design. *MITRE MTR180035.* |
| [11] | OASIS (2021). STIX 2.1 / TAXII 2.1 标准. |
| [12] | Schlette et al. (2021). CTI platform comparison. *IEEE Comms Surveys 23(4).* |
| [13] | Humphreys et al. (2008). GPS civilian spoofing. *ION GNSS 2008.* |
| [21] | Mavroeidis & Bromander (2017). CTI ontology for CPS. *EISIC 2017.* |
| [23] | Hevner et al. (2004). Design Science in IS Research. *MIS Quarterly 28(1).* |
## 架构概览
```
┌──────────────────────────────────────────────────────────────────┐
│ ISOLATED UAV CYBER RANGE (192.168.100.0/24) │
│ │
│ ┌─────────────────┐ ┌────────────────┐ ┌──────────────────┐ │
│ │ UAV SIMULATION │ │ MONITORING │ │ CTI / SecOps │ │
│ │ .60 │ │ .30 │ │ .50 │ │
│ │ ArduPilot SITL │ │ Suricata 6.x │ │ OpenCTI 5.12 │ │
│ │ MAVProxy 1.8 │◄─┤ Zeek 5.x │ │ MISP 2.4 │ │
│ │ QGroundControl │ │ Arkime │ │ TheHive 5 │ │
│ │ MAVLink Router │ │ ntopng │ │ Cortex 3 │ │
│ └─────────────────┘ └────────────────┘ └──────────────────┘ │
│ │
│ ┌─────────────────┐ ┌────────────────┐ ┌──────────────────┐ │
│ │ GCS LINUX │ │ SIEM │ │ SANDBOX │ │
│ │ .11 │ │ .40 │ │ .70 (isolated) │ │
│ │ MAVProxy │ │ Elasticsearch │ │ Cuckoo 2.0 │ │
│ │ DroneKit-Py │ │ Kibana 8.12 │ │ CAPE │ │
│ │ Mission Plnr │ │ Logstash │ │ Malware Analysis│ │
│ └─────────────────┘ └────────────────┘ └──────────────────┘ │
│ │
│ ┌──────────────────────────────────────────────────────────────┐ │
│ │ SDR RF BENCH (Shielded Faraday Enclosure — FCC Compliant) │ │
│ │ USRP B210 ×2 | HackRF One ×3 | GNU Radio 3.10 │ │
│ │ GPS-SDR-SIM | gr-osmosdr | gr-ieee802-11 │ │
│ └──────────────────────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────────────────────┘
```
## 快速开始
### 选项 A — 仅使用 Docker Compose (约 15 分钟)
```
git clone https://github.com/[org]/uav-cti-lab.git
cd uav-cti-lab
cp .env.example .env
# 编辑 .env — 更改所有默认密码
cd docker
docker compose -f stacks/cti.yml \
-f stacks/monitor.yml \
-f stacks/uav.yml up -d
```
### 选项 B — 完整虚拟机 + Docker (约 60 分钟)
```
# 要求:Ubuntu 22.04 host, KVM, Vagrant 2.3+, Ansible 2.14+, Docker 24+
sudo bash scripts/bootstrap.sh
vagrant up
cd docker
docker compose -f stacks/cti.yml \
-f stacks/monitor.yml \
-f stacks/uav.yml up -d
# 运行安装后配置
ansible-playbook ansible/playbooks/post-install.yml
```
## 服务端点 (部署后)
| 服务 | URL | 用途 |
|------|-----|------|
| OpenCTI | http://localhost:8080 | CTI 平台与 IoC 管理 |
| MISP | http://localhost:8090 | 威胁情报共享 |
| TheHive | http://localhost:9000 | 事件案例管理 |
| Cortex | http://localhost:9001 | 自动化威胁分析 |
| Kibana | http://localhost:5601 | SIEM 仪表板与规则 |
| Grafana | http://localhost:3001 | 指标与运维仪表板 |
| ntopng | http://localhost:3000 | 网络流量分析 |
| Arkime | http://localhost:8005 | 全流量包捕获 |
| RabbitMQ | http://localhost:15672 | 消息代理 (OpenCTI) |
## 目录结构
```
uav-cti-lab/
├── README.md # This file
├── .env.example # Environment variable template
├── Vagrantfile # VM definitions (6 VMs)
├── vagrant/provision/ # VM bootstrap shell scripts
├── ansible/
│ ├── inventories/lab.ini # Vagrant host definitions
│ ├── playbooks/ # Top-level Ansible plays
│ └── roles/ # Per-VM configuration roles
│ ├── common/ # Shared: Docker, hardening
│ ├── gcs-linux/ # MAVProxy, DroneKit, GCS tools
│ ├── ids-monitor/ # Suricata, Zeek, Arkime
│ ├── cti-platform/ # OpenCTI, MISP, TheHive
│ ├── siem/ # Elasticsearch, Kibana, Logstash
│ └── uav-sim/ # ArduPilot SITL, MAVLink Router
├── docker/
│ ├── stacks/
│ │ ├── cti.yml # OpenCTI + MISP + TheHive stack
│ │ ├── monitor.yml # Suricata + Zeek + Elastic stack
│ │ └── uav.yml # ArduPilot SITL + MAVLink services
│ └── configs/
│ ├── suricata/rules/ # 47 custom UAV detection rules
│ ├── zeek/scripts/ # MAVLink protocol analyzer
│ ├── elastic/detection-rules/ # 23 KQL SIEM rules
│ ├── logstash/pipelines/ # Log ingestion pipelines
│ └── opencti/ # CTI platform config
├── scripts/
│ ├── bootstrap.sh # Host prerequisite installer
│ ├── cti/ # IoC ingest & enrichment
│ │ ├── ingest_feeds.py # Pull OTX, CISA, VirusTotal feeds
│ │ ├── stix_uav_objects.py # UAV-specific STIX SDO builder
│ │ └── cti_to_suricata.py # Export IoCs → Suricata rules
│ ├── detection/
│ │ ├── mavlink_ids.py # MAVLink intrusion detection service
│ │ └── gps_anomaly_monitor.py # GPS spoofing detection
│ └── analysis/
│ ├── experiment_runner.py # Automated detection evaluation
│ └── results_report.py # Generate metrics report
└── docs/
└── citations/
└── references.bib # BibTeX bibliography
```
# uav-cti-lab
标签:ATT&CK框架, CTI管道, GPS欺骗攻击, MAVLink协议, Metaprompt, STIX标准, TAXII协议, UAV威胁情报, UAV攻击面, URL发现, 仿真环境, 入侵防御, 威胁分析, 威胁情报, 安全实验, 安全检测, 射频安全, 屏蔽环境, 工业控制系统安全, 库, 应急响应, 开发者工具, 异常检测, 恶意软件防御, 情报共享, 控制协议漏洞, 攻击模拟, 无人机安全, 物联网安全, 系统提示词, 网络安全, 网络攻击防御, 自动化侦查工具, 设计科学, 请求拦截, 越狱测试, 逆向工具, 隐私保护, 驱动签名利用