掌桥专利:专业的专利平台
掌桥专利
首页

电力网络防火墙的数据分析系统

文献发布时间:2023-06-19 18:37:28


电力网络防火墙的数据分析系统

技术领域

本发明属于计算机安全技术领域,具体涉及一种电力网络防火墙的数据分析系统。

背景技术

随着经济技术的发展和人们生活水平的提高,电能已经成为了人们生产和生活中必不可少的二次能源,给人们的生产和生活带来了无尽的便利。因此,保障电能的稳定可靠供应,就成为了电力系统最重要的任务之一。

目前,信息化技术已经广泛应用于电力系统当中,极大地提升了电力系统的运行效率,但是同样也给电力系统带来了新的安全威胁。因此,提高电力系统的信息网络安全管理水平,是电力企业当前需要重点部署和落实的工作。

目前,基于日志分析技术的网络安全探查研究越来越受到人们的重视。当前,许多防火墙日志数据智能分析方法是基于AI分类算法建立分类器(包括朴素贝叶斯、kNN、SVM等算法),将特征放入不同的分类器中,来判别网络流量中是否含有恶意攻击行为。这类人工智能方法需要事先获取大量有效的攻击行为特征才能进行智能模型的训练,因此需要花费大量的时间来进行特征提取。但是,特征提取的过程会因为人为失误或人员素质的参差不齐导致特征选取结果的良莠不齐,使得训练模型的精度与准确性无法得到保障。

发明内容

本发明的目的在于提供一种可靠性高、准确性好且方便快捷的电力网络防火墙的数据分析系统。

本发明提供的这种电力网络防火墙的数据分析系统,包括日志数据采集模块、数据预处理模块、数据存储模块和智能分析模块;日志数据采集模块、数据预处理模块、数据存储模块和智能分析模块依次串联;日志数据采集模块用于获取防火墙终端设备上的日志数据,并将获取的数据上传数据预处理模块;数据预处理模块用于对接收到的日志数据进行预处理,得到处理后的数据,并上传数据存储模块;数据存储模块用于对接收到的数据进行存储以及格式转换,从而为智能分析模块提供基础数据;智能分析模块用于根据存储的数据,实现对电力网络防火墙的数据进行分析。

所述的日志数据采集模块,通过网络通信接口连接到每个防火墙终端设备,并获取和采集全部更新日志数据;日志数据采集模块包括Filebeat工具,提供B/S模式的参数配置功能,由用户自行根据实际网络情况设置配置参数,将防火墙日志服务器中每个不同日志的路径作为配置参数进行设置,从而完成数据的采集;

日志数据采集模块采集并获取存储于电网防火墙内的流量日志及威胁日志数据,再将获取到的数据与之前获取的数据进行比较:若存在不同的数据,则意味所获取的数据包含新日志数据,将获取到数据上传数据预处理模块;如不存在不同的数据,则不进行动作;

具体工作时,当日志数据采集模块启动Filebeat后,模块启动若干个输入,这些输入将在为日志数据指定的路径位置中进行查找;对于所找到的每个日志,Filebeat启动收集器;每个收集器读取单个日志并获取内容,并将新日志数据发送到libbeat;libbeat用于聚集事件,将聚集的数据发送到为Filebeat配置的输出部分;为Filebeat配置的输出部分为logstash,设置确定一个独立的字段用来区分日志来源,然后再把统一获取到的数据发送给日志数据采集模块。

所述的数据预处理模块包括数据输入单元、数据过滤单元和数据输出单元;数据输入单元、数据过滤单元和数据输出单元依次串接;数据输入单元用于输入获取的数据,每组数据对应产生事件;数据过滤单元用于根据输入的数据,根据用于设定的过滤器对输入的数据进行过滤,并将数据输出到数据输出单元;数据输出单元用于将过滤后的数据输出到数据存储模块;数据预处理模块获取日志文件数据后,利用预安装好的Logstash功能模块,将数据信息输入端传输到输出端,与此同时根据用户自身需求设置过滤器,实现按用户需求过滤数据;在Logstash功能模块中,管道为独立运行单元,每个管道均包括输入和输出,管道中每个输入阶段都运行在线程中,输入将事件写入到内存的中央队列;每个管道的工作线程从队列中获取一批数据,进行过滤操作,实现对数据的过滤和加工;然后将过滤的数据上传到数据输出单元。

数据预处理模块的预处理过程包括数据清洗和数据规范化;数据清洗用于对流量日志与威胁日志开展一致性检查和无效值检查;一致性检查用于查验数据是否符合设定的要求;若日志数据中出现无用的空格或标点,则采用正则表达式来替换这类数据;无效值检查用于检查数据样本中是否有缺失的字段信息;对于含有缺失值的日志数据,采用整例删除的方式进行删除;数据规范化用于为后续的数据分析做准备;数据规范化包含特征编码和特征归一化;特征编码用于对特殊的特征值进行对应的编码:对于IP地址列采取固定编码的方式;对于标签列采取Label encoding的编码方式;对于英文字符列数据采用独热编码的方式;特征归一化用于降低数据指标之间的对比差距;数据归一化采用min-max标准化方法,将不同表征的数据统一到相同的尺度内,从而便于后续的数据处理。

所述的数据存储模块基于python的es2csv包构建转换程序,把接收到的数据转成csv文件格式;数据存储模块采用Elasticsearch引擎;Elasticsearch引擎为在Lucene基础之上建立的分布式全文搜索引擎,用于进行数据存储;Elasticsearch引擎基于RESTfulAPI,以集群方式部署,节点分为Master Node、Data Node和Client Node;其中,MasterNode用于集群当中的数据负载均衡和数据索引的创建和删除;Data Node用于数据的存储、搜索和索引;Client Node用于路由请求,对不同的请求进行分发和汇总,以实现负载均衡。

所述的智能分析模块包括CNN-Text模型;CNN-Text模型采用Word-Embedding词嵌入方法,将文本中的句子用Keras中的Tokenizer分词器进行分词处理,再对每个单词进行编号;然后再用一个词向量对文本中的单词进行表示,然后形成特征矩阵;CNN-Text模型最终将特征矩阵作为一张等大的图像,得到相应的卷积核为一个多维张量,然后提取其中的特征。

所述的CNN-Text模型包括输入层、卷积层、池化层和全连接层;

输入层的维度根据词向量的最大长度确定,数据类型为float64;输入层还包括一层embedding层,embedding层用于根据每个单词的编号将文本映射到低维向量中,形成特征矩阵;卷积层的卷积核数目为1,卷积核大小为2*词向量的最大长度;

CNN-Text模型首先从数据库中提取原始日志数据,然后将其中的文本信息统一存入一个字符串中,对字符串进行统一长度处理,再标注一个标签,存入csv文件中;然后,将处理好的csv文件利用Keras框架中的Tokenizer分词器进行分词,将其中的字符串拆分为单词,然后对每个单词进行编号,然后输入到CNN-Text模型中;CNN-Text模型中的Embedding层将编号进行低维映射,把每个单词的编号形成一个词向量,再组成一个特征矩阵,然后将该特征矩阵输入到卷积层中,卷积层提取特征的过程表示为Yi=f(C·Mi:i+h-1+b),其中Mi为数据中第i个切分词组对应的Nc维词向量,C为单个日志数据的数据长度,Yi为卷积层提取的特征,i为将日志数据转化为词向量后向量中不为0的位置,h为词向量的维度,b为偏置项,f()为非线性函数;使用RELU激活函数将其应用于h个词组的词向量矩阵提取特征;

然后,将提取好的特征输入到池化层中,池化层用于防止训练过程中过度依赖局部特征,同时避免过拟合和增强模型泛化能力;池化层在反向传播过程中使用Dropout函数,使神经元激活值按照概率P随机丢失,具体处理过程表示为

通过若干中规格的卷积窗口提取数据不同角度的空间特征,并经过池化层选取价值最高的特征向量;最后通过全连接层进行输出。

本发明提供的这种电力网络防火墙的数据分析系统,能够有效地对网络中的恶意攻击和正常攻击进行区分,效率较高,并且本发明系统可靠性高、准确性好且方便快捷。

附图说明

图1为本发明的系统功能模块示意图。

具体实施方式

如图1所示为本发明的系统功能模块示意图:本发明提供的这种电力网络防火墙的数据分析系统,包括日志数据采集模块、数据预处理模块、数据存储模块和智能分析模块;日志数据采集模块、数据预处理模块、数据存储模块和智能分析模块依次串联;日志数据采集模块用于获取防火墙终端设备上的日志数据,并将获取的数据上传数据预处理模块;数据预处理模块用于对接收到的日志数据进行预处理,得到处理后的数据,并上传数据存储模块;数据存储模块用于对接收到的数据进行存储以及格式转换,从而为智能分析模块提供基础数据;智能分析模块用于根据存储的数据,实现对电力网络防火墙的数据进行分析。

具体实施时,日志数据采集模块通过网络通信接口连接到每个防火墙终端设备,并获取和采集全部更新日志数据;日志数据采集模块包括Filebeat工具,提供B/S模式的参数配置功能,由用户自行根据实际网络情况设置配置参数,将防火墙日志服务器中每个不同日志的路径作为配置参数进行设置,从而完成数据的采集;

日志数据采集模块采集并获取存储于电网防火墙内的流量日志及威胁日志数据,再将获取到的数据与之前获取的数据进行比较:若存在不同的数据,则意味所获取的数据包含新日志数据,将获取到数据上传数据预处理模块;如不存在不同的数据,则不进行动作;

具体工作时,当日志数据采集模块启动Filebeat后,模块启动若干个输入,这些输入将在为日志数据指定的路径位置中进行查找;对于所找到的每个日志,Filebeat启动收集器;每个收集器读取单个日志并获取内容,并将新日志数据发送到libbeat;libbeat用于聚集事件,将聚集的数据发送到为Filebeat配置的输出部分;为Filebeat配置的输出部分为logstash,确定并设置一个独立的字段用来区分日志来源,然后再把统一获取到的数据发送给日志数据采集模块。

具体实施时,数据预处理模块包括数据输入单元、数据过滤单元和数据输出单元;数据输入单元、数据过滤单元和数据输出单元依次串接;数据输入单元用于输入获取的数据,每组数据对应产生的事件;数据过滤单元用于根据输入的数据,根据用于设定的过滤器对输入的数据进行过滤,并将数据输出到数据输出单元;数据输出单元用于将过滤后的数据输出到数据存储模块;数据预处理模块获取日志文件数据后,利用预安装好的Logstash功能模块,将数据信息输入端传输到输出端,与此同时根据用户自身需求设置过滤器,实现按用户需求过滤数据;在Logstash功能模块中,管道为独立运行单元,每个管道均包括输入和输出,管道中每个输入阶段都运行在线程中,输入将事件写入到内存的中央队列;每个管道的工作线程从队列中获取一批数据,进行过滤操作,实现对数据的过滤和加工;然后将过滤的数据上传到数据输出单元。

具体实施时,数据预处理模块的预处理过程包括数据清洗和数据规范化;数据清洗用于对流量日志与威胁日志开展一致性检查和无效值检查;一致性检查用于查验数据是否符合设定的要求;若日志数据中出现无用的空格或标点,则采用正则表达式来替换这类数据;正则表达式提供了一种字符串匹配的模式,使用它能够查验出一个串是不是包含了某个子串,或者替换匹配的子串等等;正则表达式一般被用在替换和检索符合某种规则或样式的文本,用这种方法处理字符串匹配问题简单又高效;无效值检查用于检查数据样本中是否有缺失的字段信息;对于含有缺失值的日志数据,采用整例删除的方式进行删除;数据规范化用于为后续的数据分析做准备;数据规范化包含特征编码和特征归一化;特征编码用于对特殊的特征值进行对应的编码:由于人工智能机器学习的模型只能计算数字类型数据,所以对于各种特殊的特征值,需要选择各类不同的方法完成相应的编码;对于IP地址列采取固定编码的方式;对于标签列采取Label encoding的编码方式;对于英文字符列数据采用独热编码的方式;数据集中的不同特征之间的度量单位有很大的差别,直接使用无法保证分析结果的可靠性。数据归一化处理能够消除这种不良影响,降低数据指标之间的对比差距;数据归一化用于降低数据指标之间的对比差距;数据归一化采用min-max标准化方法,将不同表征的数据统一到相同的尺度内,从而便于后续的数据处理。

具体实施时,数据存储模块基于python的es2csv包构建转换程序,把接收到的数据转成csv文件格式;数据存储模块采用Elasticsearch引擎;Elasticsearch是一个在Lucene基础之上建立起来的分布式多用户能力的全文搜索引擎,可以集中进行数据存储,基于RESTful API,具有实时搜索、稳定、可靠、快速的特性,可满足日志大据分析的存储需求;Elasticsearch引擎为在Lucene基础之上建立的分布式全文搜索引擎,用于进行数据存储;Elasticsearch引擎基于RESTful API,以集群方式部署,节点分为Master Node、DataNode和Client Node;其中,Master Node用于集群当中的数据负载均衡和数据索引的创建和删除;Data Node用于数据的存储、搜索和索引;Client Node用于路由请求,对不同的请求进行分发和汇总,以实现负载均衡和适合高并发的日志存储场景。

具体实施时,所述的智能分析模块包括CNN-Text模型;CNN-Text模型采用Word-Embedding词嵌入方法,将文本中的句子用Keras中的Tokenizer分词器进行分词处理,再对每个单词进行编号;然后再用一个词向量对文本中的单词进行表示,然后形成特征矩阵;CNN-Text模型最终将特征矩阵作为一张等大的图像,得到相应的卷积核为一个多维张量,然后提取其中的特征。

CNN-Text模型包括输入层、卷积层、池化层和全连接层;

输入层的维度根据词向量的最大长度确定,数据类型为float64;输入层还包括一层embedding层,embedding层用于根据每个单词的编号将文本映射到低维向量中,形成特征矩阵;卷积层的卷积核数目为1,卷积核大小为2*词向量的最大长度;

CNN-Text模型首先从数据库中提取原始日志数据,然后将其中的文本信息统一存入一个字符串中,对字符串进行统一长度处理,再标注一个标签,存入csv文件中;然后,将处理好的csv文件利用Keras框架中的Tokenizer分词器进行分词,将其中的字符串拆分为单词,然后对每个单词进行编号,然后输入到CNN-Text模型中;CNN-Text模型中的Embedding层将编号进行低维映射,把每个单词的编号形成一个词向量,再组成一个特征矩阵,然后将该特征矩阵输入到卷积层中,卷积层提取特征的过程表示为Yi=f(C·Mi:i+h-1+b),其中Mi为数据中第i个切分词组对应的Nc维词向量,C为单个日志数据的数据长度,Yi为卷积层提取的特征,i为将日志数据转化为词向量后向量中不为0的位置,h为词向量的维度,b为偏置项,f()为非线性函数;使用RELU激活函数将其应用于h个词组的词向量矩阵提取特征;

然后,将提取好的特征输入到池化层中,池化层用于防止训练过程中过度依赖局部特征,同时避免过拟合和增强模型泛化能力;池化层在反向传播过程中使用Dropout函数,使神经元激活值按照概率P随机丢失,具体处理过程表示为

通过若干中规格的卷积窗口提取数据不同角度的空间特征,并经过池化层选取价值最高的特征向量;最后通过全连接层进行输出。

技术分类

06120115637432