基于深度学习的流量检测和响应系统

📋 项目概述

系统是一个端到端的SOAR(安全编排、自动化与响应)平台,核心采用扩散概率模型作为检测引擎,结合事件驱动微服务架构和可视化工具。整体分为五层结构,包括流量采集与预处理、深度异常检测引擎、SOAR核心控制层、溯源分析与攻击链重建层,以及响应剧本与配置管理。通过Kafka事件总线串联各模块,实现松耦合和高扩展性。

🎯 项目背景

在网络安全领域,随着威胁的复杂化,我们开发了一个创新的基于扩散模型的网络安全自动化响应系统。该系统聚焦于精准检测、快速响应和可解释溯源,构建从流量采集到自动处置的闭环防护链,帮助企业提升防御效率。

🏗️ 系统架构

整体架构

系统围绕”检测、分类、响应、溯源”四大目标,构建了一个事件驱动的微服务架构:采集—解析—推理—响应。核心检测器基于改进的扩散模型(DDPM/DDIM),结合多分类输出结构和时间嵌入(如TimesNet/SCConv),对长短期流量序列进行精细化编码。在训练阶段,仅需标签监督,不依赖异常样本的规则建模。检测结果触发YAML剧本响应,如自动封禁IP或隔离主机,并通过攻击链可视化提升可解释性。平均威胁响应时间(MTTR)压缩至3-4秒。

系统架构图

实现原理

扩散模型基本原理

扩散模型通过正向过程逐步添加高斯噪声,使数据趋于纯噪声分布;逆向过程则训练模型去噪重建原始数据。在本系统中,我们将其应用于结构化网络流量:以会话级样本为基础,正向添加噪声,逆向预测噪声成分。同时嵌入分类分支,实现重建与判别的双重目标。

模型结构设计与模块划分

采用带分类器头的UNet-DDPM架构:

  • 特征编码器:处理80+维流量特征(如包间隔、协议类型)。
  • U-Net主干:多尺度残差块、自注意力机制,执行噪声预测。
  • 分类器头:输出九类概率向量(正常+八种攻击)。
  • 时间嵌入:引导不同扩散阶段的学习。
  • 额外模块:DropPath和Attention,提升深度和跨维度关联。

模型结构图

训练策略与损失函数构建

联合优化重建损失(MSE,衡量噪声预测误差)和分类损失(交叉熵)。整体损失为加权组合:L = λ1 * L_recon + λ2 * L_class。适当提高分类权重,提升小类攻击识别。使用SMOTE过采样缓解不平衡,训练在CICIDS2017数据集上进行,AUC从0.65逐步升至0.95,Loss稳定下降。

训练曲线

推理机制与多分类判决

新流量进入后:提取特征向量→执行扩散重建→输出标签、置信度和特征重要性。若为攻击,则触发响应。DDIM加速确保实时性,单GPU吞吐达8000 Flow/s。

软件流程与系统逻辑

整体软件工作流程

  1. 数据接入:实时抓包或导入数据集,写入Kafka pcap_topic。
  2. 预处理:CICFlowMeter解析80+特征,发布至flow_topic。
  3. 模型推理:订阅flow_topic,调用UNetFC-DDPM,输出写入alert_topic。
  4. 分类与记录:保存标签、置信度、Grad-CAM/Shap值特征重要性。
  5. 安全联动:匹配YAML剧本,执行防火墙/EDR动作,支持回滚。
  6. 可视化:WebSocket实时刷新告警、攻击链图和报告。

异步多线程执行机制

采用线程池:采集线程存入队列,处理线程标准化,推理线程批量处理,响应线程下发命令,前端线程更新界面。确保高并发和稳定性。

系统功能设计

  • 态势感知:仪表盘显示安全评分、资源监控和流量趋势。

    态势感知仪表盘

  • 告警管理:展示攻击类型、风险等级,支持状态分类和筛选。

    告警管理界面

  • 自动响应:内置剧本库,支持自定义规则和多级告警。

    自动响应配置

  • 可视化分析:攻击链图、时间线、Shapley值解释。

    可视化分析

    实时检测:对主机流量进行实时检测,发现威胁。

![实时检测](/img/屏幕截图 2025-07-02 110747-1758258802844-1.png)

  • 日志审计:记录操作日志,支持查询和导出。

    日志审计

  • 模型管理:参数配置、版本切换和状态监控。

  • 后端推理:高并发处理,支持每日数十万条连接。

性能指标与评估

在CICIDS2017数据集上,九类性能如下:

类别 精确率 召回率 F1分数 准确率
Benign 0.981 0.964 0.980 0.972
DDoS 0.980 0.952 0.979 0.966
DoS 0.959 0.934 0.957 0.946
PortScan 0.963 0.934 0.961 0.948
Bot 0.951 0.924 0.949 0.938
Brute Force 0.939 0.925 0.938 0.932
Web 0.925 0.904 0.923 0.914
Heartbleed 0.910 0.900 0.909 0.905
Infiltration 0.914 0.901 0.913 0.908

平均F1=0.948。推理延时2.8ms,吞吐4万条/秒。与CNN-1D对比,F1提升2.6%,准确率提升2.5%。

创新说明

本系统在多个方面实现了技术突破:

  1. 扩散模型在流量检测的首创应用:传统模型对小样本攻击(如Heartbleed,原始仅11条)识别差。我们通过噪声引导和去噪过程,提升稀有类别学习,F1>0.90,优于CNN和Tree-based方法。
  2. 噪声增强数据管道:设计可控噪声注入生成”伪异常”样本,结合多任务损失,提升边界样本鲁棒性。小类召回率提升6.4%。
  3. 训练-测试一体化可视化:集成Loss/AUC曲线、ROC/PR图、混淆矩阵,支持实时调优。
  4. 多模型对比框架:横向评估CNN-1D、LSTM、Random Forest、XGBoost,验证扩散模型优势(Precision 0.953 vs. CNN的0.927)。
  5. SOAR与微服务深度融合:Kafka驱动检测到处置闭环,解决”垃圾进垃圾出”问题。MTTR缩短至3-4秒,支持插件化扩展。

这些创新不仅提升了检测精度和响应效率,还增强了系统的可解释性和实用性,为网络安全提供了新范式。

💡 总结与心得

这个项目前前后后花了两个月的时间,从算法设计到模型训练,再到最后的前后端设计都依赖ai编程,但同时对深度学习项目有了一个全新的理解,希望下次在有算法支撑或者理论基础的情况下开发一个更实用的系统。