2121-shivi/CyberSecure-IoT-IDS
GitHub: 2121-shivi/CyberSecure-IoT-IDS
一个基于 MQTT 与 Isolation Forest 的智能家居 IoT 入侵检测系统,通过实时监控传感器数据并结合规则与 AI 模型检测环境异常。
Stars: 0 | Forks: 0
# 🛡️ CyberSecure 智能家居 IDS






# 📖 概述
CyberSecure 智能家居 IDS 是一款专为基于 IoT 的智能家居设计的 AI 驱动的入侵检测系统。
该项目持续监控通过 MQTT 发布的环境传感器数据,将其存储在 SQLite 中,结合基于规则的检测和 Isolation Forest 机器学习模型来检测可疑活动,并在现代化的 Flask 仪表板上将所有内容可视化。
该项目展示了以下技术的整合:
- 物联网
- 网络安全
- 机器学习
- 实时监控
- Docker 容器化
# 🚀 功能
### 🔹 IoT 模拟
- 多个智能家居房间
- 实时 MQTT 通信
- 模拟传感器读数
- 环境事件生成
### 🔹 基于规则的 IDS
检测:
- 🔥 火灾风险
- 💧 漏水
- 🌡 高温
- 💨 高湿度
- 🍳 烹饪活动
- 热浪状况
### 🔹 AI 入侵检测
Isolation Forest 机器学习模型
预测:
- 正常行为
- 可疑行为(异常)
同时提供:
- 风险等级
- 异常分数
- AI 解释
### 🔹 仪表板
使用 Flask 构建的实时监控仪表板
显示:
- 在线设备
- 传感器读数
- 威胁分数
- AI 状态
- 房间监控
- 实时温度
- 实时湿度
- 最近警报
- 最新 AI 预测
### 🔹 数据库日志记录
存储:
- 传感器数据
- IDS 警报
- AI 预测
使用 SQLite。
### 🔹 Docker 支持
使用以下工具进行容器化:
- Docker
- Docker Compose
- Eclipse Mosquitto MQTT Broker
# 🏗️ 项目架构
```
+----------------------+
| IoT Sensor Nodes |
+----------+-----------+
|
|
MQTT Publish
|
v
+-----------------------+
| Eclipse Mosquitto |
| MQTT Broker |
+-----------+-----------+
|
MQTT Subscribe
|
v
+----------------------+
| Subscriber |
| Rule-Based IDS |
| AI Detection |
+-----------+----------+
|
+---------------+---------------+
| |
v v
SQLite Database AI Isolation Forest
| |
+---------------+---------------+
|
v
Flask Web Dashboard
```
# 🧠 机器学习
使用的算法:
**Isolation Forest**
目的:
- 学习正常的环境行为
- 检测异常的传感器读数
- 分配异常分数
- 生成基于 AI 的警报
使用的特征:
- 温度
- 湿度
输出:
- 预测
- 风险等级
- 分数
- 解释
# 📂 项目结构
```
CyberSecure-IoT-IDS
│
├── ai
│ ├── data
│ ├── models
│ ├── ai_detector.py
│ ├── dataset_generator.py
│ └── train_model.py
│
├── backend
│ ├── app.py
│ ├── subscriber.py
│ ├── publisher.py
│ ├── ids_engine.py
│ └── view_ai_results.py
│
├── database
│ ├── ids.db
│ └── schema.sql
│
├── docker
│ └── mosquitto.conf
│
├── Dockerfile
├── docker-compose.yml
├── requirements.txt
└── README.md
```
# ⚙️ 使用的技术
| 类别 | 技术 |
|----------|--------------|
| 编程语言 | Python |
| 框架 | Flask |
| 数据库 | SQLite |
| AI | Scikit-learn (Isolation Forest) |
| 消息传输 | MQTT |
| Broker | Eclipse Mosquitto |
| 前端 | HTML, CSS, JavaScript |
| 图表 | Chart.js |
| 容器化 | Docker, Docker Compose |
# 🐳 Docker 部署
构建并启动项目:
```
docker compose up --build
```
在后台运行:
```
docker compose up -d
```
停止容器:
```
docker compose down
```
# ▶️ 本地安装
克隆仓库
```
git clone https://github.com/2121-shivi/CyberSecure-IoT-IDS.git
```
打开项目
```
cd CyberSecure-IoT-IDS
```
安装依赖
```
pip install -r requirements.txt
```
运行 Flask 仪表板
```
python backend/app.py
```
运行 MQTT 订阅器
```
python backend/subscriber.py
```
运行 MQTT 发布器
```
python backend/publisher.py
```
打开浏览器
```
http://127.0.0.1:5000
```
# 📊 仪表板
仪表板提供:
- 实时房间监控
- AI 预测
- 威胁分数
- 设备状态
- 警报日志
- 温度趋势
- 湿度趋势
- 最近的传感器活动
# 🎯 未来改进
- ESP32 硬件集成
- 基于摄像头的入侵检测
- 电子邮件通知
- 短信警报
- 移动应用程序
- 用户身份验证
- 云部署
- 具备房间感知能力的 AI 模型
- 实时设备注册
# 📚 学习成果
该项目展示了以下内容的实际应用:
- IoT 通信
- MQTT 协议
- 网络安全概念
- 基于规则的入侵检测
- 机器学习
- Flask Web 开发
- SQLite 数据库管理
- Docker 容器化
- Python 后端开发
# 👨💻 开发者
**Shivani Sharma**
计算机科学与工程 B.Tech
Amity University Noida
GitHub:
https://github.com/2121-shivi
标签:Apex, Docker, Flask, 入侵检测系统, 多模态安全, 安全数据湖, 安全防御评估, 数据可视化, 智能家居, 机器学习, 版权保护, 物联网, 请求拦截, 逆向工具