1.24 Efficient GAN-based method for cyber-intrusion detection

摘要

传统的监督方法如决策树和SVM通常被用于正常和不正常的分类。但是在某些情况下,异常状态比正常状态更罕见。Generative Adversarial Network(生成对抗网络,GAN),利用其生成能力,只需要学习正常状态的分布,并通过其与所学分布之间的差距识别异常状态。但现有基于GAN的模型离散值处理欠缺,本文提出新的基于GAN的模型,并专门设计了损失函数。

0x01 介绍

  1. 经典监督方法决策树和SVM,由于通常情况下异常样本远少于正常样本数量,出现不平衡带来的判断偏差。新的种类出现将带来监督成本

  2. 非监督方法Local Outlier Factor(离群点检测,LOF算法)、Robust Convariance(稳健协方差)、Isolation Forest(孤立森林)可以在一定程度上解决监督学习的弊端,在不平衡数据集上有更好的表现。但是一旦非出现的正常样本偏离集中区域,则会带来致命的误判。

  3. 如图1所示,黑圈中的黑点是被误判的正常样本,因为其出现频率低且偏离了中心区域

    image-20220124103856299

  4. GAN经典模型为一个生成器对抗一个判别器,生成器生成符合真实样本分布的样本,而判别器试图将生成的样本(假样本)与真实样本区分开来。由于GAN能够学习数据的分布,它自然可以被用来学习正常数据的分布,特别是在训练集中缺少异常的情况下。

    ​ 图2:绿点是测试样本。红点是与测试样本最相似的样本,这也可以看作是测试样本的 "正常版本"。

    image-20220124104407060

  5. AnoGAN通过实际空间和潜在空间之间建立一个映射。通过映射的样本和测试样本之间的差异,我们可以接近测试样本的最佳 "正常版本"。但这种映射是基于反向传播算法的,因此当数据维度增加时,这种模型会很耗时,不适合及时的入侵检测。BiGAN结构的启发下,采用一种新的模型,可以缓解时间消耗。

  6. 在网络入侵检测的训练数据中,那些离散的特征对传统的GANs来说是致命的,在其训练过程中,损失标准是交叉熵--这种测量方法不适合权衡两个没有重叠的分布。

0x02 相关工作

2.1 传统方法

DBSCAN、遗传算法、ID3决策树和C4.5决策树,RBF核的SVM分类器等等

不足

  • 决策树需要大量内存
  • SVM需要最佳的超平面划分,处理高维度的耗时增加
  • 样本稀少导致性能不足

2.2 基于GAN的方法

  1. GAN是用学习的正常分布去比对测试的分布情况判断异常
  2. Thomas Schlegl等人解释了这种算法,开始时随机选择了潜空间中的一个潜状态z1,然后通过生成器得到G(z1),一个真实空间样本。最后,通过在G(z1)和测试样本之间定义的异常得分(一个可减损的函数),测试样本的相应潜伏状态的位置通过反向传播算法的迭代过程进行优化。
  3. 反向传播的算法耗时性不适合及时检测,Houssam Zenati等人采用BiGAN方式同时学习真实空间到潜伏空间的映射,减少时间成本

不足

  1. 耗时性强
  2. 训练特征的离散性,交叉熵损失函数致命性
  3. 训练的特征局部性导致学习分布不完整

0x03 作者团队的工作

3.1 设想的GAN结构

基于BiGAN结构,增加编码器,同时学习“真实和潜在"空间的映射,双边约束也利于有效的特征提取和明确的映射

图3:BiGAN的结构。z和E(x)是在潜伏空间,G(z)和x是在真实空间。训练过程结束后,z(初始化的潜伏状态)和x(来自训练集的样本)分别被转换为G(z)和E(x),然后这两对(G(z),z)和(x,E(x))将被塞进鉴别器,最后梯度更新将被送回优化发生器和编码器。

image-20220125102639254

3.2 训练过程

  • 使用对数准则的交叉熵损失函数是一种经典策略。交叉熵可以用来测量消除两个分布之间的不确定性所需的香农熵,所以它自然应该是两个分布P和Q之间的差距的测量。
  • 在机器学习领域,交叉熵并不是唯一的方法。因为在GAN的训练过程中,P可以被看作是一个常数变量,它代表了正常样本的分布。因此Kullback-Leibler(KL)发散也可以用来衡量两个分布的多样性。
    • Kullback-Leibler divergence:KL差异,又称KL距离,也被称为相对熵(Relative Entropy),它衡量的是相同事件空间里的两个概率分布的差异情况。
    • KL差异有不足之处:不对称性,不能用于表示两个分布之间的距离
  • 引入Jensen-Shannon divergence(JS发散)满足距离所要求的对称性。实际上,JS发散是大多数GAN工作的基础,这种发散在图像生成中确实有很大的帮助,在这个领域中,维度扩展并不严重。而对于网络入侵检测中具有离散特征的数据,如逻辑门的0-1表示和依靠One hot编码或dummy编码的非数字值,其维度扩展可能非常严重,因此真实样本和生成样本之间几乎没有重叠。
    • 例如,当一个潜伏空间的样本通过生成器被映射到更高维的真实样本空间时,高维空间的所有品种实际上都被低维空间的样本所制约。因此,高维空间的支持维度实际上就是潜空间的维度。在维度扩展的作用下,两个分布必然会有少量的重叠,但由于One Hot编码或Dummy编码的存在,离散特征会使其加剧。而当两个分布有少量重叠时,JS发散将不可避免地收敛为一个常数,然后导致梯度消失的发生。
  • Martin Arjovsky等人用Wasserstein Distance取代了JS发散。与交叉熵测量相比,它也有利于判别过程,有助于改善生成过程,产生更稳定、更优质的结果。
    • Wassertstein Distance,又称Earth-Mover距离(EM距离),用于衡量两个分布之间的距离
  • 采用优化的神经网络。放弃经典的卷积核,采用FC(Full Connection)层和Dropout操作方式

3.3 异常状况评估

  • 异常入侵检测目前没有统一的标准,大多数应用是基于图像生成的。测试集与训练集的分布差异越大,则异常可能性越大
  • 设定异常得分和剩余损失函数,用于衡量测试样本和再生样本之间的不相似性。
    • Goodfellow等人强调,特征匹配解决了由于过度训练判别器响应而导致的GANs的不稳定性,因此在特征匹配技术中,生成器被授权生成与训练数据具有相似统计量的数据,而不是通过最大化生成的样本上的判别器输出来优化生成器的参数
  • 定义识别损失,其功能是学习特征代表。,f是嵌入鉴别器的中间层,f(-)是该层的输出,Σ显示可以存在几个中间层,直到实际情况,而且中间层越接近识别器产生的最终对数,系数就越大。
  • 异常得分判断异常样本
    • 第一个是在现实生活中比较实用的。简单地说,我们需要把丰富的已经知道的入侵样本加入到一个经过良好训练的模型中,以获得它们的异常得分。小于阈值代表正常,大于代表异常。这种方法适合于在线检测,因为不需要对正常样本和异常样本的比例作出判断,我们所需要的只是一个从经验中获得的阈值。
    • 第二种方法是基于正常样本和异常样本的比例,这种方法通常应用于数据集的测试,从而评估模型的性能。在实践中,我们需要在测试前得到污染率c%,在计算出所有样本的异常得分后,我们取前c%的得分并将其相对的样本标记为异常入侵。

图4:在测试中,当测试样本x进来时,其对应的潜在分布E(x)将通过编码器找到,并通过发电机找到测试样本的 "正常版本",G(E(x))。它们的L1损失是残差损失。在它们被送入鉴别器后,我们可以从中间层获得一些输出,而delta L1损失的加权和被定义为鉴别损失。

image-20220125165656586

0x04 实验

4.1 数据集

我们的实验是基于KDD-99(10%),这是一个广泛用于测试网络入侵探测器的数据集。这个数据库包含了一套标准的审计数据,其中包括在军事网络环境中模拟的各种入侵行为。这个数据集中的每个样本都是网络连接记录,有41个特征,如连接时间、协议类型和一个注明为 "正常 "或代表 "异常 "的攻击名称的字段名称。

4.2 数据预处理

  • 该数据集中异常数量远超于正常数量,因此将“异常”数据标记为正常,将“正常”数据标记为异常,来训练符合GAN“正常”样本占主体的实际情况。此技巧不会影响模型识别能力,因为纯粹的入侵检测是个二元问题
  • 对于数值不是数字的离散特征,转换为One Hot编码或者Dummy编码
  • 将初始数据集(大约50万个样本)随机分成两组,然后从其中一组中选择正常标签的样本作为训练集来训练我们的模型,随后从另一组中按污染率比例挑选正常标签和异常标签的样本作为测试集。

4.3 结果

  • 传统异常检测方法如孤立森林、稳健协方差和其他基于GAN的模型,比较结果如图,准确率、召回率,F1比较如下
  • image-20220125171030975
    • Isolation Forest:孤立森林、OC-SVM:One Class-SVM(单类支持向量机)、DSEBM:Deep Structured Energy Based Model(深层结构能量模型)
    • DSEBM:用于异常检测的方法,基于EBMs算法。Deep Structured EBMs 算法是将EBMs算法扩展到了深度结构上面,同时在底层网络进行了编码,以使其能够适用于多种结构。DSEBM-r和DSEBM-e区别在于选取停止迭代的准则不同
  • 考虑到网络入侵的不同发生频率,我们还探讨了不同的污染率对我们模型的影响,我们依次选择了20%、10%、5%和1%作为污染率,其精度、召回率和F1得分的变化见图5。

image-20220125172429946

4.4 开销

  • 时间开销,达不到即时性
  • 在不同计算平台上计算开销,作者模型具有更好的速度表现

0x05 结论

GAN可以用于网络入侵检测任务。BiGAN的双边结构有利于以更准确的方式构建潜在空间和真实空间之间的映射,我们采用的Wasserstein距离在权衡两个很少重叠的分布之间的差异方面表现良好,多个中间层对评估目标样本的异常得分是有利的。我们设计的模型在网络入侵检测任务上优于以前基于GAN的模型。同时,它明显地减少了训练和测试过程中的时间成本。

总结

  1. 关键点:无监督学习、生成对抗网络GAN
  2. 离散数据处理需要运用One Hot和Dummy编码,造成维度灾难
  3. 作者基于BiGAN的结构,利用Wasserstein距离进行分布比较
  4. 定义识别损失函数,与传统交叉熵损失函数相比有较好的效果
  5. 时间成本降低
  6. 缺点:检测即时性不强,难以立即发现明显的异常情况
posted @ 2022-02-16 08:30  王二狗喵喵喵  阅读(265)  评论(0)    收藏  举报