《 Low-Quality Training Data Only? A Robust Framework for Detecting Encrypted Malicious Network Traffic》
《仅依赖低质量训练数据?一个用于检测加密恶意网络流量的鲁棒框架》
很好的论文,使我的小学期通过,爱来自小郭🫶

论文源码:https://github.com/xxnormal/rapier

论文原文:Low-Quality Training Data Only? A Robust Framework for Detecting Encrypted Malicious Network Traffic

通过 4.1节 快速了解该系统

image-20240901100803901

0 摘要

机器学习(ML)在准确检测加密网络流量中的恶意流量方面具有很大的潜力;然而,收集包含足够数量的正确标签的加密恶意数据的训练数据集是一项挑战。当使用低质量的训练数据训练ML模型时,它们的性能会下降。

本文旨在解决一个现实世界中的低质量训练数据集问题,即检测由不断进化的恶意软件生成的加密恶意流量。我们开发了RAPIER,它充分利用了正常流量和恶意流量在特征空间中不同的分布,其中正常数据紧密分布在某个区域,而恶意数据则分散在整个特征空间中,从而增加训练数据以用于模型训练。RAPIER包含两个预处理模块,用于将流量转换为特征向量并纠正标签噪声

我们在两个公共数据集和一个组合数据集上评估了我们的系统。在每个数据集上使用1000个样本和45%的噪声,我们的系统分别达到了0.770、0.776和0.855的F1得分,相较于现有方法分别取得了352.6%、284.3%和214.9%的平均提升。此外,我们使用从某安全企业获得的真实世界数据集评估了RAPIER。RAPIER有效地实现了加密恶意流量检测,并在现有方法的F1得分上平均提高了272.5%。

1 引言

基于网络的入侵检测方法已经被广泛开发,用于检测不同网络中的恶意流量。随着越来越多的恶意软件开始使用加密协议来隐藏流量内容,传统的侧重于分析明文负载的检测方法已变得过时。基于学习的方法通过分析加密的网络流来提升恶意行为检测能力。这些设计通常是监督式的,严重依赖于包含高质量数据样本的训练数据集来构建准确且稳健的检测模型。

然而,收集高质量的训练数据并非易事。首先,收集具有时效性的恶意软件数据是困难的。典型的方法是将现实世界中捕获的恶意软件样本在受控的沙箱环境中执行,并收集生成的流量。然而,由于恶意软件不断演变,捕获的恶意软件样本通常缺乏足够的时效性。其次,为收集的数据打标签在实践中也是困难的。通过恶意软件检测服务预测的数据标签并不总是可靠的。例如,由Virustotal分配给恶意软件的标签可能在不同年份发布的报告中有所不同。此外,手动标注数据的成本不容忽视。当前的标注方法导致了收集数据集中可能存在的标签噪声。不幸的是,加密协议(例如SSL/TLS)使我们无法手动纠正这些噪声。因此,现实中收集到的训练数据集在质量和数量上通常都很有限。

现有研究表明,训练样本数量有限或训练样本存在标签噪声会导致模型在新数据上的泛化能力下降。当有限的训练样本中存在标签噪声时,问题会更加严重。然而,现有的技术,如数据增强和对标签噪声具有鲁棒性的机器学习模型,无法解决这一问题。具体而言,数据增强方法基于现有训练数据的分布来合成新数据。然而,标签噪声会混淆不同类别的分布,导致根据错误分布合成新数据,从而可能产生更多的标签噪声。此外,为了纠正标签噪声对模型训练的影响,现有研究依赖于强假设和先验知识(例如样本被错误标注的概率)或大型训练集来揭示每个样本的内在特性。然而,在我们的问题中,这些前提条件都不成立。最近的加密流量分类方法通过从额外的大规模无标签训练数据中转移知识来提高有限标签训练数据下的性能。然而,收集和预处理这样的大规模数据集成本高昂,还可能增加隐私泄露的风险,即攻击者可以从训练好的机器学习模型中推断出训练数据的属性。

在本文中,我们提出了一种新颖的加密恶意流量检测系统RAPIER,它对低质量的训练数据具有鲁棒性。其核心思想是利用正常和恶意流量数据在分布上的差异来估计每种数据的可能位置由于我们的系统不依赖于样本标签的正确性或训练数据的数量,它可以在包含标签噪声的低质量数据集上进行训练。因为正常行为通常比恶意行为更具有代表性和一致性,正常数据往往在分布上更密集,而恶意数据则更加分散。因此,我们可以根据数据的分布推断出训练样本的真实标签。武装攻击者可能会通过生成与正常数据分布相似的恶意数据来模仿正常行为。在这种情况下,我们会在新恶意数据的可能分布区域中合成新的训练数据,以提高我们模型的泛化能力

RAPIER由三个紧密耦合的组件驱动

  1. 首先,我们提出了一种新颖的特征提取模块,将原始加密网络流量转换为表示细粒度行为的特征向量。基于改进的自编码器架构,我们的特征提取模块以无监督的方式工作,防止错误标签污染特征向量。
  2. 其次,我们设计了一个基于分布感知的标签噪声纠正模块,用于推断原始训练样本的真实标签。该模块通过自回归生成模型估计训练数据的分布,重新标注显示出最明显分布特征的训练数据,并通过集成学习推断其余数据的标签
  3. 最后,我们开发了一个新的数据增强模块,用于合成新的训练数据。通过标签已纠正的训练数据,该模块选择新恶意数据可能的分布区域,并应用改进的生成对抗网络(GAN)模型生成位于这些目标区域的新训练数据。合成的数据与标签已纠正的数据相结合用于训练。

综上所述,我们的贡献如下:

  • 我们开发了一种名为RAPIER的系统,在训练数据有限且存在不可忽视的标签噪声的情况下检测加密恶意流量。这是第一个能够同时克服训练数据不足和标签噪声挑战的恶意软件流量检测系统。
  • 我们实现了RAPIER,并基于两个公共数据集和一个组合数据集进行了广泛的评估。在每个数据集上仅使用1000个训练样本(即500个恶意样本和500个正常样本)和45%的噪声比例,RAPIER分别达到了0.770、0.776和0.855的F1得分,平均提升了352.6%、284.3%和214.9%。
  • 我们使用从某安全企业收集的真实世界数据集对RAPIER进行了评估。当噪声比例在20%到45%之间变化时,RAPIER达到了最佳的标签纠正性能,稳定地将噪声比例降低到4.3%以下。此外,它还能够有效地实现加密恶意流量检测,最佳F1得分为0.773,平均提升了272.5%。

2 背景

2.1 数据增强

数据增强技术可以有效地增加训练数据集的规模,而无需显式地收集新数据。

最常见的数据增强策略是过采样,即从少数类样本中复制样本。特别是,新训练样本可以从少数类示例中随机采样,或者基于现有训练样本及其最近邻居的随机组合进行合成。结果是,由于数据的多样性有限,机器学习模型可能会对训练集过拟合。

最近,生成对抗网络(GAN)已被开发并广泛应用于图像分类等领域的数据增强中。典型的GAN由两个主要组件组成:生成器学习特定的数据分布以生成新数据,判别器则尝试区分新生成的数据和原始训练数据。在对抗训练框架的驱动下,生成器可以学习原始训练数据的分布,然后创建符合该分布的各种新训练数据,以增加有限训练数据的多样性。然而,所有这些方法对标签噪声不具有鲁棒性。错误标记的训练样本会混淆不同类别的数据分布,从而产生更多的标签噪声。因此,现有的数据增强方法无法解决加密训练数据的低质量问题。

2.2 鲁棒的机器学习模型

鲁棒的机器学习模型旨在减轻错误标记的训练数据对模型泛化能力的影响。

特别地,一些模型利用鲁棒的损失函数来实现对正确标记和错误标记的训练数据的相同误分类概率。这些方法通常依赖于一个假设,即属于一个类别的样本被错误标记为另一个类别的概率是相等的;然而,这种假设在实践中并不总是成立。

其他模型通过应用标签转移矩阵来纠正噪声标签对损失值的影响,标签转移矩阵记录了一个类别被错误标记为另一个类别的概率。然而,标签转移矩阵通常是未知的。最近的研究通过自动选择噪声训练集中的错误标记样本来解决这个问题,例如,错误标记样本在训练阶段的损失值通常高于真正标记的样本。然而,当训练样本数量减少时,这些方法的适用性受到限制。

3 问题陈述

本文旨在开发一个系统,该系统可以通过识别恶意软件生成的加密恶意流量来检测内部网络(例如校园或企业网络)中的恶意软件感染。该检测系统部署在内联网的网关处,以同时监控所有内部主机的出站流量。为了部署该系统,网络管理员需要收集并标记内部网络中的加密网络流量,以创建训练集。然而,由于恶意软件样本和加密流量负载的稀缺性,训练集通常质量较低,即训练数据量有限且数据中存在不可忽视的标签噪声。由于训练样本收集需要人工检查,训练样本的数量通常远小于测试数据,并且样本可能被错误标记。

形式上,令(x_i,y_i) 表示一个加密样本 x_i (例如,两个主机之间的流或会话)及其真实标签 y_i\in\{0,1\},其中0或1分别代表正常或恶意样本。检测系统的输入是一个低质量的训练集D_{\mathrm{train}}=\{(x_i,\tilde{y}_i)\}_{i=1}^N和一个测试集D_\mathrm{test}=\{x_\mathrm{test}\},其中N\ll|D_{\mathrm{test}}|,且\tilde{y}_i是一个可能与y_i不一致的噪声标签。我们的目标是利用
D_{\\train}准确推断出x_{\\test}的标签。

我们的目标是解决现有加密恶意流量检测方法的局限性,开发一个在更现实的场景中适用的加密恶意流量检测系统。首先,我们考虑训练数据中的两个问题,即数据不足和不可忽视的标签噪声,而现有工作通常只尝试解决一个问题。其次,我们的系统不需要额外的数据来提高检测性能,除了一个低质量的训练集。最近的研究利用额外的大规模无标签训练集来转移知识以进行检测。然而,收集这样的大规模流量用于训练既耗时,又可能引发隐私泄露的风险(例如,攻击者可以从已训练的机器学习模型中推断出训练数据的属性)。我们不考虑恶意流量随时间推移展现出与正常流量相同的分布的情况。这是概念漂移的一种极端情况,最好通过引入更细粒度的特征并重新收集整个训练集来解决。

4 系统详解

4.1 概述

我们基于一个关键的观察设计了我们的系统,即正常数据和恶意数据的分布不同。

首先,正常(即良性)流量具有较强的代表性。此前的恶意流量检测研究经常利用正常流量的这一特征来设计模型。其次,由于网络主机可能感染多种恶意软件,恶意流量相对多样化

  • 因此,我们观察到正常数据的分布趋于相似且更为密集,而恶意数据(可能由多种恶意软件生成)的分布则较为稀疏。所以,给定一个含有噪声的训练集,我们可以推断出分布最密集和最稀疏部分的训练样本的真实标签,并以此为基础纠正其他训练样本的标签。
  • 此外,由于复杂的攻击者可能会通过生成类似于正常行为的恶意数据来逃避检测,新的恶意数据的分布可能会随着时间推移靠近正常数据。因此,我们可以推断出新恶意数据的分布,并通过合成新的训练数据来提高基于机器学习的检测器在未见测试数据上的表现。

RAPIER由三个主要组件组成,包括特征提取模块、标签噪声纠正模块和数据增强模块,如图1所示。

image-20240901100756221

整个系统的流程概括

  1. 特征提取模块利用改进的自编码器架构将原始加密流量转换为表示细粒度行为的特征向量,同时消除标签噪声对特征提取的负面影响。
  2. 接下来,标签噪声纠正模块应用自回归生成模型来准确估计有限但高维的训练数据的分布,并基于其分布特征修正训练样本的标签。
  3. 然后,使用标签已纠正的训练数据,数据增强模块推断出新恶意数据的可能分布区域,并应用改进的生成对抗网络(GAN)模型合成位于这些目标区域的新恶意训练数据。同时,为防止新生成的恶意数据加剧数据不平衡,该模块还合成了新的正常训练数据,以保持机器学习模型的决策边界。
  4. 最后,我们的系统利用基于Co-teaching和多层感知机(MLP)的机器学习检测器对合成的训练数据和标签已纠正的原始训练数据进行训练,以检测加密恶意流量。这里,我们应用Co-teaching来消除训练集中少量残留标签噪声的影响。其他对标签噪声具有鲁棒性的技术,如Decoupling,也适用。
  5. 在测试阶段,加密流量在被转换为特征向量后直接由已训练的基于ML的检测器进行检查。

4.2 特征提取

五元组信息->网络流->包长度序列作为特征输入->特征向量

特征提取模块将原始加密流量转换为特征向量,便于后续的标签噪声纠正和数据增强处理。它需要处理由多种类型和版本的加密协议加密的有效载荷。

传统的加密流量检测方法通过提取特定版本的TLS握手元数据或消息类型的特征来捕捉网络流量的细粒度行为。此外,现有的基于监督模型的自动流量分析方法由于低质量训练集中不可忽视的标签噪声,无法准确选择特征。

为了在消除标签噪声影响的同时,分析加密网络流量的细粒度行为,我们的特征提取模块使用了一种基于自动编码器(AE)的架构,能够以无监督的方式自动学习输入数据中最具代表性的特征,并将标签噪声的影响最小化。该模块包括一个嵌入层、一个编码器、一个解码器和一个重构层。我们根据五元组信息(即源IP地址、目的IP地址、源端口、目的端口和传输层协议)将原始加密流量划分为网络流,并使用每个流的包长度序列作为特征提取的输入数据。与TLS握手元数据和消息类型信息相比,包长度序列更为通用,能够捕捉不同流之间的细微差异。AE中的编码器和解码器基于双向门控循环单元(bi-GRU),这使得AE能够分析顺序数据

4.2.1 嵌入层

我们用l=[l_1,l_2,\ldots,l_n]表示一个流中n个包的包长度序列,其中l_i是第i个包的长度。嵌入层是一个可学习的矩阵M\in R^{L\times V},其中L是单个包长度的数量,V是嵌入的维度。我们将l转换为嵌入序列v=[v_1,v_2,\ldots,v_n],其中v_i是通过检索矩阵M的第l_i行获得的V维向量。

这个不同与常规的嵌入矩阵,需要认真看一下。M[1]表示对于包长度为1的嵌入向量,M[n]表示包长度为n的嵌入向量,一个l_i就对应一个V维向量,它跟矩阵M的关系不是相乘,而是检索。

4.2.2 编码器

编码器堆叠了多个bi-GRU,用于从嵌入序列中学习代表性特征。GRU是处理顺序数据最流行的神经网络之一,它将输入序列视为一个时间序列,并计算每个时间步的隐藏状态,表示时间步之前序列的关键信息。时间步t的隐藏状态h_t是由时间步t-1的隐藏状态h_{t-1}和时间步t的输入v_t计算得出的。为简单起见,我们仅强调主要的计算过程:

h_t=GRU(h_{t-1},v_t)

其中h_th_{t-1}均属于R^H,H是GRU层的隐藏状态大小。

第一层的bi-GRU通过两个独立的GRU处理嵌入序列v:前向GRU的输入为v_1v_n,后向GRU的输入为v_nv_1。随后时间步t的隐藏状态可以通过以下方式计算得出:

\overrightarrow{h_t}=GRU(\overrightarrow{h_{t-1}},v_t)
\overleftarrow{h_t}=GRU(\overleftarrow{h_{t+1}},v_t)

注意,第i层的bi-GRU使用前一层的隐藏状态作为输入数据,并计算其隐藏状态。

由于最终时间步的隙藏状态捕捉了整个输入序列的关键信息,因此编码器将所有bi-GRU层的最终时间步的隐藏状态连接起来作为包长度序列的特征向量f_{encoder}。假设编码器包含B层bi-GRU, f_{encoder}可表示为:

f_{encoder}=(\overrightarrow{h_n}^{(1)},\overleftarrow{h_1}^{(1)},\ldots,\overrightarrow{h_n}^{(B)},\overleftarrow{h_1}^{(B)})\in R^{2BH}=R^d

其中d=2BH是特征向量的维度。

4.2.3 解码器

解码器使用类似的堆叠bi-GRU将特征向量转换回原始嵌入序列。特别地,第一层的bi-GRU在每个时间步上使用f_{encoder}作为输入数据,而其他层的bi-GRU则与编码器中的bi-GRU相同。解码器的输出是一个长度为n的序列,其中第i个元素是bi-GRU在第i时间步的隐藏状态。

4.2.4 重构层

最后,重构层通过多层感知机从解码器的输出中恢复包长度序列\hat{l}。在我们的特征提取模块的训练阶段,我们基于l\hat{l} 计算重构损失,并应用随机梯度下降优化算法,使得编码器能够学习加密网络流量的准确表示。

解码器跟重构曾是为了验证训练编码器的编码效果,编码器生成的特征向量通过解码器还原为原始输入,如果解码器能成功重构原始输入,意味着编码器所学习的特征向量成功地捕捉到了输入数据的关键信息。

4.3 标签噪声纠正

标签噪声纠正模块通过利用正常数据和恶意数据之间分布的差异来纠正低质量训练集中的错误标签。这个方法基于我们观察到的正常数据通常比恶意数据具有更密集的分布。

我们在三个公共数据集上验证了这一观察:DoHBrw2020、IDS2018和AAGM2017。对于每个数据集,我们随机选择了500个正常和500个恶意的网络流,并使用我们的特征提取模块提取每个流的特征向量。接下来,我们使用TSNE算法将特征向量的维度减少到1。最后,我们使用核密度估计来估计每种数据类型的分布。图2显示,正常数据的密度高于恶意数据的密度。

image-20240901161925215

因此,我们可以估计低质量训练数据的分布,然后识别位于分布最密集和最稀疏区域的训练样本,如图3所示。

image-20240901162029935

4.3.1 确定典型样本的标签

困难在于:这些样本可以分别标记为正常和恶意数据。然而,要实现这个目标面临着一些挑战。首先,经过特征提取后的训练数据是高维特征向量形式的。为了确保数据分布估计的准确性,降低训练数据的特征维度并不合适。然而,传统的统计方法如核密度估计无法准确估计高维数据的分布。其次,正常数据和恶意数据分布之间的差异可能并不显著,尤其是对于较少见的正常操作。仅根据它们的分布推断所有训练样本的真实标签变得困难。

提出的方法:我们开发了标签噪声纠正模块以解决这些问题。首先,我们基于深度生成模型估计训练数据的分布,该模型能够捕捉可观察变量的概率分布。得益于深度架构,深度生成模型可以学习不同特征之间的潜在相关性,并准确建模高维数据。根据估计的分布,我们重新标注具有显著分布特征的部分训练样本,然后利用它们作为基础通过集成学习推断其他训练数据的真实标签。

具体而言,我们采用了一种高效的自回归生成模型MADE,用于分布估计。MADE通过学习输入数据的概率密度函数来建模其分布。假设X是MADE的输入数据集,x=(x_1,x_2,\ldots,x_d)\in R^d是属于X的一个样本。MADE将输出一系列条件概率密度:

p(x_1),p(x_2|x_1),p(x_3|x_1x_2),\ldots,p(x_d|x_1x_2x_3\ldots x_{d-1})

然后,x的联合概率密度可以计算为:

p(x)=\prod_{i=1}^dp(x_i|x_1\ldots x_{i-1})

其中p(x_i|x_1\ldots x_{i-1})=p_M(x_i|\zeta_i),p_M是具有可学习参数\zeta_i的高斯混合函数。MADE通过最大化每个样本的似然来学习X的概率密度函数。样本的概率密度大致反映了样本在数据分布中的位置,例如在最密集或最稀疏的区域,这对于推断样本的真实标签非常有帮助。

我们从原始低质量训练集D_\mathrm{train}中选择一组具有正常标签的训练样本w_\mathrm{train},并仅将w_\mathrm{train}用作MADE的输入数据集。由于w_\mathrm{train}通常包含的真正恶意数据少于D_\mathrm{train} ,这种策略可以防止MADE为真正的恶意数据分配高密度值。它还有效地放大了真正正常数据和恶意数据之间的差异。

然后,我们获得D_{\tan}中每个训练样本的概率密度值,并采取以下步骤重新标注一些样本:

  1. 首先,我们从D_\mathrm{train}中选择一组H_\mathrm{train},其中H_\mathrm{train}中的样本具有比该集外样本更高的概率密度值。H_\mathrm{train}的大小设为\alpha\times|D_{\mathrm{train}}|,其中\alpha是一个预定义参数。
  2. 其次,我们计算H_\mathrm{train}中每个样本与其他样本的平均欧几里得距离,并选择一半具有较小距离值的样本。选择的样本,记为Ns,位于数据分布最密集的区域且彼此相似。因此,我们可以高置信度地将它们重新标注为正常训练数据。
  3. 第三,对于D_{\mathrm{train}}-Ns 中的每个样本,我们还计算具与Ns中所有样本的半均欧儿里得距离,并选择另一组具有较大此离值的样本,记为Ms。Ms中的样本位于数据分布的稀疏区域,并且与Ns最不相似。因此,我们将Ms重新标注为恶意训练数据。同时,我们将Ms的大小设置为与Ns相同,以防止在推断其他样本的真实标签时数据不平衡。

4.3.2 确定剩余一般样本的标签

最后,通过标签已纠正的Ns和Ms集合,我们通过集成学习推断D_{\mathrm{train}}-Ns-Ms中其他样本的真实标签。与应用单一分类器不同,我们选择集成学习,因为它可以提高有限训练数据下的分类准确性,并且对标签噪声更具鲁棒性。我们基于Ns和Ms构建了七个经典机器学习分类器的集成,包括线性判别分析 (LDA)、AdaBoost、随机森林、逻辑回归、高斯朴素贝叶斯、支持向量分类器(SVC)和XGBoost,以预测D_{\tan}-Ns-Ms中每个样本的真实标签(即正常或恶意)。这些分类器使用特征提取模块提取的特征向量。因此,我们可以得到标签已纠正的训练集D_{\tan}, 并将纠正标签后的训练样本分别记为D_\mathrm{normal}D_\mathrm{malicious}

4.4 数据增强

数据增强模块旨在通过标签已纠正的原始训练集D_{train}合成新的训练数据,从而提高在未见测试数据上的检测性能,这并非易事,原因如下:(i)我们应确保新训练数据的多样性。否则,机器学习模型可能仍然会对新训练数据过拟合,限制其泛化能力。(ii) 测试数据的分布可能与训练数据不一致,因为恶意软件一直在演变。

因此,传统的数据过采样方法和基于GAN的数据合成方法并不适用。特别地,过采样方法本质上是复制原始训练数据,而普通GAN模型只能生成符合原始训练数据分布的新数据。

为解决这些问题,我们预测新恶意数据的可能分布区域,并从这些目标区域采样以合成新的多样化训练数据

我们的数据增强模块通过根据数据分布合成正常数据和恶意数据来增强训练数据。我们认为新恶意数据可能位于以下两个特定区域

  1. 首先,考虑到复杂的攻击者往往会模仿正常行为以逃避检测,新的恶意数据可能会随着时间的推移变得更像正常数据。因此,在数据分布中,某些新恶意数据可能位于正常数据外且非常接近它的边界区域。
  2. 其次,由于新攻击方法的出现,例如零日攻击,新恶意数据可能与正常数据和原始恶意数据不同,即位于所有原始训练数据之外的区域。

然而,我们不能简单地在这两个区域内合成新的恶意训练数据,而不加剧数据不平衡。例如,当边界区域的恶意数据远多于正常数据时,机器学习模型的决策边界将会向正常数据区域移动,模型更可能预测恶意结果,即产生更多的误报。因此,我们的模块选择原始正常数据的边界区域来引导正常数据的生成,这对于保持机器学习模型的决策边界至关重要。

下面的图四很好的展示了这个策略:

image-20240901175901149

GAN懒得写了,需要的时候再说吧🥹

image-20240901180018589

5 实验评估

数据集 我们使用以下公共数据集进行评估:

  • CIRA-CIC-DoHBrw-2020 (DoHBrw) 包含正常和恶意的DNS-over-HTTPS(DoH)加密流量。正常流量是通过使用DoH协议查询良性DNS服务器(如Cloudflare和Google)生成的。恶意DoH流量是由三种不同的DNS隧道工具(包括dns2tcp、DNSCat2和Iodine)生成的。该数据集是在客户端和网关之间的位置收集的,所有数据都是HTTPS流量。
  • CSE-CIC-IDS2018 (IDS) 是一个广泛使用的入侵检测数据集,记录了一个内部网络中数百台主机生成的网络流量,并包括七个攻击场景。我们从此数据集中提取了加密流量作为评估数据。然而,它只包含少量恶意软件的加密流量。因此,我们使用了CIC-InvesAndMal2019数据集来补充评估数据,该数据集包含426个恶意软件样本生成的恶意加密流量,涵盖了广告软件、僵尸网络、付费短信、勒索软件、恐吓软件和短信等六种恶意软件类型。此外,为了确保用于评估的正常加密流量被正确标记,我们基于Alexa Top列表对其进行了过滤,并删除了攻击期间生成的流量。

表I显示了每个数据集根据流量的时间戳分为两个集。我们将数据集中第一天生成的所有流量放入集T1,剩余的数据放入集T2。在每次实验中,我们从T1中随机选择少量流量作为训练集,并利用整个T2作为测试集。

剩下的看论文原文。

6 讨论

极端标签噪声:当超过50%的数据被错误标记时(比随机标记更糟糕),我们的系统性能不可避免地会下降。然而,得益于我们精心设计的系统,在这种极端情况下,我们的系统仍然比其他基线方法更具鲁棒性。例如,在IDS数据集中,当训练样本数量为500且标签噪声比例分别设置为60%、75%和90%时,我们系统的F1得分仍然保持在大约0.752、0.637和0.447。而与此同时,DT+ODDS+FS和DT+ODDS+ETA的性能显著下降,分别降低到大约(0.009, 0.010)、(0.016, 0.017)和(0.003, 0.000)。此外,这种极端情况在实际中非常罕见,因为我们可以通过预处理收集到的流量数据,将标签噪声比例降低到合理的水平,例如低于50%。例如,我们可以通过Alexa Top列表过滤收集到的恶意加密流量,只保留与知名良性服务器通信的正常加密流量,从而减少混入的错误标记流量。

训练开销:通常,深度学习模型需要较长的训练时间,但这对我们的系统来说并不是一个关键问题。由于我们系统使用的低质量训练集通常规模有限,深度学习模型可以很快完成训练。例如,当训练样本数量为500时,特征提取模块、标签噪声纠正模块和数据增强模块分别消耗大约4032秒、7.5秒和156秒。此外,我们系统中的某些组件,例如用于标签噪声纠正的集成分类器和用于数据增强的多个GAN模型,可以并行训练以提高效率。即使训练样本数量变得更大,我们也可以利用最近的效率提升技术,如过度规格化(over-specification)和dropout训练,来增强我们的系统。

长期部署下的性能:我们观察到,在长期部署过程中,我们的框架将导致正常流量的多样性和数量逐渐增加。这将导致更多的正常测试流量表现出未曾见过的正常行为。这些新的正常流量可能会被检测为恶意的。一种简单但有效的解决方案是定期或在观察到明显性能下降时重新收集训练集并重新训练整个系统。正如我们所评估的那样,我们系统的训练开销较小(在三个模块上的训练时间分别为4032秒、7.5秒和156秒)。我们还可以基于时间间隔对这些检测到的恶意样本进行聚类,并过滤掉孤立的误报。此外,在长期部署过程中收集的新鲜多样的正常数据可能会影响我们的标签纠正模块的有效性。为了解决这个问题,我们可以通过聚类对正常训练数据进行预处理,即将具有相似行为的正常数据聚合到同一个训练集中,然后分别纠正每个集中的标签噪声。我们将在未来的工作中对这一问题进行详细探讨。

逃避检测:复杂的攻击者可能会尝试绕过我们的系统。一种常见的策略是通过在恶意软件的加密网络流量中添加精心设计的扰动来生成对抗性样本。我们的系统内置了一些设计来处理对抗性样本。特别地,与传统为端到端任务设计的深度学习模型不同,我们的系统使用了深度生成模型和GAN模型,在训练后续基于机器学习的检测器之前提高训练数据的质量。这为对手构建这些模型的对抗性样本增加了额外的难度。此外,现有的研究已经证明,标签纠正和数据增强都可以在不同的攻击场景下提高基于学习的模型的鲁棒性。因此,我们系统中的基于机器学习的检测器受到对抗性样本的影响较小。第二种策略是模仿正常的网络流量行为。网络流的模式/行为从根本上反映了其意图。目前尚不清楚这种策略在多大程度上能够在表现出与良性流量相同的流量分布的同时,保持攻击的有效性。我们将在未来的工作中进一步探讨这两种策略。

7 结论

我们开发了一个加密恶意流量检测系统RAPIER,该系统充分利用了正常流量和恶意流量在特征空间中的不同分布,以增强新数据用于模型训练。据我们所知,RAPIER是第一个能够同时克服训练数据不足和标签噪声问题的恶意软件流量检测系统。我们实现了RAPIER并基于两个公共数据集进行了广泛的评估。实验结果显示,RAPIER在三个数据集上平均比最先进的方法提高了352.6%、284.3%和214.9%。我们还使用来自一家安全企业的数据集对RAPIER进行了实验,RAPIER有效地实现了恶意流量检测,取得了0.773的最佳F1得分,并且在F1得分上平均比现有方法提高了272.5%。