【RNN+加密流量A】CBSeq: A Channel-level Behavior Sequence For Encrypted Malware Traffic Detection

论文简介

原文题目:CBSeq: A Channel-level Behavior Sequence For Encrypted Malware Traffic Detection
中文题目:CBSeq:用于加密恶意软件流量检测的通道级行为序列
发表期刊:IEEE Transactions on Information Forensics and Security
发表年份:2023
作者:Susu Cui
latex引用

@article{cui2023cbseq,
  title={CBSeq: A Channel-level Behavior Sequence For Encrypted Malware Traffic Detection},
  author={Cui, Susu and Dong, Cong and Shen, Meng and Liu, Yuling and Jiang, Bo and Lu, Zhigang},
  journal={IEEE Transactions on Information Forensics and Security},
  year={2023},
  publisher={IEEE}
}

摘要

机器学习和神经网络已经成为越来越流行的加密恶意软件流量检测解决方案。它们挖掘和学习复杂的流量模式,通过拟合恶意流量和良性流量之间的边界来实现检测。与基于签名的方法相比,具有更高的可扩展性和灵活性。

然而,受恶意软件频繁变异和更新的影响,现有的方法存在较高的误报率,无法很好地检测未知恶意软件流量。实现有效的恶意软件流量检测仍然是一项关键任务。

在本文中,我们引入CBSeq来解决上述问题。CBSeq是一种构建稳定的流量表示、行为序列,表征攻击意图,实现恶意流量检测的方法。我们新颖地提出具有相似行为的信道作为检测对象,并提取旁信道内容构建行为序列。与良性活动不同,恶意软件的行为序列及其变种流量显示出坚实的内部相关性。此外,我们还设计了基于transformer的多序列融合分类器MSFormer。它捕获行为序列的内部相似性,从而区分恶意流量和良性流量。我们的评估表明,CBSeq在各种已知恶意软件流量检测中表现有效,在未知恶意软件流量检测中表现优异,优于最新方法。

存在的问题

不幸的是,尽管基于机器学习的方法已经得到了广泛的研究,但由于恶意软件的频繁变体和更新,它们仍然难以在现实环境中实现有效的性能。具体来说,这些方法依赖于收集到的已知恶意软件流量和提取的特征来进行模型拟合。然而,在现实环境中,攻击者通常会重新打包旧的恶意软件并重用已知的攻击模式,从而生成许多未知的恶意软件。

  1. 与旧恶意软件相比,更新后的未知恶意软件通常采用各种规避方法,如新的传输协议或隧道,以逃避网络入侵检测。因此,未知恶意流量改变了原有的统计特征(如报文间到达时间、报文长度),使得基于统计的方法难以做出有效的判断。
  2. 此外,攻击者也在逐渐避开指纹和易受攻击的特征。例如,攻击者使用密码阻碍来随机化SSL/TLS签名以逃避检测。因此,这将使特定于字段的方法无效。

论文贡献

  1. 新颖地考虑具有相似行为的信道作为检测对象,并构造行为序列来表示攻击意图。
  2. 提出使用word2vec将行为序列转换为有意义的数字向量,增强恶意软件流量的相互关联。
  3. 设计了MSFormer,一个强大的基于transformer的多序列融合分类器。MSFormer为不同的序列构建独立的子网。子网基于注意机制捕获序列关系,实现有效、准确的检测。
  4. 通过已知和未知恶意软件流量检测场景验证了CBSeq的有效性和效率。与基线方法相比,CBSeq对已知恶意流量检测的AUC值提高了1.4%,对未知恶意流量检测的AUC值提高了16.0%。与最先进的方法相比,CBSeq具有最高的性能。

论文解决上述问题的方法:

尽管频繁更新和变体,恶意软件的攻击意图通常保持稳定,并显示出坚实的相互行为相关性。使用通道可以让我们更全面地探索丰富的行为特征。其次,聚合具有相似活动的通道并提取行为序列来表征攻击意图。尽管存在大量未知恶意软件,但其攻击意图相对固定。它们通常在短时间内产生相似的网络连接[1],[21]。因此,我们从攻击意图的角度构建行为序列,以提高稳定性和未知检测能力。

论文的任务:

transformer流量二分类

1. 方法

在这里插入图片描述

  1. 行为序列构建

    (1)通道流量聚合

    网络流量是连续报文的集合。为了进行流量分析和检测,我们首先按照24小时的时间窗口对连续流量进行拆分。考虑到日常活动的相似性和时间偏好偏差,我们设置了这个24小时窗口。

    • 每24小时内表现出的行为往往是相似的。因此,将交通划分为24小时窗口并没有导致重要行为模式的丧失。
    • 其次,我们考虑某些恶意软件在一天中的特定时间更频繁地展示活动的趋势。

    根据频道汇总每日流量。来自不同通道的流量按照起始时间进行排列,每个通道通常包含多个流。

    (2)信道抽象特征提取

    从信道流量中提取抽象特征。根据恶意软件的功能,受感染主机产生的网络活动是多种多样的。然而,尽管恶意软件和攻击活动种类繁多,但它们可以根据流量统计进行总结和分类。我们总结并重点关注以下两种类型的攻击:

    • 单节点持续攻击:它主要针对特定的服务器进行端口扫描或访问。例如,Trickbot定期向C&C服务器发送消息这种类型的攻击通常会导致受感染主机和特定服务器之间的大量连接,并且这些连接的行为相似。在流量级别,它表现为内部包含多个流且流之间具有相似行为的通道流量。例如,同一通道中流之间的到达时间、持续时间、传输的数据量和访问的端口更相似。
    • 多节点瞬态攻击:它主要针对多个受害主机进行恶意软件传播。与单节点持续攻击不同,在多节点瞬态攻击中,受感染主机内的通道流量由较少的流组成,并且流之间很少有相似的行为。
      然而,来自不同通道的流之间存在类似的行为。例如,Geodo与一种以电子邮件为攻击载体的蠕虫合作,从C&C服务器获取大量目标电子邮件地址,并向这些电子邮件地址发送类似的电子邮件,传播恶意软件[45]。因此,在流量级别上,不同通道之间的数据传输量、流量数和持续时间有很大的相似性。

    由于单节点持续攻击产生的通道流量在其内部流之间具有相似的行为,因此可以用单通道流量来表征攻击意图。而多节点瞬态攻击主要表现为多个通道之间行为相似。

    为了挖掘多节点瞬态攻击的网络行为,我们首先从信道流量中提取抽象特征。我们使用持续时间、流量计数、总数据大小、上行数据大小和下行数据大小作为通道抽象特征,并将它们视为通道的概述

    (3)聚类
    在这里插入图片描述

    由于攻击活动通常在特定的时间间隔内完成,因此我们认为恶意通道的类似活动是有时间限制的。(意思就是说:可能白天的攻击行为和晚上的攻击行为不一样,因此不能划分到同一个通道中),出于这个原因,我们基于时间窗口对集群进行切片,使同一集群的各个通道属于同一时间窗口

    使用DBSCAN进行聚类,该算法有两个重要参数:

    • MinPts:它指的是一个区域被认为是密集的,需要聚集在一起的最小点数(阈值)。
    • Eps:这是一种距离度量,用于定位任何点附近的点

    eps的设置应尽量小,以保证同一集群中只有一个流量标签。

    (4)行为序列提取与构造

    如图3所示:

    • 对于只包含一个通道的集群,提取的通道序列表示集群行为序列。
    • 对于包含多个通道的聚类,将提取的通道序列进一步按照通道的时间顺序连接起来,构建行为序列。

    无论集群是由单通道还是多通道组成,从例子中可以明显看出,上述四种类型的序列具有内部相似性。因此,我们认为以上四种类型的序列可以有效地揭示攻击意图。

    (5)嵌入

    尽管四个序列都是用数字表示的,但原始数字不能更好地表示通道的活动意图。有以下两个原因:

    • 包数差异显著。观测流量的包号取值范围为1 ~ 3203169。虽然规范化可以解决受显著数值差异影响的问题,但理论上,包数没有最大值。由于实际流量的数据分布,这可能会极大地影响规范化结果。因此,这将直接降低模型的检测结果。
    • 尽管用数字表示,但在更近的数字之间,源端口和目的端口的含义并不相似[12]。例如,端口80和端口8080表示相同的web服务,尽管它们相距很远。但是,端口22和端口23相隔很近,端口22用于SSH,端口23用于Telnet。因此,为了更好地捕捉序列中的行为特征和活动意图,我们采用词嵌入来表示原始行为序列。

    因此为了更好地捕捉序列中的行为特征和活动意图,我们采用词嵌入来表示原始行为序列。在本文中,我们使用CBOW算法来训练word2vec模型。我们分别针对PN序列、IAT序列、SP序列和DP序列训练了相应的word2vec模型。序列中的每个数字被转换成一个有意义的数字向量。

  2. MSFormer

    在这里插入图片描述

    • 输入层:四个编码好的行为序列
    • 编码层:编码器包含4个具有相同结构的子编码器,每个子编码器由6个相同的编码器块组成。编码器块由多头注意和前馈网络两个子层组成。此外,每个子层都有一个添加和规范模块。
    • 分类器:分类器将输出序列转换为检测概率。首先,它对输出序列执行平均池化,以产生表征整个序列的单个向量。然后,使用线性层将该向量映射为二维向量。最后,对四种序列生成的四个向量进行求和,利用Softmax生成检测概率,用于加密恶意软件流量检测。
    • 输入层:4*[batch_size, sequence_len, embedding_size]
    • 编码层输入:4*[batch_size, sequence_len, embedding_size]
    • 编码层输出:4*[batch_size, sequence_len, encoder_embedding_size*8](8个注意头)
    • 分类器输入:4*[batch_size, sequence_len, encoder_embedding_size*8]
    • 分类器池化输出:4*[batch_size, 1, encoder_embedding_size*8]
    • 分类器线形层输出:4*[batch_size, 2]
    • 分类器线性层求和输出:[batch_size,2]
    • softmax进行分类

2. 流程总结

第1步:通道流量聚合
原因:使用通道可以更好的描述攻击意图
方法:将相同源IP和目的IP的流进行合并构成通道

第2步:通道抽象特征提取
原因:多节点瞬态攻击往往会被分到不同的通道,但它们之间存在关联,需要对他们进行聚类,因此需要提取特征,为后面对通道的聚类做准备。
方法:提取每个通道的抽象特征,包括持续时间、流量计数、总数据大小、上行数据大小和下行数据大小:

第3步:聚类
原因:因为多节点瞬态攻击虽然被分到不同通道,但他们之间存在相关性,因此需要对这些通道进行聚类,以更好地描述攻击意图。
方法:使用DBSCAN算法对第2步收集的抽象特征进行聚类,这样可以使得一些多节点瞬态攻击被合并到一个集群

第4步:行为序列提取与构造
原因:对第3步中各个集群进行行为序列的提取,以描述其攻击行为
方法:对于包含多个通道的集群,按攻击行为的时间顺序进行排列。收集以下四个序列,分别是:

  • PN序列:由客户端在通道内的每个流中发送的数据包数量组成;
  • IAT序列:该序列由通道中流之间的间隔到达时间组成。它是当前流的开始时间和前一个流的开始时间的减去值。因此,时间间隔序列的第一个值总是0;
  • SP序列:该序列由通道中每个流的源端口组成;
  • DP序列:该序列由通道中每个流的目的端口组成。

第5步:嵌入
原因:尽管四个序列都是用数字表示的,但原始数字不能更好地表示通道的活动意图。因为包数差异显著以及相近的数字之间不一定表达相似的行为。因此需要进行词嵌入。对每个序列中的原始数字进行编码。
方法:使用CBOW方法进行嵌入。训练方法:使用[53][54]这篇文章的数据集进行训练

第6步:transformer分类
原因:对四个序列分别进行
方法:将编码好的四个行为序列作为输入。编码层包括四个具有相同结构的子编码器,每个编码器由六个相同的编码器块组成。分类器将输出序列转换为检测概率。首先,它对输出序列执行平均池化,以产生表征整个序列的单个向量。然后,使用线性层将该向量映射为二维向量。最后,对四种序列生成的四个向量进行求和,利用Softmax生成检测概率,用于加密恶意软件流量检测。

3. 实验

  • 数据集

    在这里插入图片描述

  • 参数调优

    • 聚类eps:最优值为1
      在这里插入图片描述
    • embedding_size:最优值为100
      在这里插入图片描述
    • 最大序列长度:最优值为16
      在这里插入图片描述
  • CBSeq的设置:

    • 聚类时,设置时间窗口为4个小时
    • eps = 1
    • minPts = 1
    • embedding_size = 100
    • block_size = 6
    • multi-head = 8
    • batch_size = 8
    • 优化算法:Adam
    • learning_rate = 0.00001
    • epoch = 20
  • baseline:

    • Joy and Joy-enhanced [10], [11]:
    • CIC-Flow[6]- [8]
    • DANTE [12]
    • TCC [35]
  • 评估标准:

    • TPR
    • FPR
    • ROC
    • AUC
  • 模型效果

    • 加密已知恶意软件流量检测
      在这里插入图片描述
    • 加密未知恶意软件流量检测
      在这里插入图片描述
  • 消融实验

    • 嵌入的必要性:
      在这里插入图片描述
    • 四个序列的必要性:
      在这里插入图片描述
  • 可视化

    在这里插入图片描述

总结

论文内容

  1. 学到的方法

    理论上的方法:

    1. 除了数据包,流,会话,还可以从通道级别进行切入。
    2. 对通道的聚类
    3. 四个能够描述攻击行为的序列

    写论文的方法:

    1. 实验要包括:
    • 数据集
    • 参数(参数调优)
    • baseline
    • 评估标准
    • 模型效果
    • 消融实验
    • 可视化
  2. 论文优缺点

    优点:

    1. 创新性的提出了从通道的角度来进行流量检测
    2. 引入了transformer及性能流量检测

    缺点:

    1. 只做了二分类,没有进行多分类

数据集

  • Stratosphere laboratory datasets(这是篇文献)

可读的引用文献

  • Good bot, bad bot: Characterizing automated browsing activity
  • Kitsune: An ensemble of autoencoders for online network intrusion detection
  • Stratosphere laboratory datasets
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值