APP下载

基于云计算和机器学习的网络入侵检测系统研究

2021-03-17杜军龙周剑涛

微型电脑应用 2021年2期
关键词:贝叶斯机器可视化

杜军龙,周剑涛

(江西省信息中心, 江西 南昌 330001)

0 引言

入侵检测在保障信息安全中起着重要的作用,准确识别网络中的各种攻击是其关键技术。文章介绍一种基于云计算和机器学习的网络入侵检测系统,该系统提供了一种基于网络大数据流的结构可视化分析的新方法。此外,这种软件计算方法对于识别未知的或未遇到过的攻击非常有用,这得益于人工机器学习的神经网络的泛化能力。在研究中,探讨了如何建立一个基于机器学习的入侵检测系统模型,并提出了一种神经网络和贝叶斯过滤器的入侵检测的深度学习方法。此外,同时研究了该模型在二分类和多类分类中的性能,以及神经元数目和不同的学习速率对该模型性能的影响。将基于机器学习的网络入侵检测方法,与之前研究人员提出的人工神经网络、随机森林和支持向量机等机器学习方法在云计算数据集上进行了比较[1-2]。实验结果表明,该模型提高了入侵检测的准确性,为入侵检测提供了一种新的研究方法。

1 递归神经网络

1.1 神经网络框架

循环神经网络(Recurrent Neural Networks,RNNs)方法可用于监督分类学习,神经网络RNN模型本质上是一个信息从输入单元到隐藏单元的单向信息流,将之前的时间隐藏单元到当前定时隐藏单元的单向信息流,如可以把隐藏的单元看作是整个网络的存储,记住了端到端信息。递归神经网络引入了一个方向环,它可以记住之前的信息并将其应用输出,这是与传统的模糊神经网络(Fuzzy network-FNN,FNNs)的本质区别。前面的输出也与序列的当前输出相关,隐藏层之间的节点不再是无连接的。不仅是输入层的输出,最后一个隐藏层的输出也作用于隐藏层的输入[3-5]。RNN-IDS所涉及的步骤,如图1所示。

1.2 神经网络算法

显然,该模型的训练由正向传播和反向传播两部分组成。正向传播负责计算输出值,反向传播负责传递累积的残差来更新权值,这与正常的神经网络训练没有本质区别。展开递归神经网络,如图2所示。

图1 RNN-IDS流程框图

图2 展开递归神经网络

Algorithm 1 Forward Propagation Algorithm

Inputxi(i=1,2,…,m

1: forifromltomdo

2:ti=Whxxi+Whxhi-1+bh

3:hi=sigmoid(ti)

4:si=Wyhhi+by

6: end for

Algorithm 2 Weights Update Algorithm

Initializationθ={Whx,Whh,Wyh,bh,by}

Outputθ={Whx,Whh,Wyh,bh,by}

1: forifromkdowntoldo

3: Compute the partial derivative with respect toθi:δi←dL/dθi

4: Weight update:θi←θi+ηδi

5: end for

2 云计算无监督数据学习

2.1 云计算无监督可视化

探索性投影寻踪是一种较新的统计方法,旨在解决云端高维数据结构识别的难题。它通过将数据投射到一个低维的子空间来实现这一点,在这个子空间中,本文用肉眼来搜索数据的结构。定义一个索引来度量给定投影的“有趣程度”,然后根据最大化该索引的投影来表示数据。定义哪些索引表示有趣的方向。“有趣”通常是根据高维数据的大多数投影给出的几乎是高斯分布的这一事实来定义的。因此,为了识别数据中的“有趣”特征,寻找那些数据投影尽可能远离高斯分布的方向。

度量偏离高斯分布的方法是基于分布的高阶矩。偏度是基于归一化的第三阶矩,测量分布与两侧对称的偏差。双峰分布通常具有负峰度,因此负峰度表示某一特定分布具有聚类的证据。因此,云端网络可以捕获某种类型的全局排序的方式找到数据集的独立因素。考虑一个n维的输入向量(x),一个m维的输出向量(y),并以w为权值。

2.2 贝叶斯过滤器

英国数学家托马斯贝叶斯提出了贝叶斯过滤理论,即一个事件发生的概率可以通过调查该事件的过去而反推得到。当知道一个结果时,可以通过这个结果而推测出事件发生的概率,是在求解事后概率时使用的方法。网络入侵的检测判定流程[6-8],如图3所示。

图3 提案方法的判定流程

提案过滤器的判定精度包括以下几个概念。

检出率:表示在网络入侵中被判定为网络入侵的概率。

误检出率:表示在非网络入侵中被判定为网络入侵的概率。

检错率:表示在网络入侵中被判定为非网络入侵的概率。

综合精度:表示在全体网络活动中网络入侵和非网络入侵被正确判定的概率。

3 移动可视化MOVCIDS

3.1 数据流分割

数据流分割方式,如图4所示。

MOVCIDS将预处理数据流分割如下。

相等的简单段(S):每个简单段包含所有的包,其时间戳在段的起始时间和最终时间限制之间。每对连续的简单线段之间有轻微的时间重叠。简单段的长度(持续时间)和时间重叠都可以由管理员设置。

图4 数据流分割

积累片段(A):每个片段包含几个连续的简单片段。累积段的长度也是可配置的。

这种划分的主要原因之一是向网络管理员提供网络流量演变的长期图景,从而使攻击的持续时间比简单段的长度还长。此外,简单段允许对流量进行实时的处理。由于捕获延迟,数据集越长,实时分析的距离就越远。为了可视化异常情况的结束和简单段之间的演化,有必要对某些包进行两次考虑。为了防止分析人员的混乱(例如,在两个不同的简单段中显示相同的异常情况),需要同时显示累积的段。这将导致网络管理员意识到只有一个异常情况被可视化两次。

3.2 数据分析

捕获的数据被选中并进行预处理,因为只从原始网络流量中选择包含在捕获包的头中的字段(特性)的一个简化集。为了克服这个问题,MOVCIDS将流量分成不同的组,考虑到IP上的协议(UDP、TCP、ICM等)。在所有实现的网络协议中,有几种协议(就网络安全而言)被认为是相当危险的,如简单网络管理协议(simple network management protocol, SNMP)。SNMP被CISCO确定为最脆弱的五大服务之一,特别是目前使用最广泛的两个协议。基于此协议的攻击可能会严重危害整个网络的安全。SNMP攻击也被SysAdmin、 Audit、 Network和Security (SANS)列为十大最关键的互联网安全威胁之一[9-10]。

MOVCIDS样本,如图5所示。

图5 MOVCIDS样本

大多数安全工具都将注意力集中在来自Internet的攻击上,但是攻击很可能来自网络内部,也可能来自外部。为了更好地兼顾来自网络内部的网络攻击,本研究的实验设置主要针对SNMP异常情况的识别展开。由于SNMP是基于UDP的,所以在本工作中只考虑UDP流量,以便关注一些特殊情况。在数据预处理步骤中,系统从捕获的信息中执行数据选择。提取每个包的源端口、目的端口、大小、时间戳和协议(每个包分配它所属的TCP/UDP协议的代码)。

4 测试与实验

4.1 数据集实验

数据集实验中使用的云数据集,可以看作是在一个小型网络中生成的“定制”数据集。除了SNMP数据包(“正常的”和“异常的”)之外,数据集还包含与其他协议相关的流量,被认为是“正常的”流量。由于这个网络是隔离的,并且受到外部攻击的保护,所以“正常”流量是预先知道的,并且经过了经验测试。所有“正常”流量在不同的分析数据集中被注意到以相同的方式来描述。在收集流量的网络中,除了“正常”流量外,还通过黑客工具生成了三种不同的SNMP异常情况。它们中的每一个都描述了数据集中包含的所有包。

SNMP是面向互联网社区管理节点的,它用于控制路由器、网桥和其他一些网络元素,读写关于这些设备的各种信息(如操作系统、版本、路由表、默认TTL等)。可以广义地将其定义为SNMP用来存储其控制的元素信息的数据库。所分析的数据集包含上述所有异常情况的示例。除此之外,有关“正常”流量的信息也包括在内。除了纯粹的SNMP异常情况之外,MOVCIDS还帮助网络管理员检测网络/端口扫描,这些扫描很容易被其他一些安全工具识别(例如,通过查看源/目标IP地址)。

4.2 多机器学习方法比较

为了验证本文的网络入侵检测算法的有效性,对RNN-IDS的性能与其他五类模型进行了比较,如图6所示。

图6 RNN-IDS的性能与其他模型的比较分析

实验表明,该模型的精度为81%。其中,KDDTest-21的分类率为67%,优于J48、朴素贝叶斯、随机森林和多层感知器等分类算法。此外,它在测试集KDDTest+上也优于人工神经网络算法,得到79.9%。

4.3 追加贝叶斯过滤结果

用典型网络入侵活动进行分析验证,首先利用贝叶斯过滤器的特性将试验数据追加到原始数据中,再对新的数据库进行机器学习。此时数据库的网络入侵事件有4 775件,非网络入侵615件。将实验数据和再学习后数据的检出率和综合精度进行比较分析,如表1所示。

表1 检出率的比较结果

表2 综合精度的比较结果

5 总结

在计算机网络安全领域,流量数据集通常具有分类、文本性质,将它们转换为可应用可视化技术的数据类型并不常见。本文提出的IDS模型采用了一种新颖的方法,将每个简单的数据包独立地可视化。该模型通过描述每个数据包,为网络管理员提供网络流量、协议交互和流量的快照,以识别异常情况,为网络传输提供了一个完整直观的可视化模型。

云计算、机器学习、模式识别、数据挖掘等技术,处理从数据中提取有趣的分类、集群、关联和其他模式的问题。笔记本电脑、掌上电脑、嵌入式系统和可穿戴计算机设备的存在,使得大量分布式数据的访问成为现实。在研究中,探讨了如何建立一个基于机器学习的入侵检测系统模型,并提出了一种神经网络进行入侵检测的深度学习方法。递归神经网络包括输入单元、输出单元和隐藏单元,隐藏单元完成最重要的工作。对分布式数据进行高级分析,以提取有用的知识,MOVCIDS的设计目的是使其可以从移动设备访问,从而实现对计算机网络的永久移动可视化、监控和监督。MOVCIDS可以使用包含已知或新攻击的数据集进行训练,因为它具有任何连接模型的泛化能力。现有研究中还存在一些不足,接下来要继续对网络入侵检测算法进行优化,不断提升机器学习效率和检测精度。

猜你喜欢

贝叶斯机器可视化
基于CiteSpace的足三里穴研究可视化分析
机器狗
机器狗
思维可视化
基于贝叶斯解释回应被告人讲述的故事
基于CGAL和OpenGL的海底地形三维可视化
“融评”:党媒评论的可视化创新
未来机器城
基于贝叶斯估计的轨道占用识别方法
基于互信息的贝叶斯网络结构学习