MannyMols/sentinelmesh
GitHub: MannyMols/sentinelmesh
SentinelMesh 是一个评估 IoT 网络入侵检测集成机器学习模型跨数据集迁移能力的研究项目,量化了零样本和少样本迁移场景下的检测性能变化。
Stars: 0 | Forks: 0
# SentinelMesh
用于 IoT 网络入侵检测的跨数据集 ML 可迁移性评估。
## 概述
在 CICIoT2023 上训练集成模型(RandomForest、XGBoost、LightGBM),评估向 TON_IoT 的零样本(zero-shot)和少样本(few-shot)迁移效果,并将结果写入 PostgreSQL。
## 结构
- `notebooks/` — 包含 00–05 的 Jupyter notebooks,涵盖 schema 设置、EDA、模型训练、ETL、预测回写以及跨数据集评估
- `etl/` — 数据摄取和数据库连接工具
- `sql/` — schema DDL 和事实/维度表转换
- `dashboard/` — 结果可视化应用
- `data/processed/` — 汇总 CSV 文件和评估输出
## 关键发现
在 CICIoT2023 上训练的模型在 TON_IoT 上进行零样本(zero-shot)评估时,相对 F1 下降了约 30%,但仅使用 10% 的 TON_IoT 训练数据进行少样本(few-shot)自适应,即可将正常类别(benign-class)的 F1 从 0.00 恢复至 0.90。
## 数据集
### CICIoT2023
- **来源:** 加拿大网络安全研究所 (CIC),新不伦瑞克大学
- **描述:** 一个大规模、实时的 IoT 攻击数据集,从 105 台 IoT 设备中采集,涵盖 33 种攻击类型(DDoS、DoS、侦察、基于 Web、暴力破解、欺骗、MQTT 等)以及正常流量。特征以网络流统计信息的形式提取(共 39 列,包括 header lengths、标志计数、IAT 统计信息和协议标志)。
- **本项目使用的数据量:** ~241,527 行(221,527 行攻击数据 + 20,000 行正常数据)
- **格式:** CSV(通过 CICFlowMeter/PySpark 提取的流级别特征)
- **论文:** Neto 等人,*CICIoT2023: A Real-Time Dataset and Benchmark for Large-Scale Attacks in IoT Environment*, Sensors (2023)
- **下载:** [https://www.unb.ca/cic/datasets/iotdataset-2023.html](https://www.unb.ca/cic/datasets/iotdataset-2023.html)
- **也可在 Kaggle 上获取:** [https://www.kaggle.com/datasets/himadri07/ciciot2023](https://www.kaggle.com/datasets/himadri07/ciciot2023)
### TON_IoT
- **来源:** 网络靶场实验室 (Cyber Range Lab),UNSW 堪培拉 (新南威尔士大学)
- **描述:** 下一代 IoT/IIoT 数据集,从真实的智能家居和智能工厂测试床中收集。网络流量使用 Argus 和 Bro/Zeek 工具捕获,生成连接日志样式的特征(共 44 列)。包含 9 种攻击类型(后门、DDoS、DoS、注入、MITM、密码、勒索软件、扫描、XSS)以及正常流量。
- **本项目使用的数据量:** ~211,043 行
- **格式:** CSV(Zeek/Bro 样式的网络连接日志)
- **论文:** Moustafa, N., *TON_IoT Telemetry Dataset: A New Generation Dataset of IoT and IIoT for Data-Driven Intrusion Detection Systems*, IEEE Access (2021)
- **下载:** [https://research.unsw.edu.au/projects/toniot-datasets](https://research.unsw.edu.au/projects/toniot-datasets)
- **也可在 Kaggle 上获取:** [https://www.kaggle.com/datasets/arnobbhowmik/ton-iot-network-dataset](https://www.kaggle.com/datasets/arnobbhowmik/ton-iot-network-dataset)
标签:NoSQL, 测试用例, 逆向工具