Parikshithurs/Two-layer-Intrusion-Detection-System-For-Smartfarm

GitHub: Parikshithurs/Two-layer-Intrusion-Detection-System-For-Smartfarm

该系统针对智慧农业 IoT 环境,结合网络层规则检测与传感器数据机器学习异常检测,同时识别外部网络攻击和内部行为威胁。

Stars: 0 | Forks: 0

🌾 智慧农场入侵检测系统 (SmartFarm-IDS) ## 🔐 概述 SmartFarm-IDS 是一个专为**智慧农业和基于 IoT 的农业环境**设计的**混合入侵检测系统 (IDS)**。 它结合了**网络层攻击检测(Layer 1)**和**针对传感器数据的行为异常检测(Layer 2)**,以提供全面的安全防护。 该系统能够检测**外部网络攻击**(如端口扫描和 DoS 攻击),以及由传感器故障或内部威胁引起的**内部异常**。 ## 🧠 系统架构 ### 🔹 Layer 1:基于网络的 IDS 监控实时网络流量并检测外部攻击。 **检测到的攻击:** - 端口扫描(SYN 扫描行为) - 拒绝服务攻击 - 黑名单 IP 访问 - 可疑的 ICMP 活动 **使用的技术:** - Scapy(数据包嗅探) - 基于规则的检测 - SQLite 数据库 - Windows 防火墙(可选的自动拦截) - Kali Linux(攻击模拟) ### 🔹 Layer 2:行为 IDS 使用机器学习分析传感器遥测数据。 **检测到的异常:** - 传感器数值突然飙升 - 逐渐漂移 - 传感器卡死 - 异常频率模式 - 内部威胁 **机器学习模型:** - Isolation Forest(无监督异常检测) **模拟的传感器:** - 温度 - 湿度 - 土壤湿度 - 光照 - pH - CO₂ ## 📂 项目结构 ``` smartfarm-ids/ ├── src/ │ ├── netids/ # Layer 1 Network IDS │ ├── behavioral/ # Layer 2 Behavioral IDS │ ├── dashboard/ # Web Dashboard │ └── run_ids.py # Auto IDS runner │ ├── telemetry.db # Sensor data ├── smartfarm_ids.db # Alerts DB ├── data/ # PCAP files ├── venv/ # Virtual environment └── README.md ``` ## 🛠️ 技术与工具 | 类别 | 工具 | |------|------| | 编程语言 | Python | | 网络抓包 | Scapy | | 机器学习 | Scikit-learn | | 数据处理 | NumPy, Pandas | | 模型持久化 | Joblib | | 数据库 | SQLite | | 仪表板 | Flask, Flask-SocketIO | | 系统监控 | Psutil | | 攻击者操作系统 | Kali Linux | | 宿主操作系统 | Windows | ## 🚀 安装与设置 ### 1️⃣ 创建虚拟环境 python -m venv venv 2️⃣ 激活环境 venv\Scripts\Activate 3️⃣ 安装依赖项 pip install scapy flask flask-socketio sqlalchemy pandas scikit-learn joblib psutil ▶️ 系统运行方式 🔹 运行 Layer 1(网络 IDS) python src/run_ids.py 自动选择活动的 Wi-Fi 接口并开始实时数据包捕获。 🔹 运行传感器模拟器 python src/behavioral/sensor_simulator.py 生成带有随机异常的真实农场传感器数据。 🔹 训练行为模型 python src/behavioral/build_features_iforest.py python src/behavioral/train_iforest.py 🔹 运行 Layer 2(行为 IDS) python -m behavioral.realtime_behavioral_ids 🔹 运行仪表板 python -m src.dashboard.app 打开浏览器: http://localhost:5000 🧪 Kali Linux 测试 在 Virtual Box 中运行 Kali Linux 从 Kali 端: 运行 attack.py,填写源 IP(Virtual Box 中的 Kali Linux)和目标 IP(Windows 宿主机) 警报将出现在: 终端 数据库 仪表板 📊 输出 实时攻击警报 统一的警报数据库 实时仪表板可视化
标签:Apex, Python, 入侵检测系统, 安全数据湖, 异常检测, 插件系统, 无后门, 智慧农业, 机器学习, 物联网安全, 网络流量分析, 逆向工具, 防御绕过