一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于贝叶斯神经网络的入侵检测系统的设计方法与流程

2021-10-24 06:03:00 来源:中国专利 TAG:入侵 神经网络 检测系统 检测 方法


1.本发明属于入侵检测技术领域,尤其是涉及一种基于贝叶斯神经网络的入侵检测系统的设计方法。


背景技术:

2.车联网、物联网数据中攻击事件占整体比重很小,体现出明显的数据非均衡性,并且一些攻击数据前后存在关联,即可能是短期的也可能是长期的,同时实际攻击方式多种多样,缺乏标签数据,所以对该类数据的入侵检测、分类预测是一个难点。
3.入侵检测,顾名恩义,便是对入侵行为的发觉。它通过对计算机网络或计算机系统中得若干关键点收集信息并对其进行分析,从中发现网络或系统中是否有违反安全策略的行为和被攻击的迹象。进行入侵检测的软件与硬件的组合便是入侵检测系统。与其他安全产品不同的是,入侵检测系统需要更多的智能,它必须可以将得到的数据进行分析,并得出有用的结果。一个合格的入侵检测系统能大大的简化管理员的工作,保证网络安全的运行。根据入侵检测系统的作用对象的不同,侵检测系统可分为基于主机的入侵检测系统和基于网络的入侵检测系统。
4.一、基于主机大入侵检测系统在受保护的机器上安装了主机入侵检测模块,专门收集受保护机器上的信息。其信息来源可以是系统日志和特定应用程序日志,也可以是捕获特定的进程和系统调用等等。通过对信息的分析,确定一个行为是否是入侵行为。基于主机的入侵检测系统保护的一般是入侵检测系统所在的主机。基于主机的入侵检测系统的缺点是:依赖特定的系统平台。用户必须针对不同的操作系统开发相应的模块。由于一个网络中有多种不同的操作系统,很难保证每个操作系统都有对应的主机入侵检测模块,而一个主机入侵检测模块只能保护本机,所以在使用上有很大的局限性。此外,它要求在每个机器上安装,如果装机数量大时,对用户来说,是一笔很大的投入。但是这种入侵检测系统的不受网络结构的限制,同时可以利用操作系统本身提供的功能、并结合异常分析,更准确的报告攻击行为。
5.二、基于网络的入侵检测系统的数据源则是网络上的数据包。入侵检测系统通过检测网络中的报文来达到获得信息的目的。一般来说,检测方式只能够检测到本机的报文,为了监视其他机器的报文,需要把网卡设置为混杂模式,监听本网段内的所有数据包并进行判断。通过在网络中放置一块入侵检测模块,我们可以监视受保护机器的数据报文。在受保护的机器将要受到攻击之前,入侵检测模块可最先发现它。一般基于网络的入侵检测系统担负着保护整个网段的任务。基于网络的入侵检测系统的优点是:简便,一个网段上只需要安装一个或几个这样的系统就可以监测整个网段的情况,同时我们可以分配专用计算机作为基于网络的入侵检测系统的运行承载机器,从而不会给运行关键业务的主机带来负载上的增加。
6.从机器学习角度,处理时间序列数据使用隐马尔可夫(hmm)模型或长短期记忆(lstm)模型较多,但隐马尔可夫模型是基于齐次马尔可夫性假设的模型,其任意时刻的状
态只依赖前一时刻的状态,所以其在处理和预测时间序列中间隔和延迟较长的重要事件时并不是很好,而lstm模型主要用于间隔和延迟较长的时序数据,但一般为有监督学习模型。


技术实现要素:

7.本发明旨在解决上述技术问题,提供一种基于贝叶斯神经网络的入侵检测系统的设计方法。
8.为了达到上述目的,本发明采用如下技术方案:一种基于贝叶斯神经网络的入侵检测系统的设计方法,包括以下步骤:s1.读取无网络攻击情况下正常的网络流量解析数据;s2.对数据进行预处理;s3.编写编码层模块;s4.编写lambda单元模块,lambda单元模块采用lambda 架构,它为预处理后的数据提供计算,同时将最新数据的计算结果初步展示出来,获取的数据经过编码层后相关统计特征;s5.编写采样层模块,根据lambda单元模块以及模型设定的统计分布得到采样函数;s6.编写解码层模块,将采样层模块的输出作为输入;s7.编写vlb模块,vlb模块采用变分贝叶斯方法,用于计算模型的损失函数,将正常网络流量数据、解码层输出和lambda单元模块输出作为vlb模块的输入;s8.设定模型的损失函数、优化器、学习率以及批数据大小等,进行训练;s9.分别基于正常网络流量数据和攻击流量数据对训练的模型进行测试。
9.作为优选,s2包括:s201:对原始数据进行shuffle操作,目的是打乱排列顺序;s202:对shuffle操作后的数据划分为训练集、验证集和测试集;s203:对训练集进行均值/方差归一化处理,为防止数据泄露,基于训练集的均值/方差对验证集和测试集同样进行归一化处理。
10.作为优选,s3具体包括:编写编码层模块,将批数据大小设定为100,第一dense层维度设为256,后5层hidden layer的维度分别除以2、4、8、16、32,各层激活函数均使用relu,最后一层维度设为8,无激活函数;s4具体包括:编写lambda模块,在tensorflow中通过lamdba架构将函数封装为layer对象,layer对象为除dense、conv、lstm等常规层外其它计算单元层,编写若干个lambda模块,分别提取数据经过编码层处理后的均值和log协方差;s5具体包括:编写采样层模块,将s4得到的均值和log协方差作为输入;s6具体包括:编写解码层模块,将s5的输出作为输入,对应于编码层,各dense层的维度分别对应编码层进行反向操作,即将hidden layer的维度分别除以32、16、8、4、2,倒数第2层维度为256,各hidden layer的激活函数使用relu,最后一层dense维度为115,激活函数使用sigmoid;s7具体包括:编写vlb模块,根据独立同分布的假设,由于联合概率取log后可表述
为,根据贝叶斯神经网络理论,该式可改写为,在本模型中,先验概率和后验概率使用高斯分布;通过重参数技巧,上式中的kl散度可以求导,这样便于神经网络的反向传播,这样整个模型的损失函数可以写为:,其中,同时。
11.神经网络技术在入侵检测中研究的时间较长,并在不断发展。早期的研究通过训练向后传播神经网络来识别已知的网络入侵,进一步研究识别未知的网络入侵行为。今天的神经网络技术已经具各相当强的攻击模式分析能力,现在提出了各种其他的神经网络架构诸如自组织特征映射网络等,以期克服后向传播网络的若干限制性缺陷。
12.神经网络的处理包含两个阶段。第一阶段的目的是构造入侵分析模型的检测器,使用代表用户行为的历史数据进行训练,完成网络的构建和组装;第二阶段则是入侵分析模型的实际运作阶段,网络接收输入的事件数据,与参考的历史行为相比较,判断出两者的相似度或偏离度。在神经网络中,使用以下方法来标识异常的事件:改变单元的状态、改变连接的权值、添加连接或删除连接,同时也提供对所定义的正常模式进行逐步修正的功能。
13.神经网络使用全连接网络来拟合数据,相当于使用多个全连接网络。神经网络进入入侵检测中,在很多情况下,系统趋向于形成某种不稳定的网络结构,不能从训练数据中学习到特定的知识,这种情况目前尚不能完全确定产生的原因。在这种配置中,网络由于非明显原因学习某些东西失败。神经网络容易过拟合,泛化性差;并且对预测的结果无法给出置信度。
14.贝叶斯神经网络,简单来说可以理解为通过为神经网络的权重引入不确定性进行正则化,也相当于集成某权重分布上的无穷多组神经网络进行预测。贝叶斯神经网络不同于一般的神经网络,其权重参数是随机变量,而非确定的值。也就是说,和传统的神经网络用交叉熵,mse等损失函数去拟合标签值相反,贝叶斯神经网络拟合后验分布。这样做的好处,就是降低过拟合。
15.作为优选,s8具体包括:根据vlb模块,将输入正常流量数据、解码层输出、lambda模块输出作为vlb模块的输入,设定模型的损失函数;设定优化器为rmsprop,初始化学习率为1e

7。
16.采用上述技术方案后,本发明具有如下优点:本发明公布了一种基于贝叶斯神经网络的入侵检测系统的设计方法,入侵检测系统通过对数据进行etl、特征工程等相关初步预处理后,建立、训练、验证和测试贝叶斯神经网络模型,并进行相关的参数调优工作。该入侵检测系统采用无监督学习模型,不仅无需标签数据,还可以检测未知网络攻击,在网络攻击防御体系中起到尤为重要的作用。
附图说明
17.图1为本发明的一种基于贝叶斯神经网络的入侵检测系统的设计方法的步骤流程图。
具体实施方式
18.以下结合附图及具体实施例,对本发明作进一步的详细说明。
19.如图1所示,一种基于贝叶斯神经网络的入侵检测系统的设计方法,包括以下步骤:s1. 分别读取正常流量解析数据、mirai僵尸流量解析数据,并进行合并,本实施例中共1098677条流量解析数据,每条数据的解析字段有115个;s2.对数据进行预处理,预处理包括以下步骤:s201:对原始数据进行shuffle操作,目的是打乱排列顺序;s202:对shuffle操作后的数据划分为训练集、验证集和测试集;s203:对训练集进行均值/方差归一化处理,为防止数据泄露,基于训练集的均值/方差对验证集和测试集同样进行归一化处理;s3. 编写编码层模块,将批数据大小设定为100,第一dense层维度设为256,后5层hidden layer的维度分别除以2、4、8、16、32,各层激活函数均使用relu,最后一层维度设为8,无激活函数;s4.编写lambda单元模块,在tensorflow中通过lamdba架构将函数封装为layer对象,layer对象为除dense、conv、lstm等常规层外其它计算单元层,本实施例中编写两个lambda模块,分别提取数据经过编码层处理后的均值和log协方差;lambda单元模块采用lambda 架构,它为预处理后的数据提供计算,同时将最新数据的计算结果初步展示出来,获取的数据经过编码层后相关统计特征;s5.编写采样层模块,将s4得到的均值和log协方差作为输入,根据lambda单元模块以及模型设定的统计分布得到采样函数;s6.编写解码层模块,将s5的输出作为输入,对应于编码层,各dense层的维度分别对应编码层进行反向操作,即将hidden layer的维度分别除以32、16、8、4、2,倒数第2层维度为256,各hidden layer的激活函数使用relu,最后一层dense维度为115,激活函数使用sigmoid;s7.编写vlb模块,vlb模块采用变分贝叶斯方法,用于计算模型的损失函数,将正常网络流量数据、解码层输出和lambda单元模块输出作为vlb模块的输入;根据独立同分布的假设,由于联合概率取log后可表述为,根据贝叶斯神经网络理论,该式可改写为,在本模型中,先验概率和后验概率使用高斯分布;通过重参数技巧,上式中的kl散度可以求导,这样便于神经网络的反向传播,这样整个模型的损失函数可以写为:
,其中,同时;s8.设定模型的损失函数、优化器、学习率以及批数据大小等,进行训练;本实施例中根据vlb模块,将输入正常流量数据、解码层输出、lambda模块输出作为vlb模块的输入,设定模型的损失函数;设定优化器为rmsprop,初始化学习率为1e

7;s9.分别基于正常网络流量数据和攻击流量数据对训练的模型进行测试。
20.模型使用总量为16万的样本数据进行训练和测试,通过本设计方法设计的入侵检测系统对正常流量的误报率为4.6%,恶意流量的检出率为92.5%。这个实例使用的样本数据是philips_b120n10_baby_monitor。
21.本发明的入侵检测系统的设计方法,基于贝叶斯神经网络建立入侵检测的无监督学习模型,即可应用于传统的网络空间安全,也可应用于新兴的车联网、物联网入侵检测,本发明提出的无监督学习模型无需标签数据,同时可以检测未知网络攻击行为,摆脱了以往基于漏洞策略防护、有监督学习模型的缺点。
22.除上述优选实施例外,本发明还有其他的实施方式,本领域技术人员可以根据本发明作出各种改变和变形,只要不脱离本发明的精神,均应属于本发明所附权利要求所定义的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜