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绕过, 网络安全, 网络安全工具, 网络防御系统, 自动化响应, 自适应防火墙, 逆向工具, 配置错误, 随机森林, 随机森林分类器, 隐私保护