Anilkumar64/-PS-06-Intelligent-Intrusion-Detection-System-

GitHub: Anilkumar64/-PS-06-Intelligent-Intrusion-Detection-System-

这是一个结合规则引擎与机器学习模型的实时混合入侵检测系统,利用C++高性能流处理网络流量以识别端口扫描、DoS及未知异常威胁。

Stars: 0 | Forks: 0

# 🛡️ 智能入侵检测系统 (PS-06) ## 📌 概述 **智能入侵检测系统 (IDS)** 旨在通过提供**实时、自适应且高性能的网络监控解决方案**,来应对日益复杂和规模化的现代网络威胁。 传统的 IDS 解决方案严重依赖静态特征,这使其对**零日攻击和不断演变的威胁模式**无效。本项目提出了一种**混合检测系统**,该系统结合了: * ⚡ 基于规则的检测(快速、确定性) * 🧠 基于机器学习的异常检测(自适应、智能) 该系统专注于**实时数据包分析**,能够在可疑活动升级为全面攻击之前实现早期检测。 ## 🧠 系统方法 (思维模型) 整个系统被设计为一个**实时数据包处理流水线**: ``` [Internet Traffic] ↓ [NIC (Network Interface Card)] ↓ [Kernel Network Stack → sk_buff] ↓ [Packet Capture (libpcap)] ↓ [Feature Extraction Engine] ↓ [Detection Engine (Rules + AI)] ↓ [Decision Engine] ↓ [Alerting & Logging System] ``` 👉 核心理念: **我们不存储数据包——我们将它们作为连续流进行处理。** ## ⚙️ 工作原理 ### 1. 数据包接入 * 传入的数据包到达 **NIC**(网卡) * Linux 内核处理它们,并将每个数据包表示为一个 **`sk_buff` 结构体** * IDS 使用 **libpcap** 接入此流程,而无需修改内核行为 ### 2. 数据包捕获 * 使用 `libpcap`,系统实时**捕获实时网络数据包** * 捕获的数据包括: * 源 IP * 目的 IP * 端口号 * 协议 (TCP/UDP/ICMP) * 数据包大小 * 时间戳 ### 3. 特征提取 原始数据包数据被转换为结构化特征: ``` { "src_ip": "192.168.1.10", "dst_ip": "8.8.8.8", "port": 443, "protocol": "TCP", "packet_rate": 120 } ``` 这些特征代表了**行为模式**,而不仅仅是原始数据。 ### 4. 检测引擎 #### 🔹 基于规则的检测 第一层检测已知的攻击模式: * 端口扫描(快速访问多个端口) * SYN flood 攻击(高 SYN 包速率) * 异常连接突发 👉 提供**即时且确定性的检测** #### 🔹 基于 AI 的异常检测 第二层使用无监督学习检测未知威胁: * 使用的模型: * Isolation Forest(孤立森林) * One-Class SVM(单类支持向量机) 👉 核心理念: * AI **不分析原始数据包** * 它分析**衍生出的行为特征** 模型输入示例: ``` [packet_rate, unique_ports, avg_packet_size, connection_count] ``` 该模型学习**正常的网络行为**,并将偏差标记为异常。 ### 5. 决策引擎 结合来自两个检测层的输出: ``` Rule Engine + AI Model → Final Classification ``` 分类: * ✅ 正常 * ⚠️ 可疑 * 🚨 攻击 ### 6. 告警与日志 检测到的威胁会被记录完整上下文: ``` [ALERT] IP: 192.168.1.5 Type: Port Scan Reason: Accessed 200 ports in 2 seconds ``` 系统提供: * 实时告警 * 攻击分类 * 详细推理 ## 🚀 主要特性 * ⚡ 实时数据包处理(无批处理延迟) * 🧠 混合检测(规则 + AI) * 📊 行为分析而非静态特征 * 🔍 可解释的告警(基于推理的检测) * 🧵 用于可扩展性的多线程处理 * 🧪 攻击模拟支持(例如,端口扫描、DoS) ## 🏗️ 技术栈 ### 核心系统 * C++20(高性能后端) * libpcap(数据包捕获) * 多线程(并行处理) ### 机器学习 * Python (scikit-learn) * Isolation Forest / One-Class SVM ### 可视化(可选) * CLI / Web 仪表板 (Flask / Node.js) ## 🧪 测试与模拟 系统支持模拟攻击场景: * 端口扫描 (`nmap`) * SYN flood / DoS 模拟 * 异常流量生成 性能指标: * 检测延迟 * 吞吐量(数据包/秒) * 异常检测准确度 ## 💣 核心洞察 ## ⚠️ 设计原则 * 不依赖存储的数据集 * 无集中式数据包存储 * 基于流的处理架构 * 专注于低延迟和实时响应 ## 🔮 未来增强 * 跨多个节点的分布式 IDS * 与防火墙集成以实现自动阻断 * 深度包检测 (DPI) * 在线学习模型 * 基于云的监控仪表板 ## 🧩 结论 通过将**高效的系统编程 (C++)** 与**智能异常检测**相结合,本项目交付了一个可扩展且自适应的 IDS,能够实时检测已知和未知的网络威胁。 它展示了以下方面的强大集成: * 系统级网络 * 实时数据处理 * 应用机器学习 # 工作流程 部门 1 — Kernel bashcd kernel_module/ make # build .ko sudo make load # insmod sudo make unload # rmmod 部门 2 — Backend + GUI bashcd core/ mkdir build && cd build cmake .. && make -j$(nproc) sudo ./IDS_System 部门 3 — ML bashcd ml/ python3 preprocess.py --input ../MachineLearningCVE --output . python3 train_model.py --data . --output . # 模型保留在此处,core/ 二进制文件在运行时读取它们
标签:Bash脚本, C++, DNS枚举, DoS防御, IP 地址批量处理, sk_buff, 低延迟, 基于规则, 威胁情报, 密钥泄露防护, 开发者工具, 异常检测, 恶意活动检测, 插件系统, 数据擦除, 机器学习安全, 混合检测, 特征提取, 端口扫描检测, 网络基础设施, 网络安全, 网络安全工具, 网络流量分析, 逆向工具, 配置错误, 隐私保护, 零日攻击防御, 高性能计算