itsSachinNR/AI-Based_DDoS_Detection_Adaptive_Firewall

GitHub: itsSachinNR/AI-Based_DDoS_Detection_Adaptive_Firewall

基于 Random Forest 的实时 DDoS 检测系统,通过流量分析与 iptables 联动实现攻击自动阻断与可视化监控。

Stars: 1 | Forks: 0

# 🛡️ 基于 AI 的 DDoS 检测与自适应防火墙系统 ## 🚀 概述 本项目是一个**实时 AI 驱动的网络安全系统**,旨在检测并缓解分布式拒绝服务 攻击。 它将**网络流量监控、基于机器学习的异常检测、自动化防火墙响应以及实时可视化仪表板**集成到一个统一的系统中。 ## 🎯 问题陈述 传统的 DDoS 检测系统依赖于**静态阈值和延迟分析**,这使得它们在面对现代、动态和自动化攻击时无效。 迫切需要: - ⚡ 实时检测 - 🧠 智能异常识别 - 🔥 自动响应机制 ## 💡 提出的解决方案 我们的系统提供了一个**端到端 pipeline**,能够: - 捕获实时流量(网络 + Web) - 提取行为流量特征 - 使用 Machine Learning 检测异常 - 识别攻击者 IP - 使用防火墙规则自动拦截恶意流量 - 通过实时仪表板可视化所有活动 ## 🏗️ 系统架构 ``` Network / Web Traffic ↓ Packet Capture Module (Scapy / Flask) ↓ Feature Extraction Engine ↓ Machine Learning Detection Model (Random Forest) ↓ Threat Classification Engine ↓ Adaptive Firewall (iptables) ↓ Real-Time Monitoring Dashboard ``` ## ⚙️ 关键功能 ### 🔍 实时流量监控 - 捕获实时网络数据包和 HTTP 请求 - 跟踪请求速率、IP 分布和流量模式 ### 🧠 基于 AI 的 DDoS 检测 - 使用 **Random Forest Classifier** - 根据流量行为检测异常 - 为预测提供 **置信度分数** ### 🔥 自适应防火墙响应 - 使用 `iptables` 自动拦截攻击者 IP - 实时阻止后续的恶意请求 ### 📊 交互式仪表板 - 实时流量可视化 (Chart.js 图表) - 实时攻击状态 (正常 / DDoS) - 头号攻击者识别 - 基于置信度的警报 ### 📜 攻击日志系统 - 记录攻击事件,包括: - 时间戳 - 攻击者 IP - 数据包速率 - 置信度分数 - 采取的措施 (已拦截 / 已检测) ## 🛠️ 技术栈 ### 后端 - Python - Flask ### 机器学习 - Scikit-learn (Random Forest) ### 网络 - Scapy (数据包捕获与分析) ### 前端 - HTML, CSS, JavaScript - Chart.js (实时可视化) ### 安全 - Linux iptables (防火墙自动化) ## 📂 项目结构 ``` ddos_project/ │ ├── src/ │ ├── packet_capture.py # Packet capture module │ ├── feature_extraction.py # Feature engineering │ ├── ddos_detector.py # ML detection engine │ ├── firewall_blocker.py # Firewall automation │ ├── website/ │ ├── app.py # Flask backend │ ├── templates/ # HTML dashboard │ └── static/ # CSS & assets │ ├── data/ ├── docs/ ├── README.md ├── requirements.txt └── venv/ ``` ## ⚡ 工作原理 1. 从网络接口或 Web 请求中捕获流量 2. 提取关键特征: - 数据包速率 - SYN 比率 - UDP 比率 - 唯一 IP 数量 3. ML 模型对流量进行分类: - 正常流量 - DDoS 攻击 4. 如果检测到攻击: - 识别攻击者 IP - 防火墙拦截该 IP 5. 仪表板实时更新 ## 🧪 运行项目 ### 1️⃣ 激活虚拟环境 ``` cd ddos_project source venv/bin/activate ``` ### 2️⃣ 安装依赖 ``` pip install -r requirements.txt ``` ### 3️⃣ 运行网站仪表板 ``` python website/app.py ``` ### 4️⃣ 打开仪表板 ``` http://127.0.0.1:5000/dashboard ``` ### 📊 演示亮点 - 🟢 正常流量监控 - 🔴 实时 DDoS 检测 - 📈 实时数据包速率图表 - 🚨 带时间戳的攻击日志 - 🔥 自动拦截攻击者 IP ### 🔮 未来增强 - 深度学习模型 (LSTM / Autoencoders) - 分布式 DDoS 检测系统 - 云部署 (AWS / Azure) - 自适应阈值学习 - 与 SIEM 工具集成 ### 🧠 核心创新 将基于 AI 的检测、实时监控和自动防御结合到一个智能网络安全系统中。 ### ⚠️ 免责声明 本项目仅用于教育和研究目的。 请勿在未经授权的情况下部署或测试网络。 ### 👨‍💻 作者 Sachin NR
标签:Apex, Chart.js, DDoS检测, DNS枚举, Flask, iptables, IP封锁, Linux运维, Scapy, 人工智能, 入侵防御, 多模态安全, 威胁情报, 开发者工具, 异常检测, 数据可视化, 机器学习, 用户模式Hook绕过, 网络安全, 网络安全工具, 网络防御系统, 自动化响应, 自适应防火墙, 逆向工具, 配置错误, 随机森林, 随机森林分类器, 隐私保护