Likhith5925/CodeAlpha_NetworkIDS

GitHub: Likhith5925/CodeAlpha_NetworkIDS

基于双阶段机器学习架构的企业级网络入侵检测系统,通过实时流量嗅探与 ML 模型推理识别并分类各类网络攻击。

Stars: 0 | Forks: 0

🛡️ 基于 AI 的网络入侵检测系统 (NIDS) 这是一款企业级、基于机器学习的入侵检测系统,专为持续、实时的网络流量异常检测而设计。该系统专为 Kali Linux/Debian 环境构建,采用双阶段 ML 架构来识别零日漏洞、DDoS 攻击、端口扫描和渗透尝试。 🌟 核心功能 持续后台监控:作为 systemd 后台守护进程静默运行,从开机到关机全程捕获并分析流量,无需打开活动的终端窗口。 双阶段 ML 架构: * 阶段 1 (The Sentinel):具有高召回率的二元分类器 (Random Forest),可瞬间区分正常和恶意流量。 阶段 2 (The Categorizer):具有高精度的多分类器 (XGBoost/RF),用于对具体的攻击向量进行分类。 线速特征提取:利用 Scapy 拦截实时数据包,并实时提取 78 个统计网络流特征。 可操作情报 (XAI):自动将检测到的统计异常映射到现实世界的缓解策略中(例如,防火墙配置)。 交互式威胁仪表板:一个安全且采用深色主题的 Streamlit Web 控制台,提供实时流量可视化、攻击时间线和威胁分布分析。 🏗️ 系统架构 本项目采用客户端-服务器模型设计,以实现企业级的可扩展性: 守护进程 (continuous_sniffer.py):在后台无限运行,嗅探数据包,通过 .pkl ML 模型对其进行处理,并将安全事件写入本地 SQLite 数据库。 仪表板 (IDS.py):轻量级、只读的 Streamlit Web 界面,通过查询数据库来显示分析和实时警报。 📂 项目结构 AI-NIDS/ ├── models/ # 预训练的 ML 工件 (Joblib) │ ├── best_binary_model.pkl │ ├── best_multiclass_model.pkl │ ├── scaler.pkl │ ├── le_multi.pkl │ └── features.pkl ├── continuous_sniffer.py # 后台守护进程脚本 ├── sniffer.py # Scapy 实时捕获实用工具模块 ├── IDS.py # Streamlit 交互式仪表板 ├── requirements.txt # Python 依赖项 └── README.md # 项目文档 🚀 安装与配置指南 1. 前置条件 本系统针对 Kali Linux 或基于 Debian 的发行版进行了优化。请确保您已安装 Python 3。 # 安装所需的 Python 库 pip install -r requirements.txt 2. 配置后台守护进程 (Systemd) 为了确保 NIDS 从计算机开机的那一刻起就自动运行: 创建一个服务文件: sudo nano /etc/systemd/system/ai-ids.service 粘贴以下配置(请确保将 WorkingDirectory 更新为您的实际路径): [Unit] Description=AI Intrusion Detection Background Daemon After=network.target [Service] Type=simple User=root WorkingDirectory=/path/to/your/AI-NIDS ExecStart=/usr/bin/python3 continuous_sniffer.py Restart=always RestartSec=10 [Install] WantedBy=multi-user.target 启用并启动服务: sudo systemctl daemon-reload sudo systemctl enable ai-ids.service sudo systemctl start ai-ids.service 3. 启动控制面板 在守护进程于后台积极监控网络的同时,您可以启动安全的 UI 来查看实时威胁: streamlit run IDS.py 在浏览器中访问 http://localhost:8501。 注册一个新的管理员账户并登录。 查看实时的攻击指标、可视化图表和可操作的缓解步骤。 📊 数据集与模型训练 为该系统提供动力的模型是在综合性的 CICIDS 2017 数据集上训练的。在训练期间使用了合成少数类过采样技术 (SMOTE),以确保对诸如渗透和 Heartbleed 等罕见攻击类别具有高敏感度,并保持 98.4% 的整体基准准确率。 由 Nara Likhith 开发
标签:Kubernetes, 逆向工具