基于对比学习的加密流量编码器 1引言 深度学习的一大优势就是可以自动从输入数据中提取特征并进行学习。虽然这 种方法可以为研究者节约特征工程的时间,但是目前已知的很多深度学习模型 提取 特征时并不会对特征进行明确的过滤或筛选,导致一些低价值的特征被保留了下来。 这里的低价值特征,主要指的是难以反映数据的本质的特征。这些特征要么是很多 类别的数据都具有,要么是某几个数据特有的。这两种特征都无法很好 地代表一类 数据。因此,当这些特征被保留下来后,模型针对某个任务的学习有可能会被误导。 文献[4]中提供了一个自动驾驶领域的例子:对于同一个模型,在车前有行人的情况下判 断是否应该踩下刹车时,是否提供控制台的信息会导致两种截然不同的结果。而错 误的结果,即车前有行人却不踩刹车,是在为模型提供控制台信息后得到的。这里 的控制台信息就是一种难以反映当前情况本质的低价值特征。该特征不但多余,而 且还干扰了模型的判断。 当使用深度学习模型进行加密流量分类时,尽管很多方法都被证明是行之有效 的,但是目前也没有相关的研究关注模型对特征提取的控制。不过导致这种现象的 原因更多还是在于模型本身的训练机制。对于有监督模型而言,如图1所示,特征在 被神经网络提取出来后就会直接参与分类。神经网络会通过计算将提取到的特征与 一个人工设置的数字标签进行拟合。 输入数据 神经网络 预测标签 损失函数 真实标签 图1端到端的有监督学习过程 1 它的整个过程是端到端的,并没有表征向量可以提取,也难以被人工干预。所 以让模型关注特征筛选是办不到的。另外,这种训练方式更多是一种面向拟合的特 征提取。虽然提取到的特征可能有利于分类,但是这些特征可能只是恰好有利于拟 合某类标签而与数据的本质关系不大。对于半监督模型而言,虽然上游的自监督学 习任务可以帮助提取表征向量,但是目前的半监督学习多是基于AE[44-45,52]来提 取表征向量的,如图2所示。 无标签数据 重构数据 表征向量 上游任务 编码器 解码器 神经网络 有标签数据 表征向量 预测标签 下游任务 编码器 损失函数 真实标签 图 2基于 AE‧的半监督学习过程 AE的编码器在提取表征尚量时为了尽可能地缩小输入数据和重构数据之间的差 异,会尽可能多地提取数据特征。这些特征虽然有利于了解数据的全貌,但是并非 都是必需的。另外,AE在提取特征时只会一对一地比较输入数据与重构数据,不会 将输入数据与其他数据进行比较。实际上,横向地对比其他相似或不相似的数据也 有利于模型发掘关键特征和过滤掉低价值特征。 而同作为半监督学习的CL不但可以提取表征向量还可以在提取的过程中保证对 特征进行过滤和筛选,使得表征向量中留下的多是能够反映数据本质的关键特征。 本文的贡献有以下几点: 1.提出了基于CL的加密流量数据编码器以及该编码器的训练框架。在训练阶段, 编码器通过对同训练批次的增强样本进行比较,可以过滤掉低价值特征。为从 加密流量数据中提取更加高质量的表征向量提供了思路。 2.针对加密流量数据自身的特性,提出合适的数据增强方法。 2 3.采用可视化技未和计算相芙量化指标的方式初步证明相对于基线模型,基于 CL的编码器的确可以对特征进行过滤和筛选并且可以提升表征向量的质量。 2 训练框架 整个编码器的训练框架如图3所示。我们记数据预处理后,由同一个训练批次的 输入数据组成的集合为B。对于任意一个B中的输入数据xi,框架会先将 xi 进行两 次复制,得到多个复制数据。增强器会对多个数据分布进行处理得到与输入数据相 似但不完全相同的增强样本。编码器会从增强样本中提取特征并将其压缩成表征向 量。投射器对表征向量进行进一步地过滤压缩得到嵌入向量。损失函数会以所有嵌 入向量作为输入计算嵌入向量各自的损失函数值。B中所有输入数据的增强样本的 损失函数值的算数平均数即该训练批次的损失函数值Loss。通过最小化Loss可以实 现对分类器的训练。 输入数据 复制数据 增强器 增强样本 编码器 表征向量 投射器 嵌入向量 损失函数 图3 基于CL 的加密流量编码器的训练框架 本文在下面将介绍训练框架中各个模块的设计细节。 3 数据预处理 3 无论是机器学习模型还是深度学习模型,数据的输人都需要遵守一定的规范。 这种规范是由选取的模型和设定的超参数来决定的。本文不考虑使用RNN模型作为编 码器。一方面是因为在真实网络环境中收集完整会话或者数据流会严重增加网络设 备的负担,是很不现实的。另一方面是因为以字节序列作为RN的输入粒度太小。因 此,本文倾向于使用CNN模型作为编码器。而 CNN 模型的输入要求各个维度大小是 固定的。因此,参考相关工作[26-27,36,38]的做法,本文也对数据流的前 784 个 字节进行提取。这样做有以下几个好处:第一,数据流的前784个字节包含第一个 数据包的大部分甚至全部内容,其中包含头部的明文信息。从这些明文信息中,编 码器可以学习关于该流量数据更加具体明确的内容。第二,长度为784的字节流可 以很容易地映射成 28*28的图像。这种尺寸的二维图像可以直接被很多经典的CNN 模型处理。第三,排除数据维度不同的因素更利于对比不同模型或者训练方法之间 的差异。 本文的数据预处理过程如图4所示。首先,对以类别标签命名的pcap流量文件进 行切分,切分粒度为数据流(可以认为一个完整的会话是由多个不同的数据流组 成的)然后,提取数据流的前784个字节。其中,超出 784字节的部分直接丢弃, 不足的剩余部分用ASCII码0来补全。接着,将每个字节按照对应的 ASCI码值映射成 [0,255]中的整数。然后,按照数值对应的灰度值将整数序列转化为单通道的灰度图 像。最后,将灰度图像保存备用。 784字节 pcap文件 字节序列 整数序列 存储 图4数据预处理过程 4训练组件 参考文献 4.1增强器 增强器的作用是对数据进行数据增强操作,得到多个与输入数据相似但不完 全相同的增强样本。实际上,数据增强在其他机器学习或深度学习的任务中的主 要作用是扩充次要类别数据的规模使模型可以在一个各类数据分布相对均匀的情 况下学习。但是在本文中,数据增强操作是必不可少的工作。因为关键特征通常对数据增强 操作具有一定的不变性[51] 。 在CV领域,数据增强操作十分常见,甚至已经集成到了很多成熟的深度学习框 架中。所以对于CV领域的数据做数据增强是没有必要额外设计增强器的。但是,本文 编码器使用的输入数据来自于字节序列。这就意味着输入数据自身是具有一种语义 的。尽管被转化成了灰度图像,但是这种语义并没有随之消失。因此,如果依旧采 用C领域的数据增强方法包括旋转、拉伸、裁剪和改变色调等操作很可能会完全破 坏掉这种语义。因此,在设计增强器或者探究适用于加密流量数据的增强方法时, 需要在保证能获得多个增强样本的同时对数据的语义做小程度的破坏。 既然无法完全借鉴CV领域的数据增强方法而且数据自身又具有语义,那么自然会 转而考虑借鉴NLP领域的数据增强方法。在 NLP领域,比较基础的数据增强方法 包括同义词替换、随机插入、随机交换和随机删除[53」。实验也证明,虽然以上数 据增强方法会对语义造成一定的破坏,使得句子不易理解,但是模型的鲁棒性反 而得到了增强,而且增强后的数据与原数据在特征空间上仍然很接近。 然而,联系到本文的应用场景,对于加密流量数据而言,不存在所谓的同义词 所以不能采用同义词替换。随机交换会破坏数据不止一处的位置。随机插入和随机删除会 改变数据长度,因此也不能直接使用。不过,可以将随机插入和随机删除结合在 一 起使用。首先,选取某个位置,将从该位置开始往后固定长度的数据删除。然后, 还是在该位置插入ASCI 码0(也是十进制数字O)直到数据恢复成了原来的长度。 这种做法最终的效果等同于先在数据中选取固定长度的连续位置,然后将这些位置 对应的数据用0覆盖掉。因此本文将这种数据增强方法叫做数据随机覆盖。 数据随机覆盖既保证了可以在获得多个增强样本的同时对数据语义做最小程 度的破坏,又保证了数据格式依旧满足 CNN 的输入要求。 4.2 编码器 出于诸多因素的考虑CNN 模型比RNN 模型更适合作为编码器。更进一步地,由于 一维CNN的卷积核和二维CNN的卷积核扫描数据的方式有很大的不同(如图 5 参考文献 3.5所示),而一维CNN卷积核的扫描方式更加适用于像加密流量数据这样的序列 类型数据[26] 。因此,本文将使用一维CNN模型实现编码器。整个编码器的结 构参数如表3.1所示。其中,ReLU[54]是一种非线性激活函数,其表达式如公式(1) 所示。引入非线性激活函数的好处是可以令神经网络学习非线性关系。而ReLU函数与 其他常见的激活函数(如Sigmoid函数和Tanh函数)相比一方面计算量要更小,另 一方面不容易产生梯度消失现象。 输入数据 卷积核 输出数据 扫描方向 图5一维 CNN模型(左)与二维 CNN模型(右)卷积核的扫描方式 最大池化操作直观的理解就是将选定数据区域中最大的值提取出来。该操作 可以保证在不丢失大量有用信息的情况下缩小特征图的大小从而实现数据降维,最 减少训练所需的参数量,提升训练效率。 另外,步长指的是卷积核每次沿着扫描方向移动的跨度。填充长度则是指在 输入数据两端填充0的长度。在输入数据两端填充0的目的是为了尽量充分地 获取数据边缘的信息。 表1 基于CL 的编码器的结构参数 参考文献 操作 输入维度 卷积核大小 步长大小 填充长度 输出维度 -维卷积+ReLU 1*784 25 1 12 32*784 最大池化 32*784 3 3 32

pdf文档 360 基于对比学习的加密流量编码器

安全报告 > 360 > 文档预览
中文文档 17 页 50 下载 1000 浏览 0 评论 0 收藏 3.0分
温馨提示:本文档共17页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
360 基于对比学习的加密流量编码器 第 1 页 360 基于对比学习的加密流量编码器 第 2 页 360 基于对比学习的加密流量编码器 第 3 页
下载文档到电脑,方便使用
本文档由 思安2022-11-29 01:35:04上传分享
给文档打分
您好可以输入 255 个字符
网站域名是多少( 答案:github5.com )
评论列表
  • 暂时还没有评论,期待您的金玉良言
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。