2021-11-11

引言

近年来,对计算机网络的攻击数量一直在增加[1]。用于保护网络的常见安全系统是网络入侵检测系统(NIDS)。NIDS是一种设备或软件,用于监控通过战略点的所有流量,以发现恶意活动。当检测到此类活动时,会生成警报并发送给管理员。传统上,NIDS部署在单点,例如互联网网关。这种单点部署策略可以检测进出网络的恶意流量,但不能检测穿越网络本身的恶意流量。为了解决这个问题,可以使用分布式部署策略,将多个网络入侵检测系统连接到网络中的一组战略路由器和网关。
在过去十年中,已经提出了许多机器学习技术来提高检测性能[2],[3],[4]。一种流行的方法是使用人工神经网络(ANN)来执行网络流量检查。使用人工神经网络的好处是人工神经网络善于学习输入数据中复杂的非线性概念。这使得人工神经网络在检测性能方面相对于其他机器学习算法具有很大优势[5],[2]。

将人工神经网络用作NIDS的普遍方法是训练它将网络流量分类为正常攻击或某种攻击[6],[7],[8]。下面显示了在点部署策略中使用基于人工神经网络的分类器的典型方法:
1)让专家收集包含正常流量和网络攻击的数据集。
2)使用强大的中央处理器或图形处理器,训练人工神经网络对正常流量和攻击流量之间的差异进行分类。
3)将经过培训的模型副本转移到网络/组织的NIDS。
4)让NIDS对观察到的网络流量执行训练好的模型,并进行入侵检测。
一般来说,只有当网络入侵检测系统的数量能够根据网络规模很经济地拓展时,分布式部署策略才是实用的。实现这一目标的一种方法是将网络入侵检测系统直接嵌入到廉价的路由器中(即使用简单的硬件)。
我们认为这种场景下,使用基于神经网络的分类器不切实际,原因有几个:
离线处理。为了训练监督模型,所有标记的实例必须在本地可用。这在简单的网络网关上是不可行的,因为一个小时的流量可能包含数百万个数据包。一些作品建议将数据卸载到远程服务器进行模型训练[9] [3]。但是,这种解决方案可能会产生大量网络开销,并且无法扩展。
监督学习。贴标过程耗时且昂贵。更重要的是,什么是正常的取决于NIDS观察到的当地数据流量。此外,攻击会随着时间的推移而变化,而新的攻击会不断被发现[10],因此持续维护恶意攻击流量存储库可能不切实际。最后,分类是一种识别概念的封闭方法。换句话说,训练分类器来识别训练集中提供的类。然而,假设所有可能的恶意流量类别都可以被收集并放置在训练数据中是不合理的。
高复杂性。随着神经元的数量增加人工神经网络的计算复杂性呈指数增长[11]。这意味着部署在简单网络网关上的人工神经网络在其体系结构和可使用的输入特征数量方面受到限制。这在处理高速流量的网关上尤其成问题。
鉴于以上列出的挑战,我们建议基于人工神经网络的网络入侵检测器的开发应遵守以下限制:
在线处理。用实例训练或执行模型后,该实例会立即被丢弃。实际上,在任何给定时间都可以存储少量实例,如流聚类[12]中所做的那样。
无监督学习。标签明确指示数据包是恶意的还是良性的,在训练过程中不使用。只要获取信息不会延迟该过程,就可以使用其他元信息。
低复杂性。数据包处理速率必须超过预期的最大数据包到达速率。换句话说,我们必须确保没有等待模型处理的数据包队列。
在这篇文章中,我们介绍了一种新的基于人工神经网络的NIDS,它是在线的,无监督的,高效的。在日本民间传说中,基图尼是一种神话中的像狐狸一样的生物,它有许多尾巴,可以模仿不同的形式,并且它的力量会随着经验的增加而增加。类似地,Kitsune有一个小型神经网络(自动编码器)的集合,它们被训练来模仿(重建)网络流量模式,并且其性能随着时间的推移而逐渐提高。
Kitsune的异常检测算法(KitNET)的架构如图1所示。首先,实例的特征被映射到集合的可见神经元。接下来,每个自动编码器尝试重建实例的特征,并根据均方根误差(RMSE)计算重建误差。最后,均方根值被转发到输出自动编码器,该编码器充当整体的非线性投票机制。我们注意到,在训练Kitsune时,一次存储在内存中的实例不超过一个。KitNET有一个重要参数,就是集合中任何给定自动编码器的最大输入数量。该参数用于提高算法的速度,并在检测性能上进行适度的权衡。

我们使用自动编码器的原因是因为(1)它们可以以无监督的方式进行训练,以及(2)它们可以在重建不良的情况下用于异常检测。我们建议使用小型自动编码器的原因是,在相同的特征空间内,它们比单个自动编码器更高效,噪音更小。从我们的实验中,我们发现Kitsune可以将数据包处理速率提高五倍,并提供与其他离线(批处理)异常检测器相媲美的检测性能。总之,本文的贡献如下:
 一个新颖的基于自动编码器的简单网络设备NIDS(Kitsune),轻量级和即插即用。据我们所知, 我们是第一个提出在计算机网络中使用带或不带集成的自动编码器进行在线异常检测的人。我们还提出了核心算法(KitNET)作为一种通用的在线无监督异常检测算法,并提供了源代码供下载。
 一个特征提取框架,用于从网络流量中动态维护和提取隐含的上下文特征。该框架的内存占用很小,因为统计数据是在阻尼窗口上增量更新的。
 一种在线技术,用于以无监督方式自动构建自动编码器的整体(即,将特征映射到人工神经网络输入)。该方法涉及特征空间的增量层次聚类(无界数据集的转置)和聚类大小的边界。
 在运行中的IP摄像机视频监控网络、物联网网络和各种攻击上的实验结果。我们还通过在树莓PI上执行基准测试,展示了该算法的效率以及在简单路由器上运行的能力。
论文的其余部分组织如下:第二节讨论在线异常检测领域的相关工作。第三节提供了自动编码器及其工作原理的背景。第四节介绍了Kitsune的框架及其整个机器学习管道。第五节介绍了检测性能和运行时性能方面的实验结果。最后,在第七节,我们提出我们的结论。

相关工作

在过去 [13]、[14]、[15]、[16]、[17] 中,对使用机器学习(特别是异常检测)实施 NIDS 的领域进行了广泛的研究。然而,这些解决方案通常对运行训练或执行模型的机器的资源没有任何假设,因此要么在简单的网关上训练和执行成本太高,要么需要标记数据集来执行训练过程。
之前的几项工作已经提出了使用不同轻量级算法的在线异常检测机制。例如,对数据包内容的简单直方图进行建模的 PAYL IDS [18] 或 kNN 算法 [19]。这些方法要么非常简单,因此产生的结果非常差,要么需要积累数据用于训练或检测。
一种流行的网络入侵检测算法是 ANN。这是因为它能够学习复杂的概念,以及来自网络通信领域的概念 [17]。在 [20] 中,作者在网络入侵检测任务中评估了 ANN 以及其他分类算法,并提出了一种基于使用基于连接的特征的分类器集合的解决方案。在 [8] 中,作者对反向传播算法进行了修改,以提高 ANN 训练过程的速度。在 [7] 中,作者使用了多个基于 ANN 的分类器,其中每个分类器都经过训练以检测特定类型的攻击。在 [9] 中,作者提出了一种分层方法,其中每个数据包首先通过异常检测模型,然后如果出现异常,则通过一组 ANN 分类器评估数据包,其中训练每个分类器以检测特定的攻击类型.
上述所有使用人工神经网络的论文,要么是受监督的,要么不适合简单的网络网关。此外,一些工作假设可以存储和累积训练数据,这对于简单的网络网关而言并非如此。我们的解决方案支持即插即用部署,其运行速度比上述模型快得多。
关于自动编码器的使用:在 [21] 中,作者使用了一组深度神经网络来解决在线设置中的对象跟踪问题。他们提出的方法使用堆叠去噪自编码器 (SDAE)。 SDAE 的每一层都充当原始图像数据的不同特征空间。该方案将 SDAE 的每一层转换为深度神经网络,用作判别二元分类器。尽管作者在在线环境中应用了自动编码器,但他们没有执行异常检测,也没有解决实时处理的挑战(这对深度神经网络来说是一个巨大的挑战)。此外,训练深度神经网络很复杂,无法在简单的网络设备上实际执行。在 [22] 和 [23] 中,作者建议使用自动编码器从数据集中提取特征,以改进网络威胁的检测。但是,自编码器本身并未用于异常检测。最终,作者使用分类器来检测网络威胁。因此,他们的解决方案需要专家来标记实例,而我们的解决方案是无监督的,即插即用的。
在 [24] 中,作者提出了使用自动编码器来检测异常的通用方法。在 [19] 中,作者使用自动编码器来检测电网中的异常情况。这些工作与我们的不同,因为(1)它们不在线,(2)作者使用的架构作为一个整体不是轻量级和可扩展的,以及(3)尚未应用于网络入侵检测。我们注意到本文的部分贡献是一个合适的特征提取框架,它允许在在线网络设置中使用自动编码器。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值