加密流量分类论文1:CENTIME:针对加密流量分类的直接综合流量特征提取

0.概述

解决的问题:卷积神经网络需要固定大小的输入;因此,原始的加密流量需要首先进行统一处理。这将导致信息丢失,特别是有关网络流量整体结构的信息。

解决的方法:基于ResNet和AutoEncoder提取全面的信息来识别加密流量。ResNet用于从统一化的流量中提取信息,AutoEncoder用于编码统计特征。统计特征用于弥补流量统一化造成的信息损失。

1.0 摘要

 随着网络的快速发展,加密流量分类在保障网络服务质量和确保网络安全方面发挥着至关重要的作用。最近的研究表明,基于统计特征和原始流量会话的机器学习方法对于这项任务是有效的。然而,基于统计的方法的性能很大程度上取决于特征的质量。专家们需要为不同的加密流量分类任务设计不同的特征,这是耗时的。与此同时,基于原始流量的方法需要统一流量大小;这将导致丢失有关网络流量整体结构的信息;例如,我们不知道会话中第一个数据包到最后一个数据包的时间。本文提出了CENTIME,它可以基于ResNet和AutoEncoder提取全面的信息来识别加密流量。ResNet用于从统一化的流量中提取信息,AutoEncoder用于编码统计特征。统计特征用于弥补流量统一化造成的信息损失。它们只需要设计一次,而不是为不同的任务分别设计。此外,汇聚层被移除,并且使用1D卷积层来帮助CENTIME更有效地利用原始流量信息。我们在公共数据集“ISCX VPN-nonVPN”上评估了CENTIME,结果表明CENTIME优于现有的加密流量分类方法。更重要的是,CENTIME生成的综合流量特征能够很好地代表不同类别的流量。

 2.0 引言

随着互联网的快速发展,来自不同应用程序的网络流量迅速增加。大量的流量使得网络运营商难以保证服务质量(QoS)[1]并确保互联网安全[2]。作为改善网络服务和确保网络安全的必要技术之一,流量分类近年来受到学术界和工业界的日益关注[3]。

识别流量的最快、最有效的方法是使用端口号[4]。一些知名的互联网服务使用固定的端口号,比如HTTP服务应用通常使用端口80,而FTP服务应用使用端口21。然而,随着越来越多的新应用避免使用标准注册的端口号,基于端口的方法的准确性有所下降[5]。分类流量的下一个技术依赖于有效载荷。这项技术也被称为深度数据包检查(DPI)[6],其重点是在流量数据包中查找特定字符串的模式。近年来,随着人们逐渐关注他们的隐私,越来越多的应用在传输任何数据时开始使用加密通信,这给上述两种传统流量分类方法带来了相当大的挑战。

为了解决这些挑战,研究人员采用了机器学习和深度学习方法来进行加密流量分类。根据不同的输入,这些研究可以分为两类:(1)基于统计特征的方法和(2)基于原始流量的方法。具体而言,基于统计的方法假设不同类型的流量具有独特的统计特征。Alshammari等人使用类似“数据包长度”、“与先前捕获的数据包的时间差”和“IP标志”等数据包相关特征来识别加密流量[7]。基于原始流量的方法使用深度神经网络自动从网络流量中提取特征。例如,Wang等人提出了一种基于一维卷积神经网络的端到端方法[8]。该方法将特征提取和分类器集成到统一的框架中。结果表明,该方法在“ISCX VPN-nonVPN”数据集上可以达到最先进的性能[9]。

尽管先前的技术可以获得相对较高的准确性,但它们仍然存在明显的缺陷。对于基于统计的方法,分类的性能很大程度上取决于特征的质量。专家们需要为不同的加密流量分类任务设计不同的特征,这是耗时且昂贵的。基于原始流量的方法的主要缺点是它会导致信息丢失。大多数研究使用卷积神经网络从原始的加密流量中提取特征[8],[10],[11]。然而,卷积神经网络需要固定大小的输入;因此,原始的加密流量需要首先进行统一处理。这将导致信息丢失,特别是有关网络流量整体结构的信息。例如,在统一化之后,我们无法得知会话中的数据包数量、从第一个数据包到最后一个数据包的时间以及会话中的最小或最大时间差,这将降低分类性能。

为了解决这些限制,我们提出了一个名为CENTIME的框架。CENTIME能够从网络流量中提取综合特征,并利用这些特征对加密流量进行分类。CENTIME包括三个部分,即数据预处理、流量信息提取和流量分类。
(1) 在数据预处理部分,我们通过会话数据包对原始流量进行拆分,然后对其进行匿名化处理。
(2) 在流量信息提取部分,我们使用ResNet [12]直接从原始加密流量中提取特征。与之前的研究相比,我们在CENTIME中去除了汇聚层并使用了一维卷积层,希望能够从原始流量中提取更有价值的信息。同时,我们也从原始流量中提取了统计信息。我们使用AutoEncoder [13]来压缩统计信息。这些统计信息用于补偿流量修剪造成的信息丢失。这些信息只需要设计一次,包含了关于流量整体结构的信息,而不是为不同的任务单独设计。
最后,ResNet提取的信息和AutoEncoder编码的信息被合并成综合特征。
(3) 综合特征用于在

### 解决PyCharm无法加载Conda虚拟环境的方法 #### 配置设置 为了使 PyCharm 能够成功识别并使用 Conda 创建的虚拟环境,需确保 Anaconda 的路径已正确添加至系统的环境变量中[^1]。这一步骤至关重要,因为只有当 Python 解释器及其关联工具被加入 PATH 后,IDE 才能顺利找到它们。 对于 Windows 用户而言,在安装 Anaconda 时,默认情况下会询问是否将它添加到系统路径里;如果当时选择了否,则现在应该手动完成此操作。具体做法是在“高级系统设置”的“环境变量”选项内编辑 `Path` 变量,追加 Anaconda 安装目录下的 Scripts 文件夹位置。 另外,建议每次新建项目前都通过命令行先激活目标 conda env: ```bash conda activate myenvname ``` 接着再启动 IDE 进入工作区,这样有助于减少兼容性方面的问题发生概率。 #### 常见错误及修复方法 ##### 错误一:未发现任何解释器 症状表现为打开 PyCharm 新建工程向导页面找不到由 Conda 构建出来的 interpreter 列表项。此时应前往 Preferences/Settings -> Project:...->Python Interpreter 下方点击齿轮图标选择 Add...按钮来指定自定义的位置。按照提示浏览定位到对应版本 python.exe 的绝对地址即可解决问题。 ##### 错误二:权限不足导致 DLL 加载失败 有时即使指定了正确的解释器路径,仍可能遇到由于缺乏适当的操作系统级许可而引发的功能缺失现象。特别是涉及到调用某些特定类型的动态链接库 (Dynamic Link Library, .dll) 时尤为明显。因此拥有管理员身份执行相关动作显得尤为重要——无论是从终端还是图形界面触发创建新 venv 流程均如此处理能够有效规避此类隐患。 ##### 错误三:网络连接异常引起依赖下载超时 部分开发者反馈过因网速慢或者其他因素造成 pip install 操作中途断开进而影响整个项目的初始化进度条卡住的情况。对此可尝试调整镜像源加速获取速度或是离线模式预先准备好所需资源包后再继续后续步骤。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值