基于对抗样本的网络欺骗流量生成方法
2020-10-11胡永进郭渊博马骏张晗毛秀青
胡永进,郭渊博,马骏,张晗,2,毛秀青
(1.信息工程大学密码工程学院,河南 郑州 450001;2.郑州大学软件学院,河南 郑州 450000)
1 引言
网络流量分类技术作为增强网络可控性的基础技术之一,在帮助研究人员了解流量分布、优化网络传输、提高网络服务质量的同时,也常被攻击者用于对目标网络流量进行监控,攻击者通过对网络流量进行分类确定其所属的应用类型(如邮件类、多媒体类、网站类等),进而根据分类结果实施流量拦截并可进一步实施网站指纹攻击。尤其是随着机器学习和深度学习被用于网络流量分类领域[1],基于它们的网络流量分类技术为攻击者提供了更便利的条件,往往能获得极高的分类准确率。一种典型的攻击者使用基于深度学习的网络流量分类方法实施攻击的场景如图1所示。虽然深度学习在流量分类领域的应用可以提高分类的准确率,并且已经在图像识别、自然语言处理等多个领域展现了巨大的潜力,但随着Szegedy等[2]在计算机视觉领域中提出了对抗样本这一概念,对抗包括卷积神经网络(CNN,convolutional neural network)在内的深度学习模型引起了学者们的兴趣。
图1 攻击者使用基于深度学习的网络流量分类方法实施攻击
Szegedy等[2]在研究图像识别时发现,当对学习模型的输入样本添加一些人眼无法察觉的细微干扰时,会导致模型以高置信度给出一个错误的输出。针对深度学习模型,在原数据集中添加细微扰动所形成的样本被称为对抗样本。从攻击的角度,对抗样本在计算机视觉领域应用最直接,例如在人脸识别、自动驾驶等方面,攻击者可以通过添加人眼无法识别的扰动引发图像识别的分类错误,造成人脸识别或交通标志识别失败[3];在信息安全领域,欺骗基于神经网络的恶意软件检测模型,从而逃避检测[4]。从防御的角度,对抗样本也具有非常高的价值,主要表现在以下两点:第一点是可以针对深度学习模型提前生成对抗训练样本,提高模型的稳健性以应对可能的对抗样本攻击[5];第二点是可以针对攻击者使用的深度学习模型,利用对抗样本欺骗其攻击模型,造成攻击的不确定性,并提高攻击成本,使攻击者延缓或取消攻击。本文从对抗样本防御价值的第二点出发,针对攻击者的网络流量分类攻击,通过增加扰动生成网络流量的对抗样本,从而形成网络欺骗流量,引发攻击者的流量分类错误。
本文应用对抗样本的概念应对攻击者发起的网络流量分类攻击,采用3种典型的扰动生成方法形成欺骗流量对抗样本,对攻击者采用的基于深度学习的流量分类攻击模型进行欺骗,造成其分类错误,从而导致攻击失败。首先,将对抗样本的概念应用于主动防御中的网络欺骗流量研究,对比不同的对抗样本的欺骗效果;其次,与攻击者通过对抗样本实施攻击相反,本文以对抗样本为防御手段欺骗攻击者的分类模型,可以看作主动防御中的“防中有攻”;最后,针对LeNet-5深度卷积神经网络分类模型,即在攻击者分类模型已知(白盒)的条件下进行实验,验证对抗样本在流量分类中的效果。
2 相关工作
2.1 流量分类
根据网络流量的颗粒度,对网络流量分类的研究主要针对表1所示的3个层面[6]。
表1 网络流量分类中的研究对象
在上述3个层面的流量分类中,flow级的网络流量是流量分类使用最广泛的对象,其基本思想如图2所示。本文以flow级的流量作为原始数据,通过生成对抗流量样本对攻击者的流量分类进行欺骗,欺骗的目标是使用基于深度学习的分类模型的攻击者。基于深度学习的分类方法假设对于某些类别的应用,其网络层的统计特征(如流持续时间的分布)是唯一的,使用决策树、朴素贝叶斯、支持向量机、关联规则学习、神经网络、遗传算法等方法构造分类模型,从而进行分类,具有使用场景广、分类准确率高、能够分类加密数据流量等特点。
图2 flow级的网络流量分类
基于机器学习的流量分类的主要思想是构建流量的统计属性联合作为指纹进行分类。文献[7]将机器学习应用于流量分类,认为流的字节可以看作图片中的像素,使用在图像识别领域表现非常好的深度学习方法进行流量分类。文献[8]融合特征提取、特征选择和分类为一个端到端的框架,采用一阶卷积神经网络对不同行为的负载字节进行计算,构建指纹。文献[9]利用匿名化网络特性,采用长度序列和方向序列作为深度学习网络,如SAE(stacked auto-encoder)、CNN、长短期记忆(LSTM,long short-term memory)网络的输入,从而分类访问网页。文献[10]将表征学习的方法应用于恶意流量分类领域,将原始流量数据视为图片,然后使用擅长图片分类任务的卷积神经网络执行分类,最终达到恶意流量分类的目的。这些研究证明了深度学习在流量分类上的可行性,同时为对抗基于深度学习的流量分类提供了方向。
在对抗或欺骗上述基于深度学习的流量分类的研究上,文献[11]提出了加载背景流量的防御方法,并在TOR(the onion router)和JAP(Java anonymous proxy)上进行验证;文献[12]验证了加密协议字节填充的加密流量分类对抗的效果;文献[13]使用不同的真实流量作为访问网站时的噪声;文献[14]提出了walkie-talkie以单工方式加载网站来混淆burst特征。上述研究主要通过修改流量的通信特征实现对抗,多聚焦于如何逃逸以避免被攻击者发现,伪装和欺骗的能力有限,对抗性不足。目前与本文最接近的研究是隐私保护领域的流量伪装与混淆。其中,obfsproxy(obfuscated proxy)模糊代理软件[15]使SSL(secure socket layer)或TLS(transport layer security)加密流量看起来像未加密的HTTP或即时通信流量;文献[16]发布了TOR的传输层插件SkypeMorph,将TOR客户端与网桥的通信流量填充到Skype视频通话流量中,用于对抗流量统计分析;文献[17]提出了黑盒分析流量分类规则,通过多次测试推断流量分析识别规则,从而修改通信数据分组进行逃逸。但这些研究均未将对抗样本的概念应用到对抗流量分析的研究中,也没有将其作为防御者的一种欺骗防御方法进行讨论,本文重点研究了这一问题。
2.2 对抗样本
生成对抗样本的关键在于计算和生成对抗扰动。在计算机视觉领域,扰动需要满足添加到原始图像后人眼不可见并可迷惑原有分类模型的要求。本文中,针对流量分类模型的欺骗,虽然生成的扰动不必满足“人眼不可见”的条件,但仍需要达到一定的条件(如带宽要求等)。
多数工作主要研究了引发图像分类模型的对抗扰动[18]。Szegedy等[2]发现了深度神经网络在图像分类领域存在的弱点,提出了对抗样本的概念,并将对抗性扰动生成描述为优化问题。Goodfellow等[19]提出了一种最优的最大范数约束扰动的方法,称为快速梯度符号法(FGSM,fast gradient sign method),以提高计算效率,并证明了神经网络高维度线性是导致对抗样本较好的根本原因。Kurakin等[20]提出了一种基本迭代方法,使用FGSM迭代地产生扰动。Moosavi-dezfooli等[21]发现图像分类模型中存在与特定图像无关的对抗性扰动,即通用扰动,这种通用扰动可以使分类模型对所有增加了该扰动的图片分类错误。Athalye等[22]发现3D打印的真实世界中的物体也可以欺骗深度网络分类器。Moosavi-dezfooli等[23]提出的DeepFool进一步提高了对抗性扰动的有效性。类似于文献[21],Metzen等[24]为语义分割任务提出了通用对抗扰动(UAP,universal adversarial perturbation),扩展了Kurakin等[20]的迭代FGSM攻击,更改了每个像素预测的标签。Mopuri等[25]寻求数据独立的通用扰动,不从数据分布中采样,提出了一个新的无数据目标的算法来生成通用对抗扰动,称为FFF(fast feature fool)算法。文献[26]提出的GDUAP(generalizable data-free universal adversarial perturbations)算法改善了攻击的效果,让多个不同架构和参数分类模型产生错误分类,并证明了GDUAP算法在跨计算机视觉任务上的有效性。目前,除了研究对计算机视觉中的分类、识别任务的攻击之外,研究者还在研究对其他领域和方向的攻击,但未发现对网络流量分类方向实施攻击的研究。
3 安全模型
3.1 攻击者模型
本文假设攻击者能够观测到2个主机节点之间的flow级别的流量,并能够提取数据分组大小、内部数据分组到达时间等流量的特征,通过使用这些流量对分类模型进行训练以推断防御者使用的应用类型,从而进行流量分类。根据文献[27],建立攻击者模型,具体描述如下。攻击者企图将观测到的流量TF分类为应用类型集合C中的第i类,流量TF的特征集合为分类模型的分类函数为输出值为属于应用集合C中第i类的概率。相关符号定义与说明如表2所示。
3.2 防御模型
防御者依据流量TF通过生成扰动P形成欺骗流量TD。本文使用不同的生成方法计算不同的扰动,形成不同的欺骗流量TD,从中提取特征集合X′=,使攻击者的分类函数的输出原输出不同,即攻击者错误地将流量由第i类分类为第i'类。相关符号定义与说明如表3所示。
表2 攻击者模型相关符号定义与说明
表3 防御者模型相关符号定义与说明
3.3 扰动的生成方法
文献[28]将扰动生成方法分为全像素添加扰动和部分像素添加扰动,并在此基础上又分为目标针对性和非目标针对性、黑盒测试和白盒测试、肉眼可见和肉眼不可见。结合流量分类的特点,本文采用的扰动生成方法为全像素添加扰动,在已知攻击者使用分类器的参数和内部结构的情况下生成流量对抗样本,欺骗攻击者的分类器产生错误分类,不需要产生指定的错误分类类别。基于上述特点,本文使用的3种扰动生成方法如下。
1)FGSM
FGSM由Goodfellow等[19]提出,是生成对抗样本的基本方法之一,其基于梯度下降原理通过在梯度方向上添加增量来诱导网络对生成的图片进行错误分类。扰动计算式为
其中,ε为限制扰动过大的约束条件,‖P‖<ε(不同的范数效果不同);为训练神经网络时的损失函数,θ为分类模型的参数,x和y分别为模型的输入和输入对应的正确标签。为点x处损失函数的梯度方向,ε可看作在该方向上的偏移量级。
2)DeepFool方法
DeepFool方法是Moosavi-dezfooli等[23]提出的一种非针对目标的对抗样本生成方法,对深度网络有很强的对抗性和稳健性。其通过迭代计算生成最小规范对抗扰动,将位于分类边界内的图像逐步推到边界外,直到出现错误分类。该方法生成的扰动比FGSM更小。假设分类器的分类函数为为权重,b为截距,可知其仿射平面为当在某一点x0加入扰动ρ形成的向量垂直于平面Γ,则加入的扰动最小(为ρ*)且符合迭代要求,如式(2)所示。
3)C&W方法
Carlini和Wagner[29]基于FGSM、L-BFGS(limited-memory Broyden-Fletcher-Goldfarb Shanno)和JSMA(Jacobian-based saliency map approach)这3种方法提出了C&W(Carlini and Wagner)方法,其在范数l0、l2、l∞上均有较大改善。以l2范数为例,C&W方法如式(3)所示。
其中,扰动P由计算得到,tanh()函数利用优化将对抗样本映射到[-∞,+∞];()Zx表示样本x通过模型未经过softmax函数的输出向量,表示欲错误形成的类别t的逻辑表示;表示分类i≠t的逻辑表示,表示分类错误最小;k表示可调节的超参数,控制生成的对抗样本的置信度。
式(3)设置了一个特殊的损失函数来衡量输出误差,其由两部分组成,保证所得扰动最小,保证生成的对抗样本可使模型分类错误的那一类的概率更高。由于可以调节生成样本的置信度,C&W方法可以生成强对抗样本,增强了其对抗迁移性,具备实现黑盒攻击的能力。
3.4 欺骗流量对抗样本生成算法
基于上述分析与扰动生成算法,本文设计了欺骗流量对抗样本生成算法,如算法1所示。
算法1流程如图3所示。
算法1中首先需要对真实流量TF进行预处理和归一化处理。预处理Preprocess(TF)利用不同的数据集对真实流量TF进行清洗,并提取TF的流量特征;参考图像识别领域中对图像数据的读取格式,将流量数据集的数据格式转化为图像数据格式,通过TransArfftoIDX(TF)将流量数据集的数据格式由arff转换为IDX格式;通过Normalize(TF)对数据集所有流量的每一项特征进行数值归一化,消除流量数据集各个特征之间的量纲关系,使不同特征之间具有可比性,这样就可以使用Reshape(TF)和Visualization(TF)将真实流量的各类特征值视为图像的灰度值,进而以图像的方式可视化。
图3 算法1流程
接下来,对攻击者选用的卷积神经网络进行构建和训练Training(TF,mode),使其能对可视化后的流量数据进行分类并测试分类的准确率;同时,选择扰动生成方法,将训练好的卷积神经网络模型的结构和参数作为已知条件,产生各自的扰动CraftingPerturbation (method),与真实流量叠加后形成欺骗流量TD=Generate AdvSample(),并以可视化的方法比较欺骗流量和真实流量的区别;最后对生成的欺骗流量使用训练的卷积神经网络进行分类测试Evaluate(TD),并将测试结果与对真实流量分类的准确率进行比较。
本文设计的欺骗流量对抗样本生成算法的时间复杂度主要由三部分组成,分别为流量数据集的预处理(包括特征值提取、格式转换和归一化处理)、卷积神经网络的训练和测试,以及欺骗对抗流量的生成。其中,流量数据集的预处理部分的时间复杂度与流量数据集的特征的种类数量有关,本文将特征值视为图像的像素值,特征的种类数量为流量可视化后图像横纵像素数量的乘积,如本文中使用的流量数据集具有248个特征,将流量数据可视化后形成16×16的图像(248个特征外的用0补足),假设流量特征的数量为f,形成的可视化流量图像的大小为x2,因为对图像像素处理的时间复杂度为则预处理的时间复杂度为,即该部分的时间复杂度与流量特征的数量呈线性关系。卷积神经网络的训练和测试部分的时间复杂度为
其中,l是神经网络的第l个卷积层;d是神经网络的深度;m是每个卷积核输出特征图的边长;s是每个卷积核的边长;n是每个卷积核的通道数,即输入通道数。对于欺骗对抗流量生成部分,由于其与卷积神经网络的训练和测试部分同时进行,时间消耗远小于卷积神经网络训练和测试所需要的时间。因此,在流量数据集特征数量一定的情况下,O(f)可忽略不计,算法1的时间复杂度为
4 实验分析
图4 攻防场景
本文构建如图4所示的攻防场景。假设攻击者能够观测到2个主机节点之间的不同应用的flow级流量,使用基于深度学习的分类模型进行流量分类以发起进一步攻击;防御者使用本文提到的欺骗流量对抗样本生成方法,在正常流量中添加不同的扰动,从而使攻击者在进行流量分类攻击时出现分类错误,达到欺骗的目的。
实验环境和参数如表4所示。
表4 实验环境和参数
4.1 数据集
本文使用的数据集为流量分类常用的Moore数据集[31],作为图4中攻击者观测到的flow级流量。该数据集收集了2003年8月20日某大学1 000多名研究人员和工作人员使用的千兆以太网链路上的流量数据,通过抽样算法从每一条完整的 TCP双向流抽样得到377 526条网络样本,包含248项属性,这些属性作为3.1节中攻击者模型的特征集合X。经人工分类,将每个flow分类为12类应用类别中的某一类,其格式如图5所示,应用类别信息如表5所示。本文实验中使用65 036条记录作为训练集,23 081条记录作为测试集,对应攻击者模型中的正常流量TF。
4.2 预处理
Moore数据集是arff文件格式,需要对其按算法1进行预处理和格式转换TransArfftoIDX。首先,将arff文件中的每一条流量记录按图5格式读出,前248项特征值作为正常流量,最后一项所属应用分类作为其对应的标签值。其次,为消除流量之间的量纲关系,使数据之间具有可比性,对数据集所有流量的每一项特征进行数值归一化。最后,归一化后的流量记录有248项特征,将其构建为16×16的矩阵,矩阵的后8行和后8列填充0。将构建后的矩阵元素作为像素点,元素值即为像素灰度值,可以用16×16的灰度图像可视化流量。图6(a)为不同应用的流量可视化;图6(b)分为4组,即Web、attack、FTP-data、email,每一组为同一应用但不同记录的流量的可视化,不同种类流量之间的可视化效果区分度比较明显。
表5 Moore数据集应用类别信息
4.3 攻击者分类模型
本文使用的攻击者分类模型为LeNet-5卷积神经网络模型,其包括输入层、卷积层、池化层、卷积层、池化层、全连接层和输出层,广泛应用于对网络流量应用的分类[32]。本文根据文献[33]改进LeNet-5卷积神经网络模型,如图7所示,参数如表6所示。输入层设计为16×16矩阵,与可视化后的流量相对应;输出层为12个神经元,与分类结果相对应,即3.1节攻击者模型的应用类型集合C。
图5 Moore数据集流量记录的格式
图6 不同应用类型的流量可视化和相同应用不同记录的流量可视化
图7 改进的LeNet-5卷积神经网络模型
表6 LeNet-5网络的网络结构及参数
4.4 生成扰动
本节根据算法1和3种生成扰动的方法,在训练好的卷积神经网络模型基础上按照生成的3种扰动形成防御者模型的欺骗流量TD,以Web应用为例,不同方法生成的扰动如图8所示。图8(a)为Web应用原始流量不同记录的可视化图像,图8(b)~图8(c)为不同扰动生成方法产生扰动后叠加到原始流量形成的欺骗流量的可视化图像。从图8可以非常直观地发现,增加扰动后的欺骗流量与原始真实流量的可视化区别,且采用FGSM生成的样本需要的扰动最明显。
4.5 实验结果及分析
实验结果的评价指标包括以下两部分:1)分类欺骗率,包括总体欺骗率(GFR,general fooling rate)和单类欺骗率(SCFR,single classification fooling rate);2)欺骗流量对抗样本生成时间(DFSCT,deception flow sample crafting time)。相关计算式如下。
图8 不同方法生成的扰动
其中,Acci是第i类样本的分类准确率,GAcc是测试样本的整体分类准确率,TPi是实际类型为i的样本中被分类模型正常预测的样本数,FNi是实际类型为i的样本被分类模型误判为其他模型的样本数,m=12表示共有12类。总体欺骗率、欺骗流量对抗样本生成时间如表7所示。
表7 不同方法的总体欺骗率和欺骗流量对抗样本生成时间
未生成欺骗流量之前,攻击者利用LeNet-5对真实网络流量进行分类的准确率为99.04%。针对3种不同的扰动生成方法,其对应的模型训练准确率、测试准确率和总体欺骗率如图9所示,可以看出,实施算法1之后,不论使用哪种扰动生成方法,流量的应用类型被错误分类的概率大大提高,以FGSM方法为例,攻击者使用LeNet-5对生成的欺骗网络流量进行分类时错误率达到了99%以上。
图9 不同方法的训练准确率、测试准确率和总体欺骗率对比
根据式(5),统计3种扰动生成方法对应的单类欺骗率和欺骗后的分类分布,如表8所示。
表8中,本文选择了样本数量前5位的流量应用,分类分布中描述了原始流量被分类成不同流量的分布情况,以Web流量为例,在使用FGSM时,22%被误分为email类,74%被误分为其他类,其他类为数据集中Web、email、FTP-control、FTP-pasv、attack之外的7类流量,对Web而言,其主要被误分为了其他中的P2P类。
以C&W方法为例,图10表示了各类流量应用生成的欺骗流量样本及被欺骗后的分类情况,图10(a)表示不同的原始流量,图10(b)表示C&W方法产生的扰动,图10(c)表示形成的欺骗流量对抗样本,图10中的数字表示被欺骗后的错误分类的标签与比例。
从上述实验结果可以得出以下结论。1)针对LeNet-5卷积神经网络模型,算法1选用的不同的扰动生成方法均起到了很好的欺骗效果,其中FGSM的欺骗效果最好但生成对抗样本的时间最长,DeepFool方法的欺骗效果和生成时间居中,而C&W方法的欺骗效果不好但生成样本的时间最短,原因是流量分类的欺骗过程不像对抗图像分类过程那样对添加的扰动有严格的约束,不必形成“肉眼不可见”的扰动。2)从对数据集的总体欺骗率来看,FGSM和DeepFool方法显示出很高的对抗性,主要因为这2种方法是针对非特定目标的对抗样本生成,而C&W方法虽然在图像分类中具备针对特定目标进行欺骗的能力,但对非特定目标的欺骗能力相对其他2种方法略差。3)对比不同扰动方法生成的欺骗流量对抗样本可知,采用FGSM生成的样本需要的扰动明显多于采用DeepFool和C&W方法生成的样本所需扰动,验证了DeepFool和C&W方法所生成扰动的细微性。4)从对流量的单类欺骗率来看,虽然3种方法的欺骗效果不同,但3种方法在将流量类型错误归类的趋势上大体相同,比如Web类和P2P类之间被错分的概率较大,services类被误分为database的概率较大,3种FTP类之间被错分的概率较大,这些都反映了流量种类之间的相似程度。
表8 不同方法的单类欺骗率与分类分布情况
图10 C&W方法对各类流量应用生成的欺骗流量样本与分类情况
5 结束语
本文首先介绍了流量分类领域的研究现状,从防御者的角度,针对攻击者可能实施的流量分类攻击,在基于相关研究的基础上引入对抗样本的概念,提出了一种基于对抗样本的欺骗流量生成方法。然后,分别描述了攻击者和防御者模型,以3种常见的扰动生成方法进行实验,将LeNet-5卷积神经网络作为攻击者的分类模型,采用流量可视化的方法将正常网络流量转换为灰度图像,分别形成3种不同的欺骗流量对抗样本,对目标模型实施了欺骗。实验验证了所提方法的可行性。在将来的工作中,本文将针对以下3个方面进行更进一步的研究:1)利用对抗样本的其他方法生成具有更高欺骗率的欺骗流量对抗样本,针对更复杂的深度神经网络进行欺骗;2)充分考虑生成欺骗流量对抗样本时的约束条件,研究针对特定目标的欺骗流量生成;3)验证欺骗流量对抗样本对不同分类模型的迁移性,发现不同深度神经网络抵抗欺骗流量的稳健性。