与正常流量相比;数据驱动的网络入侵检测(NID)倾向于少数攻击类。许多数据集是在模拟环境中收集的;而不是在真实的网络中。这些挑战通过将机器学习模型拟合到不具代表性的“沙盒”数据集;削弱了入侵检测机器学习模型的性能。该调查提出了一个具有八个主要挑战的分类;并探索了1999年至2020年的通用数据集。分析了近十年来NID面临的挑战;提出了未来NID在数据驱动领域的发展方向
网络入侵检测(NID)监视网络中的恶意活动或策略违反。在过去的二十年中;数据驱动的方法被开发并应用于NID系统;其中大多数是机器学习模型;如Naïve Bayes;随机森林;Adaboost;深度神经网络。2009年的一篇综述论文总结了由异常检测算法支持的NID系统。在本调查中;我们提出了数据驱动的NID的更广泛的观点;包括过去10年的相关工作;并提出了数据驱动的NID研究的挑战和方法的分类。随着计算机网络、电子商务和web服务的出现;人们对网络安全以及如何应对网络攻击提出了更高的要求。在1994年;入侵检测被认为是一种改进的方法;在识别未经授权的使用、误用或滥用计算机系统时提供安全感。入侵检测的概念后来被应用到网络安全系统中。术语“入侵检测系统”描述了从网络中的一台或多台计算机中提取信息;以识别来自外部来源的攻击;但也包括来自内部来源的网络资源滥用。
入侵检测系统可以大致分为基于主机的入侵检测和基于网络的入侵检测。基于主机的入侵检测监视特定于主机的操作;如正在访问的系统文件或正在使用的应用程序。网络入侵检测系统旨在监测计算机之间的数据流;并;嗅探;网络中不同计算机之间的异常网络流量。
网络中通常有两种行为:正常和异常。正常的网络行为遵循一个特定的标准;包括流量、网络上的应用程序和交换的数据类型。网络异常一般分为两类:网络故障(如网络拥塞、文件服务器宕机等)和网络安全攻击(如DDoS等恶意代理发起的攻击)。
网络入侵检测系统旨在区分正常和与安全相关的异常;检测针对计算机网络的攻击。网络入侵检测方法可以是基于异常来识别与网络正常定义行为不同的恶意活动;也可以是基于特征来识别已知攻击的模式匹配。由于基于特征的检测依赖于已知的模式;对于检测新的攻击或零日攻击并不有效;因此异常检测经常用于检测新的攻击。
异常检测系统的主要目的是将异常从正常行为中分离出来。在计算机网络中;网络异常是指网络运行偏离正常网络行为的情况。基于异常的网络入侵检测方法对于识别新型入侵攻击具有重要意义。
数据归约是为了删除大量的数据;以提高效率和减少计算开销。在网络流量中;交换分组;并打开TCP连接;以便进行交换。由于在一个典型的网络中发送和接收的数据包非常多;Chen等人只提取TCP连接的前几个数据包;以减轻大数据包数据的影响。除了在数据收集过程中提取数据;其他作者还根据它们的重要性选择了特定的网络特征。
问题;数据集中的一些流量数据可能包含异常值;这些异常值可能以不太常见的流量类别的形式出现。为了对抗噪声数据或具有异常值的数据;已应用特征归一化方法来缩放特征;并使它们在模型中具有相似的效果;以便噪声与其他数据的权重不会不同。在其他情况下;使用基于密度的特征选择;通过寻找特征概率分布之间的重叠和非重叠区域来识别最重要的特征。
功能正规化。特征归一化方法可以应用于特征缩放;并允许它们在模型中具有相似的效果;这样噪声就不会与其他数据不同地加权。网络异常分类通常采用统计方法。在2015年;Delahoz等人研究了一种概率贝叶斯自组织映射模型来进行无监督学习。为了克服网络数据中的噪声挑战;他们将连续变量归一化;使其均值为0;方差为1;即标准正态分布。对于类别型变量;在归一化之前对其进行编码。如果特征被“激活”;分类编码为1;否则为0。尽管通过x−x¯标准化到标准的正态分布
σ是一种方法;对数缩放是另一种选择。
问题;网络入侵特征集中的一些特征可能对模型的预测能力没有显著贡献;因此可能会根据特征的重要性将它们删除。为了处理冗余数据;已经建立了框架来删除冗余。处理数据中冗余特征的重要方法如图3所示。
除功能框架。在网络入侵数据集中;数据冗余是一个普遍存在的问题;因此研究人员开发了框架;推荐使用特定的数据删除技术。从2000年到2010年;最初的特征去除方法被集成到计算智能方法中。2013年;Ganapathy等人。[58]写了一篇综述;详细介绍了一种渐进的特征去除方法和修改的互信息方法;该方法选择特征以最大化输出的信息(最大化输入和输出之间的相关性);条件随机场(CRF)作为分层方法(每一层代表一种攻击类型);以及遗传特征选择;其中生成一组树并提取最佳特征集。最近的研究似乎在反思如何将特征删除方法集成到更精简的模型创建过程中。
特征选择。特征选择可以排除冗余特征;在不显著降低模型性能的情况下选择数据中的一个特征子集。2010年初;Koc等人对基于过滤的特征选择方法感兴趣;将隐naïve贝叶斯(HNB)模型应用于具有高度相关特征的数据。伴随他们的HNB模型的是一个基于过滤器的特征选择模型;该模型既基于相关性又基于一致性;仅依赖于数据中的统计属性。相关性特征选择选择倾向于高度相关类的特征。基于一致性的过滤器有一个不一致性标准;指定何时停止对数据的降维。在基于过滤器的方法之后;有兴趣使用随机森林的前向选择进行特征排序Aljarrah等人。但最近;Elmasry等人并没有找到最优的特征集。也有研究表明特征选择的穷举搜索非常耗时;利用进化计算技术可以在更短的时间内找到近似最优解。
自动特征提取。在自动特征提取领域;粗糙集理论和自动编码器是两种重要的自动化方法。粗糙集从网络入侵数据中提取特征;用离散的[14]区间代替原始属性值;形成一个信息系统。自编码器被认为是主成分分析的非线性推广;它使用一个自适应的、多层的“编码器”。网络来降低数据维度。2010年初;基于粗糙集理论的特征选择引起了人们的研究兴趣。Chung和Wahid针对简化群优化算法(SSO)容易出现早熟解的问题;对其进行改进;在SSO之后进行局部加权搜索;以产生更满意的解。他们将k均值聚类应用于连续的网络数据值;并将粗糙集理论应用于特征的最小子集。
随着数据的快速变化;不相关特征的出现越来越多;Liu等引入了高斯混合模型来提取网络中的结构性特征;识别异常模式和正常模式;并使用模糊粗糙集理论去除冗余特征并优选重要特征。随着不相关特征和大数据时代的到来;模型的目标函数收敛速度变慢。模糊粗糙集方法和自动编码器都被设计用来处理大量数据。
数据可能缺乏标签;特别是当网络流量是模糊的或未标记时。这在数据预处理和模型创建阶段之间提出了另一个挑战。
图4演示了用于解决未标记数据问题的迁移学习、对抗样本生成和深度学习范式。
无监督/监督学习。一开始是完全无监督的学习方法;Casas等[26]利用无监督子空间聚类方法将流量包聚合成多分辨率流量流来检测网络入侵。在标记数据太少的情况下;研究人员可能会考虑半监督学习:首先对未标记的数据进行无监督学习以标记它;然后将标记的数据传递给监督学习模型。近年来;半监督网络入侵检测方法的研究越来越多。Khan等人提出了一种半监督模型;该模型最初用一个概率分数将无标签流量分类为正常或异常;该分数用作无监督自编码器的输入进行训练;然后将数据传递到堆叠的预训练神经层;其中有一个soft-max层用于分类。Ravi和Shalinie通过一种更随机的方法;提出了一种半监督学习模型;该模型使用重复随机抽样和k-means将数据标记为不同的流量类型;然后通过相关工作开发的分类器进行传递。
转移学习。迁移学习可以通过从其他标记数据源迁移知识来弥补标记数据的缺乏。Singla等人研究了不平衡数据集的迁移学习可行性;即;将UNSW-NB15数据集划分为带标签的子数据集;每个子数据集分为一个源数据集和一个目标数据集;其中分类器在源数据集上进行预训练;然后在目标数据集上进行重新训练;以应对标记数据的缺乏。在合成数据集UNSW-NB15之外;最近被探索的一种网络类型是消费者网络;它没有防火墙或交换机来阻止网络入侵攻击。Patel等人提出将有效载荷、包和帧统计中的特征归一化熵导入训练和测试数据集;并传递到一个类中基于SVM的消费网络流量分类。通过收集消费者网络设备上程序发送的数据包捕获数据;构建消费者网络数据集;解决消费者网络数据集缺乏的问题。Patel等研究表明;对于精确的入侵检测模型来说;穷举标记的数据集并不是必需的。
敌对的样本的一代。生成对抗样本是为了用对抗样本欺骗机器学习模型;特别是神经网络;因此正确分类的数据可能被错误地识别为另一个类别。Apruzzese等人使用随机森林;使用网络流来识别正常和僵尸网络活动。假定敌手已经破坏了网络中的至少一台机器;并部署了一个机器人;通过有限的“命令和控制基础设施”与其他机器进行通信。攻击者通过略微增加流的持续时间和交换的字节和数据包来欺骗分类器。Cheng没有使用改变对抗样本中特征属性的基本对手;而是使用了生成对抗网络(GAN);其中生成器旨在细化假数据的生成;而鉴别器确定哪些网络流量是合法的或异常的;Usama等人也这样做了。
类似于Apruzzese的对抗样本生成;但在一个更受控制的环境;Aiken和Scott-Hayward[6]开发了一个名为Hydra的对抗性测试工具;该工具作为一个模拟器;用于在测试管理器发送流量的软件定义网络中发起攻击的系统;通过改变负载大小和速率躲避分类器。在所有这些情况下;对抗性样本生成不仅提供了更多的数据来对抗未标记数据;而且可以为更鲁棒的NID系统开发防御机制。
问题;当网络入侵攻击的规模不成比例地小于正常网络活动时;数据也可能是不平衡的。正如在公共数据集上所讨论的;大多数网络入侵数据集都面临着正常流量和异常流量的不平衡问题;尤其是在攻击类型之间。图5突出了用于处理网络入侵数据集中少数类和多数类的随机过采样和欠采样技术;以及用于处理不平衡类的主要机器学习模型。
Over/ Under-Sampling。过采样旨在从少数类中增加样本;平衡网络中攻击和正常行为之间的数据分布。欠采样从多数类中移除样本;使少数类和多数类的大小相似;不允许对代表性不足的网络攻击进行错误分类。去年已经写了一组关于使用过采样或过采样来平衡网络入侵数据集的工作
Mikhail等人通过使用欠采样数据训练集成分类器并训练每个子集成;解决了少数攻击类的问题。Gao等人注意到
他们使用的KDD Cup数据集存在大量的用户到root (U2R)攻击;因此他们改变了作为模型输入的样本中类别的比例。他们使用分类和回归树(Cart);其中多棵树通过随机欠采样对调整样本进行训练——类似于Mikhail和其他人的工作
采样16个正常流量(多数类)以解决失衡。尽管少数类采样可以使网络入侵检测的类别比例更均匀;但由于多数类的欠采样或少数类的过采样;多数类的预测精度可能较低。Zhang等通过将加权过采样与boosting方法相结合解决了这个问题。加权过采样技术更新与少数类相关的权重;并强迫分类器学习误分类的多数类观测值。
最优的特征提取。根据特征的重要性对特征进行排序;可以将特征集合缩减为最优特征子集。Thaseen等人使用了一种基于一致性的特征选择方法来确定两个观测值的值和类标签是否匹配。Zhang等将网络流量的时间间隔聚合到子组中;以从地址计数、数据包计数、端口计数、字节计数和每个数据包的字节数这五个特征中找到信息。
暹罗神经网络。为了应对不平衡数据集中少数类和多数类的挑战;Bedi等人采用了一种称为孪生神经网络的少样本学习方法;该方法首先由Bromley等人提出。孪生神经网络计算两个输入样本之间的相似度;以确定它们有多相似或不相似;因此属于同一类的成对样本;如DoS-DoS, Normal-Normal, U2R-U2R被认为最相似;标记为1;而不同的对标记为0。通过孪生神经网络;绕过传统的过采样和欠采样方法;并对每个网络流量类采样等数量的观测值。
特征融合。特征融合可以将不同的数据组合在一起;从而导致对特征的平衡关注。Zhang等[194]实现了一种并行交叉卷积神经网络;融合了两个独立卷积神经网络学习到的流量特征;使网络更加关注少数攻击类。在对两个神经网络进行下采样后;将输出特征图中的通道数量增加一倍;然后应用池化层;通过将一层中聚类的输出组合到下一层的一个神经元中来降低数据的维度
遗传编程。遗传编程使用代理来学习问题的最优或接近最优的解决方案;并可以与机器学习模型一起使用来进化模型;直到其适应度为网络入侵检测优化。Le等人发现;当使用精度作为适应度函数(所有分类观测的真阳性和真阴性的数量)时;遗传编程在不平衡数据集上表现良好。
问题点;模型可解释性是能够理解机器学习模型的行为以及为什么它为给定任务提出特定的解决方案或预测。由于错误预测的副作用;网络入侵检测模型的可解释性非常重要。如果一个模型预测一个假阴性;或者当它对一个计算机网络的入侵负责时假设一个网络数据包不是异常的或恶意的;那么整个网络可能处于危险之中;导致可能的私人信息泄露。如果一个人无法解释为什么一个模型会做出如此糟糕且代价高昂的决定;那么个人将不太会接受由机器学习模型驱动的新型入侵检测系统。因此;研究更容易解释的入侵检测模型可以增加将模型集成到公司或公共网络的机会。
可说明的方法。可解释的网络入侵检测模型已经获得了越来越多的关注;如文献;但也有一些代表性论文描述了可解释的IDS方法的变化。Adetunmbi和其他人探索了使用规则系统寻找模型可解释性。