基于对抗攻击的IDS规避流量生成方案
2023-05-30臧海彬
臧海彬
摘要:入侵检测系统(IDS) 是网络空间安全的重要保障,随着机器学习在自然语言处理、图像识别等领域取得了良好成效,基于异常的IDS逐渐成为研究的主流。文章针对基于异常的IDS,提出了一种基于对抗攻击和黑盒模型的流量规避方案,使用生成对抗网络训练规避模型,并用黑盒模型的输出计算损失值,在多种机器学习分类器下均能实现良好的规避效果。该方案可作为扩展应用嵌入到IDS测试平台上,提升IDS测试平台对各类IDS设备测试的全面性。
关键词:规避技术;入侵检测系统;对抗攻击;生成对抗网络
中图分类号:TP393 文献标识码:A
文章编号:1009-3044(2023)01-0088-03
1 背景
入侵检测系统(IDS) 作为一种主动防御技术,通过检测并分析网络中的各类流量,对网络中的异常行为进行预警响应,进而达到阻断恶意入侵的目的。IDS按照检测方法可以分为基于误用的IDS和基于异常的IDS。基于误用的IDS通过状态建模与模式匹配等方法检测攻击流量,对已有类型的网络攻击能够取得很好的效果,但难以检测未知的网络攻击;而基于异常的IDS则通过机器学习等方法对网络流量的有效特征进行建模,虽然整体检测效果不如基于误用的IDS,但面对未知类型的网络攻击也能达到较高的检测率。
基于误用的IDS高度依赖于已建立的知识签名库,面对层出不穷的未知攻击以及新型的智能攻击需要付出极高的维护代价。近年来,随着深度学习在自然语言处理、图像识别等领域取得了良好成效,基于异常的IDS逐渐成为研究的主流,基于深度学习挖掘网络流量特征间的内在关系,能够显著提升对未知攻击的检测率。传统的IDS测试平台通常针对已有的知识签名库,使用URL混淆、RPC分片、数据流分割等规避技术来测试IDS设备的鲁棒性,对基于误用的IDS有良好的规避效果,但面对基于异常的IDS时效果较差。
基于上述背景,本文提出了一种基于生成对抗网络的规避流量生成方案,针对机器学习和深度学习模型易受对抗样本攻击的特点,在黑盒攻击模型下训练对抗模型,并利用生成对抗网络对目标IDS进行模拟和特化训练,将普通流量转换为规避流量。本方案可作为额外扩展应用在IDS测试平台上,从而提升IDS测试平台对各类IDS设备测试的全面性。
2 相关研究
入侵逃逸是一种规避网络流量检测系统的技术,攻击者通过伪装攻击流量,修改数据包头信息或内容信息,从而改变数据包的外在特征,达到规避目标网络入侵检测系统或防火墙的目的,实施恶意攻击[1]。常用的攻击规避技术包括数据包分片、负载变换、Shellcode变换和重复插入等,这些流量逃逸技术均是针对传统的基于误用的IDS所设计的,即使是高级逃逸技术,在使用合适的模型训练后依然能实现较高的检测率。
基于异常的检测技术易受对抗样本的影响,因此可以通过对抗攻击的方式进行流量逃逸。Ayub等人[2]提出了一种基于雅可比矩阵的显著性映射攻击(JSMA) 对抗模型,对基于多层感知网络构建的IDS检测系统进行攻击,结果表明规避模型能够显著降低IDS的准确性。李杰等人[3]提出了一种流量隐藏方案,通过生成对抗网络(GAN) [4]训练生成器模型,模拟目标网络流量的各项特征,最终可将源流量转换为与目标流量相似的伪装流量,从而抵御各种流量分析攻击。Feng等人[5]针对GAN生成对抗攻击样本时可能会引入大量扰动的问题,提出了FFA-GAN框架,该架构在生成对抗样本时会尽量生成少量扰动,且相比于传统GAN在性能方面具有明显优势。总体来看,目前将对抗攻击应用在規避技术上的研究较少,已有的大多为前瞻性研究,并非针对实际的IDS测试平台搭建场景。
3 IDS规避流量生成方案
3.1 特征规避建模
传统对抗攻击一般使用目标模型的输出作为反馈反向训练一个对抗模型,训练后的对抗模型可以在不改变原始样本类别的前提下调整少量参数,且此类样本作为输入会导致目标模型输出错误结果。在生成规避攻击流的场景下,以黑盒攻击模式对基于异常的IDS系统进行探测,如果每次攻击流发送后都能够获取目标IDS的判定结果,就可以对目标IDS建立对抗模型,从而对少部分不影响攻击特性的样本特征做修改,使IDS产生错误判定。在此类场景下,训练的目标是最大化IDS模型输出与实际类别的差值,设输入样本为xi,实际类别为yi,则相关函数如下:
但考虑到易受对抗攻击是几乎所有机器学习和深度学习模型的通病,也有部分基于异常的IDS在模型训练时会考虑一些特殊的对抗样本,从而针对特定方面进行额外训练,而且直接将目标IDS的输出作为评价指标来训练模型并不能最大化模型的特征伪装能力。这里借助生成对抗网络的框架,在训练对抗模型的同时创建一个判别器模型对目标IDS进行模拟,并通过生成器生成的对抗样本不断提高判别模型的抗干扰能力,最大程度利用黑盒模式下目标IDS的价值,从而提升生成模型的特征伪装能力,改进后的流程如图1所示。详细训练流程如下:
3.2 IDS测试平台架构
基于该模型构建的IDS测试平台架构如图2所示,首先使用流量数据集针对常见的机器学习方法构建对应的特征伪装对抗模型,将该模型嵌入到IDS测试平台中。在对IDS设备测试时可以选择发送特定类型的伪装流量,此时会选择对应的对抗模型,用BPS真实流量的内容特征作为输入,输出伪装后的内容特征并与原数据包拼接成伪装流量,和原始流量混合后发送到IDS设备,测试IDS设备面对各类型攻击流量的检测能力。
4 实验
4.1 数据集
本文使用的数据集为UNSW-NB 15,包含真实的现代正常活动流量和合成的现代攻击流量,共计2540044个样本,49种流量特征和9种攻击类型。在特征选择方面,由于对攻击流进行伪装时不能改变原流量的语义,因此部分流量特征不能作为生成器的输入。在数据集的所有攻击类别中,除Dos之外的攻击都需要依据特定的领域知识进行特征修改,而Dos攻击对内容特征无要求,因此选择Dos攻击的6项内容特征作为示例进行实验,对于其他类型的攻击也可以采用类似的方法单独分析处理。
4.2 实验结果
由于需要对IDS、对抗模型分别进行训练,因此本文从Dos样本和正常样本中共计随机选取100000份,并按照3:5:2的比例分别用于训练基于异常的IDS模型,训练对抗模型和测试。使用准确率AC、检测率DR和误报率FDR三项指标进行评估,其定义分别如下:
这里的生成器和判别器分别为两个独立的CNN网络,IDS模型分别为高斯朴素贝叶斯、决策树、k-近邻和逻辑回归,所有模型均基于keras和sklearn实现,结果如表1所示。
上述实验结果表明,对基于这四种机器学习模型实现的IDS,该方案都能实现显著的规避效果。其中对逻辑回归的规避效果最为明显,准确率和检测率下降幅度最大,且误报率也有提高,而相比于其他三种模型,決策树受到的影响较小。综合来看,本方案在基于异常的IDS下能实现良好的规避效果。
5 结束语
入侵检测系统是网络空间安全的重要保障,而全方位测试入侵检测系统的检测能力是实际应用中的重要一环。本文针对基于异常的IDS,提出了一种基于生成对抗网络和黑盒攻击的流量规避方案,并以Dos攻击作为示例验证了本方案在多种机器学习模型下的可用性。该方案可以作为单独模块嵌入到网络安全测试平台中,在测试时按需选择不同的对抗模型生成规避流量,测试IDS在多种场景下的可靠性。大部分攻击流量对报文的完整性有特定要求,因此如何实现一种通用的规避方案有待进一步研究。
参考文献:
[1] 史婷婷,赵有健.网络入侵逃逸及其防御和检测技术综述[J].信息网络安全,2016(1):70-74.
[2] Ayub M A,Johnson W A,Talbert D A,et al.Model evasion attack on intrusion detection systems using adversarial machine learning[C]//2020 54th Annual Conference on Information Sciences and Systems (CISS).March 18-20,2020,Princeton,NJ,USA.IEEE,2020:1-6.
[3] 李杰,周路,李华欣,等.基于生成对抗网络的网络流量特征伪装技术[J].计算机工程,2019,45(12):119-126.
[4] Goodfellow I J,Pouget-Abadie J,Mirza M,et al.Generative Adversarial Nets[C]//28th Conference on Neural Information Processing Systems (NIPS).Montreal,CANADA:Neural Information Processing Systems (Nips),2014:2672-2680.
[5] Chen F,Shang Y K,Hu J C,et al.Few features attack to fool machine learning models through mask-based GAN[C]// Glasgow,UK:2020 International Joint Conference on Neural Networks (IJCNN), 2020.IEEE,2020:1-7.
【通联编辑:光文玲】