2121-shivi/CyberSecure-IoT-IDS

GitHub: 2121-shivi/CyberSecure-IoT-IDS

一个基于 MQTT 与 Isolation Forest 的智能家居 IoT 入侵检测系统,通过实时监控传感器数据并结合规则与 AI 模型检测环境异常。

Stars: 0 | Forks: 0

# 🛡️ CyberSecure 智能家居 IDS ![Python](https://img.shields.io/badge/Python-3.12+-blue?style=for-the-badge&logo=python) ![Flask](https://img.shields.io/badge/Flask-Web%20Framework-black?style=for-the-badge&logo=flask) ![MQTT](https://img.shields.io/badge/MQTT-IoT-purple?style=for-the-badge) ![Docker](https://img.shields.io/badge/Docker-Containerized-blue?style=for-the-badge&logo=docker) ![SQLite](https://img.shields.io/badge/SQLite-Database-003B57?style=for-the-badge&logo=sqlite) ![Machine Learning](https://img.shields.io/badge/AI-Isolation%20Forest-green?style=for-the-badge) # 📖 概述 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, 入侵检测系统, 多模态安全, 安全数据湖, 安全防御评估, 数据可视化, 智能家居, 机器学习, 版权保护, 物联网, 请求拦截, 逆向工具