基于深度学习的网络入侵检测系统(NIDS)产品系统Vibe Coding

我要开发同款
proginn21552423162026年06月16日
9阅读

技术信息

语言技术
PythonHTML5JavaScript
系统类型
算法模型
行业分类
机器深度学习网络安全

作品详情

行业场景

立项原因
网络入侵检测是网络安全的基础防线。传统方法依赖规则匹配(Snort/Suricata),无法检测未知攻击变种和零日漏洞。学术界大量研究将深度学习引入 NIDS,但存在一个普遍问题:实验只在数据子集上跑,结果可能受随机波动主导,缺乏工程可复现性。

本项目从这一缺口出发,在全量 CIC-IDS-2017 数据集(219 万条记录)上系统对比深度学习模型的真实表现。
业务背景
- 行业:网络安全 / 入侵检测 / 安全运维(SOC)
- 痛点:企业安全团队每天面对海量告警,误报率高、未知攻击漏检率高。深度学习 NIDS 可以替代部分规则引擎,降低人工研判成本
- 应用场景:旁路流量分析 → 五分类检测(Normal / DoS / DDoS / Bot / Web Attack)→ 基于分类结果触发告警或阻断策略

旨在解决的产品问题
1. 特征层面:CICFlowMeter 提取的 77 维流级统计特征到底能区分多少攻击类型?哪些类别靠统计特征根本检不出来?
2. 模型层面:CNN-1D 和 LSTM 在这个任务上差距多大?多花的参数量(12K vs 640K)换来了什么?
3. 工程层面:如何在 153 万训练样本下保证合理的训练时间和可复现的实验结论?

功能介绍

数据预处理模块 全量 8 个 CSV 文件合并 → 缺失值中位数填充(按类别分段)→ Z-score 标准化(fit on train)→ 7:3 分层划分;模型训练模块 PyTorch 从零搭建 CNN-1D 和 LSTM;两层评估模块第一层:Binary 检测(异常 vs 正常)— Precision / Recall / F1;第二层:五分类 — Macro F1 / Balanced Accuracy / Per-class P-R-F1;消融实验模块 增量式结构构建(单向→双向、单层→双层、无Dropout→有Dropout),3 随机种子均值 ± 标准差;可视化模块 训练/验证损失曲线、归一化混淆矩阵、t-SNE 五类分布、消融实验柱状图 + 折线图;超参数敏感性分析 学习率对数尺度搜索(0.0001 / 0.001 / 0.01 / 0.1)、批量大小对比、优化器对比

项目实现

1.我负责的项目:数据集选择:选定 CIC-IDS-20172. 全量数据预处理:8 个 CSV 合并(219 万条),缺失值分析 + 分段中位数填充 + Z-score 标准化 + 7:3 分层划分3. 模型设计与搭建:PyTorch 从零实现 CNN-1D和 LSTM;4. 训练 pipeline 开发:DataLoader 批量加载 + Adam 优化器 + 交叉熵损失 + 50 epoch 训练 + checkpoint 保存;5. 两层评估体系构建:Binary F1 + 五分类 Macro F1 + Balanced Accuracy + Per-class P/R/F16. 消融实验设计与执行:增量式结构构建(4 组变体 + 基线),3 随机种子(42/123/456)均值 ± 标准差;7. 超参数敏感性分析:学习率对数尺度搜索 + 批量大小对比 + 优化器对比 + 网络结构调整;8. 可视化:Matplotlib 绘制全部图表 2技术栈:pandas,pyTorch,sklearn, Matplotlib, CIC-IDS-2017 3技术难点:难点 1:219 万条数据的内存管理与训练效率全量数据加载到内存需要约 800MB,加上 DataLoader 的 batch 处理和多 worker 加载,在 16GB 内存机器上需要精细控制。解`batch_size=8192` 在GPU 显存允许范围内最大化,减少参数更新频次;DataLoader 使用 `pin_memory=True` 加速 CPU→GPU 传输。219 万条数据中,Bot 只有 1441 条,Web Attack 2143 条。常规训练时模型几乎看不到这两类,导致 F1=0。解决:采用加权损失函数增加少数类惩罚;同时分析 SMOTE 上采样在此数据下的非对称效应

示例图片

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论