一种基于神经网络和大数据的网络安全态势分析方法和系统与流程

文档序号:12376971
一种基于神经网络和大数据的网络安全态势分析方法和系统与流程

本项发明涉及网络安全、大数据分析、机器学习领域,特别涉及一种基于神经网络和大数据的网络安全态势分析方法和系统。



背景技术:

计算机技术和通信技术迅速发展,用户需求快速增长,使得计算机网络的应用越来越广、规模越来越大.在日益复杂的计算机网络环境和动态变化的攻防场景下,获取网络当前的安全状况并预测其未来的变化趋势,可以为安全管理员的安全操作和决策提供依据和指导,从而提高网络防御的主动性。同时,在大数据时代下,网络安全事件层出不穷,传统单一的防御设备或者检测设备无法满足安全需求。传统的网络安全态势分析虽然能够综合各方面的安全因素,从整体上动态反映网络安全状况,并对安全状况的发展趋势进行预测和预警,但是在面对大数据时也显得有些无能为力。



技术实现要素:

本发明的目的在于克服现有技术的不足,提出一种基于神经网络和大数据的网络安全态势分析方法和系统,解决了传统的网络安全态势系统面对大数据时不能进行有效分析处理的问题,通过神经网络和大数据分析进行自我学习和调整,实现了对大数据的网络安全态势分析。

本发明解决其技术问题所采用的技术方案是:

一种基于神经网络和大数据的网络安全态势分析方法,应用在包括输入层、隐含层和输出层的神经网络上,包括如下步骤:

通过Flume组件在神经网络的输入层实现分布式的大数据采集;

通过MapReduce并行化计算在神经网络的输入层实现对采集的大数据进行清洗预处理、清洗和态势分析,将获得的初步态势预测结果输出给神经网络的隐含层;所述清洗包括数据降维和聚类分析;所述态势分析包括关联规则挖掘和基于时间维度的初步态势预测;

神经网络隐含层的每一个神经元接收所述输入层输出的初步态势预测结果,隐含层根据输入层与隐含层神经元之间的连接权值及隐含层神经元的输出阈值进行信息融合获得局部态势判决结果并输出给神经网络的输出层;

神经网络输出层的每一个神经元接收所述隐含层输出的局部态势判决结果,输出层根据隐含层与输出层神经元之间的连接权值及输出层神经元的输出阈值进行信息融合和自学习获得总体的安全态势判决结果,并存储到HBASE数据库中。

优选的,所述清洗预处理的步骤包括:

分片采集到的大数据;

数字化分片数据中每一条记录中的流量特征;

去除记录中的无关特征和符号;

合并预处理好的数据并输出。

优选的,所述数据降维采用特征分解算法对数据进行降维,包括:

将清洗预处理后的数据转化为矩阵A;

通过矩阵A转换得到临时的对角矩阵B;

将对角矩阵B进行特征分解得到特征向量矩阵C;

将特征向量矩阵C和矩阵A相乘得到待处理数据的特征向量矩阵D;

将原始矩阵A和矩阵D的转置相乘得到最终的降维数据。

优选的,所述聚类分析采用欧氏距离来判断,把每一条记录属于哪一个类别进行划分,包括:

扫描降维后的数据,随机选取若干个点作为初始的聚类中心;

将降维后的数据按照相同的大小进行分片处理;

每个计算节点读取数据,根据初始聚类中心进行聚类;

重新计算新划分的每一个类别的中心;

汇总所有的新的聚类中心;

判断是否满足聚类分析的结束阈值,若满足条件则根据新的聚类中心输出数据。

优选的,所述关联规则挖掘采用并行频繁项集挖掘算法来发现每一条记录之间的关联规

则,包括:

扫描聚类后的数据并进行数据的切片分组;

将每一个分组的数据生成一棵蕴含频繁项集的FP树;

对生成的FP树进行关联规则和频繁项集的挖掘;

根据挖掘的频繁项集分析并存储安全状况和危险状况下的记录特征。

优选的,所述基于时间维度的初步态势预测,包括:基于数据记录采集的时间先后,将

数据按照时间段进行分片,划分时间段后,通过对比前一个时间段和当前时间段数据记

录的安全状况和危险状况进行初步态势预测。

优选的,所述信息融合和自学习的步骤包括:

隐含层的神经元和输出层的神经元全连接,输出层接收来自隐含层的所有局部态势判决结果;

初始化每一层中的每一个神经元所包含的权值和阈值;

输出层将隐含层的所有输出和对应的权值相乘后进行累加,并将所有的局部态势判决结果进行融合;

把本次融合后的结果和前一次融合后输出层的结果进行比较,获得学习误差;

根据获得的学习误差调整每一个神经元的权值和阈值;如果学习误差为正值,则按照比例减小权值和阈值;如果学习误差为负值,则按照比例增大权值和阈值;

判断学习误差是否在预设的可接受的范围之内或者是否达到学习的最大次数;如果是,输出安全态势判决结果。

优选的,所述输入层的神经元和隐含层的神经元全连接。

一种基于神经网络和大数据的网络安全态势分析系统,包括:数据采集模块、数据分析模块和态势预测模块;所述数据采集模块用于通过Flume组件在神经网络的输入层实现分布式的大数据采集,并将采集到的大数据输出给所述数据分析模块;所述数据分析模块用于通过MapReduce并行化计算在神经网络的输入层实现对输入的大数据进行初步态势预测,并将初步态势预测结果输出给所述态势预测模块;所述态势预测模块用于通过神经网络隐含层和输出层的信息融合和自学习获得总体的安全态势判决结果,并将所述安全态势判决结果存储到HBASE数据库。

本发明具有如下有益效果:

(1)本发明将采集的大数据划分为多个子集,由于数据量巨大,单一节点或处理器不能同时处理,因此把整个数据划分为大小相同的分片,每一个分片就是整个数据的一个子集,具体划分过程由MapReduce编成框架透明的执行,在Hadoop平台的每个节点上同时处理分片后的一块数据,提高整体运行的效率,具有很好的伸缩性和鲁棒性;

(2)本发明对于网络安全的态势预测是通过综合所有的局部结果得到的一个全面而综合的判决;得到判决结果后存储在数据仓库中,为后续的误差调整提供了可靠的数据依赖,从而实现一个不断优化的自适应过程;

(3)通过神经网络和大数据分析进行自我学习和调整,实现了对大数据的网络安全态势分析,同时提高了网络安全态势分析预测的处理效率和准确性;

(4)将最终的计算结果中有价值的部分数据写入HBase中;用户通过接口读取存储在HBase中的预测结果。

以下结合附图及实施例对本发明作进一步详细说明,但本发明的一种基于神经网络和大数据的网络安全态势分析方法和系统不局限于实施例。

附图说明

图1是本发明方法的流程图;

图2是本发明方法的清洗预处理的流程图;

图3是本发明方法的数据降维的流程图;

图4是本发明方法的聚类分析的流程图;

图5是本发明方法的关联规则挖掘的流程图;

图6是本发明方法的信息融合和自学习的流程图;

图7是本发明系统的逻辑图;

图8是本发明系统的架构图;

图9是本发明系统的工作流程图。

具体实施方式

一种基于神经网络和大数据的网络安全态势分析方法,应用在包括输入层、隐含层和输出层的神经网络上,如图1所示,包括如下步骤:

步骤101,通过Flume组件在神经网络的输入层实现分布式的大数据采集;

步骤102,通过MapReduce并行化计算在神经网络的输入层实现对采集的大数据进行清洗预处理、清洗和态势分析,将获得的初步态势预测结果输出给神经网络的隐含层;所述清洗包括数据降维和聚类分析;所述态势分析包括关联规则挖掘和基于时间维度的初步态势预测;

步骤103,神经网络隐含层的每一个神经元接收所述输入层输出的初步态势预测结果,隐含层根据输入层与隐含层神经元之间的连接权值及隐含层神经元的输出阈值进行信息融合获得局部态势判决结果并输出给神经网络的输出层;所述输入层的神经元和隐含层的神经元全连接;

步骤104,神经网络输出层的每一个神经元接收所述隐含层输出的局部态势判决结果,输出层根据隐含层与输出层神经元之间的连接权值及输出层神经元的输出阈值进行信息融合和自学习获得总体的安全态势判决结果,并存储到HBASE数据库中。

进一步的,如图2所示,所述清洗预处理的步骤包括:

步骤201,分片采集到的大数据;

步骤202,数字化分片数据中每一条记录中的流量特征;

步骤203,去除记录中的无关特征和符号;

步骤204,合并预处理好的数据并输出。

进一步的,如图3所示,所述数据降维采用特征分解算法对数据进行降维,包括:

步骤301,将清洗预处理后的数据转化为矩阵A;

步骤302,通过矩阵A转换得到临时的对角矩阵B;

步骤303,将对角矩阵B进行特征分解得到特征向量矩阵C;

步骤304,将特征向量矩阵C和矩阵A相乘得到待处理数据的特征向量矩阵D;

步骤305,将原始矩阵A和矩阵D的转置相乘得到最终的降维数据。

进一步的,如图4所示,所述聚类分析采用欧氏距离来判断,把每一条记录属于哪一个类别进行划分,包括:

步骤401,扫描降维后的数据,随机选取若干个点作为初始的聚类中心;

步骤402,将降维后的数据按照相同的大小进行分片处理;

步骤403,每个计算节点读取数据,根据初始聚类中心进行聚类;

步骤404,重新计算新划分的每一个类别的中心;

步骤405,汇总所有的新的聚类中心;

步骤406,判断是否满足聚类分析的结束阈值,若满足条件则根据新的聚类中心输出

数据。

进一步的,如图5所示,所述关联规则挖掘采用并行频繁项集挖掘算法来发现每一条记录之间的关联规则,包括:

步骤501,扫描聚类后的数据并进行数据的切片分组;

步骤502,将每一个分组的数据生成一颗蕴含频繁项集的FP树;

步骤503,对生成的FP树进行关联规则和频繁项集的挖掘;

步骤504,根据挖掘的频繁项集分析并存储安全状况和危险状况下的记录特征。

优选的,所述基于时间维度的初步态势预测,包括:基于数据记录采集的时间先后,将

数据按照时间段进行分片,划分时间段后,通过对比前一个时间段和当前时间段数据记

录的安全状况和危险状况进行初步态势预测。

进一步的,如图6所示,所述信息融合和自学习的步骤包括:

步骤601,隐含层的神经元和输出层的神经元全连接,输出层接收来自隐含层的所有局部态势判决结果;

步骤602,初始化每一层中的每一个神经元所包含的权值和阈值;

步骤603,输出层将隐含层的所有输出和对应的权值相乘后进行累加,并将所有的局部态势判决结果进行融合;

步骤604,把本次融合后的结果和前一次融合后输出层的结果进行比较,获得学习误差;

步骤605,根据获得的学习误差调整每一个神经元的权值和阈值;如果学习误差为正值,则按照比例减小权值和阈值;如果学习误差为负值,则按照比例增大权值和阈值;

步骤606,判断学习误差是否在预设的可接受的范围之内或者是否达到学习的最大次数;如果是,输出安全态势判决结果。

一种基于神经网络和大数据的网络安全态势分析系统包括数据采集模块、数据分析模块和态势预测模块,如图7所示为本发明系统的逻辑图。

所述数据采集模块用于在Flume组件上实现分布式的大数据采集。

在所述数据分析模块处理数据前,对采集的原始数据采用基于MapReduce并行化计算框架的方式进行数据清洗预处理,原始数据以一行一行的记录形式保存,其中包含许多的流量特征,由于在后续的处理中主要针对的是数字形式的特征处理,因此数据清洗预处理的第一步就是把每一条记录中的流量特征数字化,第二步把记录中的一些与特征无关的符号清洗去除掉。数据清洗预处理之后进行数据清洗的第一步为减少数据的维度,数据降维采用特征分解算法。特征分解算法主要求解的是协方差矩阵的特征向量和特征值,对于每一个特征值和特征向量,可以根据算法中的公式推导,从而得到相应的特征矩阵,并实现样本数据的降维。进行数据分析首先要根据数据的特征进行聚类汇总,相关的数据记录在一个类别中,便于发现后续规律,因此数据清洗的第二步就是进行数据的聚类分析。具体的,所述聚类分析采用欧氏距离来判断,把每一条记录属于哪一个类别进行划分。进一步的,数据分析模块基于MapReduce并行化计算框架实现大数据的分布式处理,包括关联规则的挖掘和基于时间维度的初步态势预测。具体的,采用并行频繁项集挖掘算法来发现每一条记录之间的关联规则,算法分为2个阶段,第一阶段,通过扫描所有的数据生成蕴含所有频繁项集的FP树,第二阶段对已经生成的FP树进行挖掘关联规则和频繁项集,存储安全状况和危险状况下的记录特征,数据记录的采集有时间先后,在算法中把数据按照时间段进行分片,划分时间段后,通过对比前一个时间段和当前时间段数据记录的安全状况和危险状况进行初步的预测。

如上所述的所述数据采集模块和数据分析模块包含在神经网络的输入层中,数据集切分后的每一个分片交给神经网络输入层的一个神经元处理,得到的一个初步的态势预测结果就是输入层向隐含层传递的输出值。各层神经元之间实现全连接,隐含层中的每一个神经元都会收到输入层的所有输出,输入层和隐含层之间的每一个连接都有一个权值,把对应的输入值和权值相乘后进行汇总再和该神经元的阈值比较,得出隐含层的输出值,通过隐含层对输入层数据的这种融合处理方式把初步结果传送给输出层。输入层中的每一个神经元处理的是整个数据中的一个局部记录,因此通过隐含层的汇总后得到的是一个局部的态势判决结果输出层通过和隐含层一样的方法把所有的局部态势结果融合处理,得出总体的安全态势分析预测情况,将这些有价值的数据存储在HBASE数据库中方便后续查询和展示。

进一步的,如图8所示为本发明系统的架构图,包括:Flume数据采集组件801、HDFS分布式文件系统802、Hive数据仓库803、MapReduce并行化计算框架804、Zookeeper组件805和HBASE数据库806。具体的,Flume组建一个分布式的数据采集模块,基于多台数据服务器进行并行化的数据收集。采集到的数据是杂乱的包含很多无效信息的原始数据,存储在HDFS中,便于集群中的所有节点对原始数据进行清洗等。得到有效的数据从HDFS中将数据装载入数据仓库Hive中等待MapReduce计算框架进行下一步的处理。对装载的数据进行分析,在MapReduce框架中完成了态势的分析得到有价值的数据存储在HBASE数据库中,应用程序端通过HBASE查询数据并展现,Zookeeper实现平台的配置和系统进程的协调工作。

如图9所示为图8所示系统的工作流程图,在本发明的系统中Zookeeper组件起着至关重要的作用,与FLUME服务器的交互,写入FLUME配置与读取HDFS配置信息,FLUME根据HDFS的配置信息将数据写入到HDFS中;与Hadoop集群的交互,Hadoop集群将HDFS的配置信息写入到Zookeeper;与Hive服务器的交互,Hive服务器读取HDFS的配置,读取HBASE的配置;与HBASE K/V分布式数据库的交互,把HBASE配置信息写入Zookeeper。Zookeeper充当一个配置管理的角色;FLUME一般部署在业务服务器上。Zookeeper是一个核心组件,协调控制整个系统。

工作流程的具体步骤如下:

步骤901,启动系统,等待接收数据;

步骤902,启动ZooKeeper组件,对FLUME、HDFS、MapReduce、Hive、HBase的配置信息进行交互;

步骤903,接收采集数据,并向HDFS中存储数据;

步骤904,存储原始数据和步骤905中处理的中间数据;

步骤905,读取存储在HDFS中的数据,并进行数据数据分析处理;

步骤906,从HDFS中读取处理的中间结果,并对中间结果进行分析;

步骤907,将最终的计算结果中有价值的部分数据写入在HBase中;

步骤908,用户通过接口读取存储在HBase中的预测结果。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

再多了解一些
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1