Detecting Bots with Limited Data

  • A+
所属分类:安全闲碎

Detecting Bots with Limited Data


笔记作者:Norns

原文标题:Throwing Darts in the Dart? Detecting Bots with Limited Data using Neural Data Augmentation

原文作者:Steve T.K. Jan,Qingying Hao,Tianrui Hu,Jiameng Pu,Sonal Oswal,Gang Wang,Bimal Viswanath

发表会议:2020 IEEE Symposium on Security and Privacy

原文连接:https://ieeexplore.ieee.org/document/9152805

Introduction

近年来,机器学习的方法已经广泛应用于威胁检测系统。相较于基于规则的检测方法,机器学习算法可以识别出规则和签名难以表示的隐藏的模式。然而,机器学习方法需要大量的带标签的数据来对分类模型进行训练和再训练,而带标签的数据通常是难以获取的。一个可能的解决方法是使用数据合成的技术。这一方法的困难在于,数据的分布,尤其是未来数据的分布是未知的。为了解决这一问题,本文提出了一种新的数据合成方法,并构建了一个叫ODDS(Outlier Distribution aware Data Synthesis) 的模型用于检测僵尸网络。作者将ODDS与普通的僵尸网络检测模型进行对比,实验的结果表明:ODDS在表现上要优于普通僵尸网络检测模型,尤其是当只有有限的训练数据集时。

Problem Definition

Problem-1:有限的带标签的数据

为数据打上标签一直是监督学习的难点,尤其是当为数据打上标签需要大量的人力时。然而,使用机器学习的方法检测僵尸网络需要大量带有标签的数据。同时,为了保障模型能够适应新出现的僵尸网络,需要不断地向模型喂入带标签的数据。对于僵尸网络检测来说,CAPTCHA是一个给数据定标的好的方法。然而,CAPTCHA无法应用于所有请求,因为这样会降低用户的使用体验。

Problem-2:通用性较差

大多数僵尸网络检测方法不具备通用性,局限于特定的场景,一个预先训练好的模型无法在不同的场景中使用。

Solution

Solution-1

常用的解决方案是使用数据合成技术。作者在文中提出了一个基于GAN(生成对抗网络) 的名为ODDS的模型。ODDS主要含有3个步骤:

  1. 第一步对数据进行预处理,学习输入数据的潜在特征。文章中使用LSTM-autoencoder将输入的特征向量压缩在一个维度更小的特征空间。

  2. 应用DBSCAN将压缩的特征空间中的数据划分为聚类的和离群的。

  3. 对模型进行训练。

不同于标准的GAN,这个模型包括三个部分:两个Generator和一个Discriminator。作者将特征空间分为聚类区域离群区域,在不同的区域上使用不同的生成数据的策略,如图所示:

Detecting Bots with Limited Data

ODDS模型如图所示:

Detecting Bots with Limited Data

Solution-2

为了提高模型在不同应用之间的通用性,文章的检测模型选择使用网络级的信息,而不是选择应用级的特征。为了进一步提高模型在不同Web服务之间的可移植性,文中设计了一种新的编码方案:基于滑动窗口的频率编码。这种编码方式不直接对原始实体进行编码,而是对实体出现的频率进行编码。为了满足处理新的/稀有的实体和实时检测的需求,这种方法使用了滑动窗口。

Detecting Bots with Limited Data

Evaluation

文章从多个方面评估ODDS的性能。以下列举几个方面:

  1. 在有足够的训练数据集时,ODDS的表现如何?

    作者使用18年8月前两个星期的所有数据作为训练集,对RFOCANLSTM以及ODDS进行训练,并使用该月后两个星期的数据作为测试,测试模型的性能。实验结果表明:ODDS可以提升模型的表现。实验结果如下:

    Detecting Bots with Limited Data
  2. 在有限的数据集上,ODDS的表现如何?

    对比前一个实验,本次实验使用训练集中的部分数据对模型进行训练,使用同一个测试集进行测试。实验结果表明:面对有限的数据,ODDS在性能上有着明显的优越性。模型在B站点数据的结果如下:

    Detecting Bots with Limited Data
  3. 模型能否长时间保持有效?

    在本次实验中,使用18年8月前两个星期1% 的数据作为训练集,19年1月和9月的数据作为测试集,并使用LSTMODDS进行对比。实验结果表明:ODDS能够在长时间能保持较好的性能。实验结果如下:

    Detecting Bots with Limited Data
  4. 模型能否能更好地再训练?

    在本次实验中,作者先使用18年8月前两个星期的1% 的的数据作为训练集训练模型,然后每到新的一个月,使用前1% 的数据进行训练,并使用该月剩余的数据进行测试。实验分别使用LSTMODDS进行对比。实验结果表明:ODDS能够在再训练后保障较好的性能。实验结果如下:

    Detecting Bots with Limited Data

Conclusion

本文中提出了一个基于网络流的僵尸网络检测模型,并提出了一个新的数据合成方法。这种方法相较以往方法的创新点在于这种数据合成的方法考虑了数据的分布,可以预测未来数据在特征空间中的分布。这种方法可以使用有限的数据对模型进行训练并取得较好的效果,并且能以较低的代价对模型进行再训练。

安全学术圈招募队友-ing, 有兴趣加入学术圈的请联系secdr#qq.com

Detecting Bots with Limited Data


本文始发于微信公众号(安全学术圈):Detecting Bots with Limited Data

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: