YasodGinige/TrafficGPT

GitHub: YasodGinige/TrafficGPT

提出一种基于LLM的开放集加密流量分类方法,利用GPT-2增强特征提取以提升未知场景下的分类性能。

Stars: 60 | Forks: 10

## TrafficGPT: 一种基于 LLM 的开放集加密流量分类方法 ![](https://img.shields.io/badge/license-MIT-000000.svg) [![arXiv](https://img.shields.io/badge/arXiv-1909.05658-.svg)]() **更新** - 我们扩展了我们的工作,包括在框架和实验中分析性能提升的 LLaMA 模型。 - 新论文已被 Elsevier Computer Networks 期刊接收,可在此处找到:[这里](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=5074974)。 - 扩展代码可在此处找到:[这里](https://github.com/YasodGinige/TrafficLLM)。 **注意:**
overall architecure
在本仓库中,我们指导您在本地环境中设置 TrafficGPT 项目并复现结果。TrafficGPT 是一种新颖的流量分析攻击,它利用流行的 LLM——GPT-2 来增强特征提取,从而提升 开放集下游分类的性能。我们使用五个现有的加密流量数据集来展示 GPT-2 特征提取如何提升流量 分析攻击在开放集上的性能。作为开放集分类方法,我们使用了 K-LND、OpenMax 和 Backgroundclass 方法,并表明 K-LND 方法整体上具有更高的性能。 **数据集:** [AWF](https://arxiv.org/abs/1708.06376)、[DF](https://arxiv.org/abs/1801.02265)、[DC](https://www.semanticscholar.org/paper/Deep-Content%3A-Unveiling-Video-Streaming-Content-Li-Huang/f9feff95bc1d68674d5db426053f417bd2c8786b)、[USTC](https://drive.google.com/file/d/1F09zxln9iFg2HWoqc6m4LKFhYK7cDQv_/view)、[CSTNet-tls](https://drive.google.com/drive/folders/1JSsYmevkxQFanoKOi_i1ooA6pH3s9sDr) **开放集方法** - [K-LND 方法](https://github.com/ThiliniDahanayaka/Open-Set-Traffic-Classification) - OpenMax - Background class # 使用 TrafficGPT 首先,克隆 Git 仓库并安装依赖项。 ``` git clone https://github.com/YasodGinige/TrafficGPT.git cd TrafficGPT pip install -r requirements.txt ``` 接下来,下载数据集并将其放置在 data 目录中。 ``` gdown https://drive.google.com/uc?id=1-MVfxyHdQeUguBmYrIIw1jhMVSqxXQgO unzip data.zip ``` 然后,预处理您想要训练和评估的数据集。可用的数据集名称包括:DF、AWF、DC、USTC 或 CSTNet。 ``` python3 data_preprocess.py --data_path ./data --dataset ``` 要训练模型,请为相应数据集运行合适的代码: ``` python3 train.py --max_len 1024 --batch_size 12 --epochs 3 --num_labels 60 --dataset DF python3 train.py --max_len 1024 --batch_size 12 --epochs 3 --num_labels 200 --dataset AWF python3 train.py --max_len 1024 --batch_size 12 --epochs 3 --num_labels 4 --dataset DC python3 train.py --max_len 1024 --batch_size 12 --epochs 3 --num_labels 12 --dataset USTC python3 train.py --max_len 1024 --batch_size 12 --epochs 3 --num_labels 75 --dataset CSTNet ``` 要进行评估,请为相应数据集运行合适的代码: ``` python3 evaluate.py --max_len 1024 --batch_size 12 --epochs 3 --num_labels 60 --K_number 30 --TH_value 0.8 --dataset DF python3 evaluate.py --max_len 1024 --batch_size 12 --epochs 3 --num_labels 200 --K_number 50 --TH_value 0.9 --dataset AWF python3 evaluate.py --max_len 1024 --batch_size 12 --epochs 3 --num_labels 4 --K_number 4 --TH_value 0.9 --dataset DC python3 evaluate.py --max_len 1024 --batch_size 12 --epochs 3 --num_labels 12 --K_number 5 --TH_value 0.8 --dataset USTC python3 evaluate.py --max_len 1024 --batch_size 12 --epochs 5 --num_labels 75 --K_number 20 --TH_value 0.8 --dataset CSTNe ``` # 引用 如果您在本工作中使用了本研究,请引用我们的 [论文](https://dl.acm.org/doi/abs/10.1145/3674213.3674217)。 ``` @inproceedings{ginige2024trafficgpt, title={TrafficGPT: An LLM Approach for Open-Set Encrypted Traffic Classification}, author={Ginige, Yasod and Dahanayaka, Thilini and Seneviratne, Suranga}, booktitle={Proceedings of the Asian Internet Engineering Conference 2024}, pages={26--35}, year={2024} } ```
标签:arXiv论文, C2, Caido项目解析, DLL 劫持, DNS解析, GPT-2, LLM, SSL/TLS 流量, TrafficGPT, Unmanaged PE, 凭据扫描, 加密流量分类, 大语言模型, 开放集分类, 开源项目, 恶意流量检测, 深度学习, 特征提取, 网络安全, 计算机网络, 逆向工具, 隐私保护