# traffic-analyze **Repository Path**: ggforever/traffic-analyze ## Basic Information - **Project Name**: traffic-analyze - **Description**: 深度学习加密流量分析,包含数据分析,模型可解释性。 - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-15 - **Last Updated**: 2026-03-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # traffic-analyze #### 背景说明 电力网络安全风险持续上升,新一代智能电网中包含了多种加密协议(TLS,TOR,VPN,QUIC),使得流量类型分析变得越发困难(流量内容不可见、协议多样、攻击类型多样),传统基于数据包特征分析的方式难以对流量进行分类分析,进而可能导致网络威胁事件发生。同时,随着攻击者手段不断升级,恶意攻击行为的流量特征分布会逐渐趋向正常行为分布(概念漂移),使得恶意流量更难分辨。此外,现有加密流量分析模型大多为黑盒模型,模型缺乏可解释性。且现有可解释流量分析模型大多只注重分析特征的重要性,无法形成检测规则,难以和安全设备进行联动。 #### 技术难题 1. 现有加密流量分析模型往往着重关注流量数据本身的浅层特征,忽略同类型流量payload中隐含的同质信息特征,不能有效区分不同类型的流量。需设计流量数据多模态特征挖掘融合模型,以应对恶意加密流量入侵等问题。 2. 0-day攻击以及新颖的恶意流量往往能够绕过已有的流量分析模型,使模型的分类效果变差。传统流量生成模型仅对流量特征施加扰动,因此需要构建流量生成模型,能够在已有流量数据的基础上,生成协议合规、有效的对抗样本,并对模型微调,从而提升模型分析的鲁棒性,使模型能够应对0-day恶意行为。 3. 现有流量分析框架往往仅仅对特征重要性进行分析,不能够直观展示各个类别下每个参数的约束边界条件。需设计黑盒模型规则提取方法,形成规则集,便于直观解释,提升模型可解释性。 #### 项目介绍 1. 构建多模态嵌入式特征表征模型:针对网络数据包特性,设计了双分支特征提取架构,分别对统计特征与负载内容进行深度建模,生成高判别性的嵌入式表示。通过引入对比学习策略,实现跨模态特征表示的对齐与融合,增强模型Mc对多源信息协同感知的能力,提高流量分类的准确性于鲁棒性。 2. 设计基于镜像网络强化学习的流量生成方法:改进GAN模型,生成“接近正常边界的恶意样本”、“远离现有分布的恶意样本”、“维持决策边界的正常样本”。将已训练好的流量分类模型Mc作为判别器,生成模型$M_g$的输出作为动作,逐步提升生成流量的“良性伪装度”,最终实现对流量分类模型的规避。 3. 形成闭环:最后基于训练得出生成网络$M_g$,生成对抗样本,并更新$M_c$模型参数,提升流量分类模型的鲁棒性。 4. 设计基于树模型的规则抽取算法:通过将黑盒模型的输出分布映射为树结构表示,实现对复杂决策过程的符号化提取,显著提升模型的可解释性与可信度。 #### 数据集配置 本项目使用了以下数据集: 1. USTC数据集:[USTC-TFC2016](https://github.com/davidyslu/USTC-TFC2016) 2. ISCX-VPN-2016数据集:[ISCX-VPN-2016](https://www.unb.ca/cic/datasets/vpn.html) 3. ISCX-TOR-2016数据集:[ISCX-TOR-2016](https://www.unb.ca/cic/datasets/tor.html) 数据集下载后,需要将其放置在`./data/`目录下,按照数据集类型、二分类类型、多分类类型构建数据集文件结构,目录结构如下: ``` ├─data │ ├─ISCX-TOR-2016 │ │ ├─NonTOR │ │ │ ├─Audio │ │ │ ├─Browsing │ │ │ └─... │ │ └─TOR │ │ ├─Audio │ │ ├─Browsing │ │ └─... │ └─USTC-TFC2016 │ ├─Benign │ │ ├─BitTorrent │ │ ├─Facetime │ │ └─... │ └─Malware │ ├─Cridex │ ├─Geodo │ └─... ``` #### 安装教程 推荐采用[uv](https://github.com/astral-sh/uv)安装项目依赖 1. 安装uv:`pip install uv` 2. 安装项目依赖:`uv sync` 可以采用虚拟环境管理项目依赖,例如[venv](https://docs.python.org/3/library/venv.html)。 1. 创建虚拟环境:`python -m venv .venv` 2. 激活虚拟环境: - Windows:`.venv\Scripts\Activate.ps1` - macOS/Linux:`source .venv/bin/activate` 3. 安装项目依赖:`pip install -r requirements.txt` #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request