法律状态公告日
法律状态信息
法律状态
2017-02-22
授权
授权
2014-07-30
实质审查的生效 IPC(主分类):H04L29/06 申请日:20140328
实质审查的生效
2014-07-02
公开
公开
技术领域
本发明属于网络安全态势感知领域,具体涉及一种基于日志和SNMP信息融合的网络安 全态势感知分析方法。
技术背景
随着计算机及网络技术的发展,攻击手段日趋专业化,网络安全事件层出不穷,单一的 防火墙和入侵检测系统等被动防御技术已经不能确保网络的安全,因此提高网络的主动防御 能力是当今网络安全研究领域的主要方向,而对网络安全态势感知领域的研究尤为突出。
网络安全态势感知系统的数据源非常丰富,其中日志和SNMP数据占据重要位置。但是 单独的SNMP分析或日志分析都存在着一定的缺陷。(1)SNMP代理无法为管理站提供某一 目标集的历史数据,只能提供设备的当前状态或一个很短时间段内的数据,对分析网络的整 体运行趋势造成了障碍。(2)SNMP协议检测粒度粗糙、数据资料简单且无法提供网络层以 上的信息。(3)日志分析的正确性很大程度上取决于计算机系统时间的准确性。如果攻击者 提前对计算机时钟进行了调整,那么在运行日志分析系统时就会产生误判断,从而影响分析 结果。
而将两种数据源相结合,可以增加数据源的完整性和安全性:
(1)SNMP存在不能为分析提供历史数据这一缺点,而日志则保存较长一段时间的信息, 二者结合可以弥补SNMP不能提供历史数据的缺点。
(2)SNMP检测粒度粗糙、数据资料简单且无法提供网络层以上的信息。而日志信息记 录着网络系统发生的各种事件,同时可以提供网络层以上的信息。
(3)引入SNMP数据对日志进行补充,并且SNMPv2和SNMPv3中还增加了相应的安 全机制,这样通过验证和访问控制等方式解决了安全隐患的问题,弥补了日志信息容易被篡 改或者删除的问题。
因此,本发明提出了一种将日志信息和SNMP数据信息进行融合分析的方法,弥补了单 独日志和SNMP分析的不足之处。
目前国内一些专家和学者已经对该领域进行了初步研究,如纪乃丹等人提出了一种基于 改进的事件场景关联融合模型F-ECS,引入模糊集理论,将SNMP数据与多源日志信息进行 融合分析。弱化了集合边界,降低被误报率。但其知识库的建立对专家知识的依赖性比较强, 漏报率较高;且阈值固定,检测精度降低。
发明内容
本发明的目的是提出一种面向大规模网络,对网络状态进行实时监控,并对网络中异常 或攻击事件进行自动检测的基于日志和SNMP信息融合的网络安全态势感知分析方法。
本发明的目的是这样实现的:
(1)基于日志和SNMP数据融合的数据采集:
(1.1)进行日志数据采集:
(1.1.1)从网络设备中获取日志数据信息;
(1.1.2)设置日志采集代理的采集日志格式:日志记录时间,源主机地址,目的地址, 源端口号,目的端口号,SYN标志,服务类型;
(1.1.3)启动采集代理,将采集到的日志数据存入源日志数据库;
(1.2)进行SNMP数据采集:
(1.2.1)使用时间片轮询的方式定时采集数据,轮询时间设为固定值;
(1.2.2)读取采集配置文件,设置传感器ID、时间粒度、存储路径、服务器IP;
(1.2.3)设置SNMP采集代理的采集SNMP格式:标识符id、信息产生时间time、源主 机地址IP、CPU使用率UsedCPU、内存使用率UsedMem、接口利用率UsedPort、流量Flux、 丢包率PacketLoss、接口信息错误率PortErrorRate、响应时间ResponseTime;
(1.2.4)启动SNMP采集代理,将采集到的SNMP数据存入源SNMP数据库;
(2)基于日志和SNMP数据融合的预处理:
(2.1)日志数据预处理:
(2.1.1)从源日志数据库中获取数据。
(2.1.2)归一化处理,转化为统一的格式,时间time、源主机地址IP,目标主机与当前 连接相同的连接次数count1、出现SYN错误的连接百分比ser1、目标端口与当前连接相同的 连接次数count2、出现SYN错误的连接百分比(针对服务)ser2;
(2.1.3)将预处理后的日志数据存入日志数据库;
(2.2)SNMP数据融合预处理:
(2.2.1)从源SNMP数据库中获取数据;
(2.2.2)归一化处理:将获得的源数据转换成[0,1]之间的数据,即除了标识符、信息产 生时间、源主机地址外的每个属性除以各属性的最大允许值,获得相应的百分比;
(2.2.3)将预处理后的SNMP数据存入SNMP数据库;
(3)进行日志数据分析和SNMP数据分析:
(3.1)进行SNMP数据分析:
(3.1.1)从数据预处理中的SNMP数据库中获取数据;
(3.1.2)计算事件基于SNMP的重要度,并与阈值进行比较;
(3.1.3)将重要度高的事件存入安全事件数据库;
(3.1.4)根据融合结果进行阈值修正;
(4)进行日志和SNMP数据的数据融合:
(4.1)采用五层模糊神经网络对日志信息和SNMP信息进行融合分析;
(4.2)对五层模糊神经网络进行学习训练获得每层之间的权值;
(4.3)将日志的每个字段和SNMP事件的重要度作为模糊神经网络输入层的输入;
(4.4)将实际输出与期望输出值进行比较,如果输出层的实际输出不等于期望输出,则 进入后向传播过程;
(4.5)后向传播时,把误差信号按原来前向传播的通路反向传回,逐层递归的计算实际 输出与期望输出的差值,根据误差的均方差调节权值,对隐含层的每个神经元的权系数进行 修改,使误差趋于最小;
(5)进行日志和SNMP数据融合的可视化:显示检测对象的网络安全态势和检测结果。
模糊神经网络输入层的输入包括目标主机与当前连接相同的连接次数count1、出现SYN 错误的连接百分比ser1、目标端口与当前连接相同的连接次数count2、出现SYN错误的连接 百分比ser2、基于SNMP的重要度。
基于SNMP重要度的计算方法包括:
(1)利用SNMP采集代理获得SNMP数据信息,进行归一化处理;
(2)确定除了标识符、信息产生时间、源主机地址外每个属性的最大允许值,用(i=1,2,…7)表示;
(3)根据SNMP数据库中的信息求除了标识符、信息产生时间、源主机地址外每个属 性的平均值,用表示;
(4)计算事件基于SNMP的重要度P
(5)NMP事件的重要度P与阈值进行比较,大于该阈值的事件发送到日志数据分析模 块和数据融合模块。获得日志信息和融合结果;
阈值修正方法包括:
(1)根据先验知识设定初始的阈值q;
(2)将SNMP中重要度大于阈值的事件放入安全事件数据库中,并计算其重要度的平 均值
(3)将重要度高的SNMP事件与相关联的日志事件进行融合分析,分析判断正常、异 常和攻击事件,并更新安全事件数据库;
(4)使用变化量其中q*为实时SNMP事件的重要度,阈值修正为:
其中η是修正系数。
五层模糊神经网络为:
第一层:输入层,从前述数据分析阶段中获得日志和SNMP数据,包含5个节点,分别 记为xi,i=1,2…5,用表示第一层第i个节点的输出结果,把输入值直接传送给下一层
第二层:隶属度函数层,实现输入变量的模糊化,输入的特征被分别映射到模糊集,每 个特征的模糊集数为3,节点个数为输入变量的模糊集合数之和,用μij表示第二层每 个节点的输出结果,用单一节点计算简单的隶属函数:
第三层:推理层,其中表示第三层上半部分的输出结果,表示第三层下半部分的 输出结果,
上半部分使用Π标记所有节点,
下半部分用Σ标记所有节点,
第四层:求和层,将第三层的上半部分乘以系数a(0<a<1)与下半部分乘以系数(1-a)对 应相加,包含3个节点,用表示第四层的输出结果,
第五层:解模糊化层,用于模糊神经网络最后清晰量的输出,用表 示第五层的输出结果,
其中θ(·)是阶跃函数,用于反向传播,表示融合结果,
第一层到第三层的网络连接权值均为1,隶属度函数层(第二层)中高斯函数中的平均 值mij和均方差σij,以及第五层中的权值ωij。
本发明的有益效果在于:
本发明提供的一种基于日志和SNMP信息融合的网络安全态势感知分析方法目的在于提 高网络安全态势感知的准确性,与单一分析日志数据或者SNMP数据源相比,这两种数据的 结合,能较好的分析网络状态整体的运行趋势,两种数据结合分析更全面、精确;本系统的 数据处理根据用户需求选择重要度高的进行处理,减轻了对大量数据处理的负担;本系统的 采用阈值自动修正的方法,使用户自定义的阈值参数更加的精确,提高数据融合的准确性。
附图说明
图1为本发明的具体实施方案的网络部署图;
图2为本发明的总体框架图;
图3为SNMP数据分析模块流程图;
图4为模糊神经网络结果图。
具体实施方法
下面结合附图和具体实施方法对本发明作更加详细的描述:
基于日志和SNMP数据融合的网络安全态势感知分析方法包括数据采集、预处理、数据 分析、数据融合和可视化五个阶段。
1、基于日志和SNMP数据融合的数据采集阶段包括日志数据采集和SNMP数据采集, 其中
(1)日志数据采集包括以下三个步骤:
①从网络设备中获取日志数据信息。
②设置日志采集代理的采集日志格式:日志记录时间,源主机地址,目的地址,源端口 号,目的端口号,SYN标志,服务类型。
③启动采集代理,将采集到的日志数据存入源日志数据库。
(2)SNMP数据采集包括以下四个步骤:
④使用时间片轮询的方式定时采集数据,轮询时间设为固定值。
②读取采集配置文件,设置传感器ID、时间粒度、存储路径、服务器IP。
③设置SNMP采集代理的采集SNMP格式:标识符、信息产生时间、源主机地址、CPU 使用率、内存使用率、接口利用率、流量、丢包率、接口信息错误率、响应时间,分别用id、 time、IP、UsedCPU,UsedMem,UsedPort,Flux,PacketLoss,PortErrorRate,ResponseTime 表示。
④启动SNMP采集代理,将采集到的SNMP数据存入源SNMP数据库。
2、基于日志和SNMP数据融合的预处理阶段包括日志数据预处理和SNMP数据预处理, 其中
(1)日志数据预处理包括三个步骤:
①从上述数据采集阶段中的源日志数据库中获取数据。
②归一化处理,转化为统一的格式,即时间time、源主机地址IP,在一个时间段内(2 分钟)目标主机与当前连接相同的连接次数count1、出现SYN错误的连接百分比(针对主机) ser1、目标端口与当前连接相同的连接次数count2、出现SYN错误的连接百分比(针对服务) ser2。
③将预处理后的日志数据存入日志数据库。
(2)SNMP预处理包括三个步骤:
①从上述数据采集阶段中的源SNMP数据库中获取数据。
②归一化处理。将获得的源数据转换成[0,1]之间的数据,即每个属性(除了标识符、信 息产生时间、源主机地址外)除以各自的最大允许值(由主机性能和先验知识得到),从而获 得相应的百分比。
③将预处理后的SNMP数据存入SNMP数据库。
3、基于日志和SNMP数据融合的数据分析阶段包括日志数据分析和SNMP数据分析, 其中
(1)SNMP数据分析包括以下四个步骤:
①从上述数据预处理阶段中的SNMP数据库中获取数据。
②计算事件基于SNMP的重要度,并与给定的阈值进行比较。(具体计算方法见下文)
③将重要度高的事件存入安全事件数据库。
④根据融合结果进行阈值修正。
前述的事件基于SNMP重要度的计算方法具体包括:
①利用SNMP采集代理获得SNMP数据信息,并将其进行归一化处理,使其形式统一, 其格式为:标识符、信息产生时间、源主机地址、CPU使用率、内存使用率、接口利用率、 流量、丢包率、接口信息错误率、响应时间。分别用id、time、IP、UsedCPU,UsedMem, UsedPort,Flux,PacketLoss,PortErrorRate,ResponseTime表示。
②确定每个属性的最大允许值(除了标识符、信息产生时间、源主机地址外),分别用(i=1,2,…7)表示。
③根据SNMP数据库中的信息求每个属性的平均值(除了标识符、信息产生时间、源主 机地址外),分别用表示。
④计算事件基于SNMP的重要度P。
⑤将每个SNMP事件的重要度P与阈值进行比较,大于该阈值的事件发送到日志数据分 析模块和数据融合模块。从而获得与之相关的日志信息和融合结果。
前述基于SNMP重要度的阈值修正方法实现过程如下:
①首先根据先验知识设定初始的阈值q。
②将SNMP中重要度大于阈值的事件放入安全事件数据库中,并计算其重要度的平均值
③将重要度高的SNMP事件与相关联的日志事件进行融合分析,分析判断正常、异常和 攻击事件,并更新安全事件数据库。
④使用变化量其中q*为实时SNMP事件的重要度,阈值修正计算公式如下:
其中η是修正系数。
(2)日志数据分析包括以下三个步骤:
①从上述数据预处理阶段中的日志数据库中获取数据。
②根据上述SNMP预处理中得到的重要度高的事件,获取与之相关联的日志数据,即同一 时间段、源主机地址相同的日志。
③将相关联的日志数据发送到数据融合阶段。
4、基于日志和SNMP数据融合的数据融合阶段
数据融合阶段包括以下五个步骤:
①采用五层模糊神经网络对日志信息和SNMP信息进行融合分析。
②对该五层模糊神经网络进行学习训练获得每层之间的权值。
③将日志的每个字段和SNMP事件的重要度作为该模糊神经网络输入层的输入(包括在 一个时间段内(2分钟)目标主机与当前连接相同的连接次数count1、出现SYN错误的连 接百分比(针对主机)ser1、目标端口与当前连接相同的连接次数count2、出现SYN错误的 连接百分比(针对服务)ser2、和基于SNMP的重要度)。
④将实际输出与期望输出值进行比较,如果输出层的实际输出不等于期望输出,则进入 后向传播过程。
⑤后向传播时,把误差信号按原来前向传播的通路反向传回,逐层递归的计算实际输出 与期望输出的差值,并根据误差的均方差调节权值,对隐含层的每个神经元的权系数进行修 改,以使误差趋于最小。
5、基于日志和SNMP数据融合的可视化阶段
可视化阶段即显示检测对象的网络安全态势和检测结果的查询。
本发明进一步细化分为:
首先需要将本发明所提供的方法应用到具体的网络中,如图1所示:
1、在网络中的任意一台Linux主机上安装本发明所采用的日志采集代理和SNMP采集代 理。同时在Web服务器和防火墙上也安装本发明所采用的日志采集代理和SNMP采集代理。
2、将Linux主机、数据库服务器、Web服务器和监控平台都连接到华为交换机。而内网 和外网之间使用华为硬件防火墙来保护内网的安全性。
3、设置数据库服务器,负责存储由各个传感器上传的原始数据、预处理、分析和融合的 数据。监控平台通过华为交换机从数据库服务器中获得相关数据。并通过本发明的方法(如 图2所示的总体框架图)对数据库中的数据进行分析,将分析结果以界面的形式显示出来, 并存入数据库服务器中。
结合图2所示,本发明的基于日志和SNMP信息融合的网路安全态势感知分析方法主要 包括5个阶段:数据采集阶段、数据预处理阶段、数据分析阶段、数据融合阶段和可视化阶 段。其中数据采集阶段包括日志数据采集和SNMP数据采集;数据预处理阶段包括日志数据 预处理和SNMP数据预处理;数据分析阶段包括日志数据分析和SNMP数据分析;而SNMP 数据分析阶段中又根据融合分析结果对阈值进行修正。
1、基于日志和SNMP数据融合的数据采集阶段中的日志数据采集包括以下三个步骤:
(1)从网络设备中(包括Linux主机、Web服务器和防火墙)获取日志数据信息。
(2)设置日志采集代理的采集日志格式:日志记录时间,源主机地址,目地地址,源端 口号,目的端口号,SYN标志,服务类型。
(3)启动采集代理,将采集到的日志数据存入数据库服务器中的源日志数据库。
2、基于日志和SNMP数据融合的数据采集阶段中的SNMP数据采集包括以下五个步骤:
(1)从网络设备中(包括Linux主机、Web服务器和防火墙)获取SNMP数据信息。
(2)使用时间片轮询的方式定时采集数据,轮询时间设定为120s。
(3)读取采集配置文件,设置传感器ID、时间粒度、存储路径、服务器IP。
(4)设置SNMP采集代理的采集SNMP格式:标识符、信息产生时间、源主机地址、 CPU使用率、内存使用率、接口利用率、流量、丢包率、接口信息错误率、响应时间,分别 用id、time、IP、UsedCPU,UsedMem,UsedPort,Flux,PacketLoss,PortErrorRate,ResponseTime 表示。
(5)启用SNMP采集代理,将采集到的SNMP数据存入数据库服务器中的源SNMP数据库。
3、基于日志和SNMP数据融合的预处理阶段中的日志数据预处理包括以下三个步骤:
(1)从上述数据采集阶段中的源日志数据库中获取数据。
(2)进行归一化处理,转化为统一的格式,即时间time、源主机地址IP,在一个时间 段内(2分钟)目标主机与当前连接相同的连接次数count1、出现SYN错误的连接百分比(针 对主机)ser1、目标端口与当前连接相同的连接次数count2、出现SYN错误的连接百分比(针 对服务)ser2。
(3)存入数据库服务器中的日志数据库。
4、基于日志和SNMP数据融合的预处理阶段中的SNMP数据预处理包括以下三个步骤:
(1)从上述数据采集阶段中的源SNMP数据库中获取数据。
(2)归一化处理。将获得的源数据转换成[0,1]之间的数据,即每个属性(处了标识符、 信息产生时间、源主机地址外)除以各自的最大允许值,从而获得相应的百分比。
(3)存入数据库服务器中的SNMP数据库。
5、基于日志和SNMP数据融合的数据分析阶段中的SNMP数据分析包括以下四个步骤 (如图3所示):
(1)从上述数据预处理阶段中的SNMP数据库中获取数据(包括标识符、信息产生时 间、源主机地址、CPU使用率、内存使用率、接口利用率、流量、丢包率、接口信息错误率、 响应时间。并分别用id、time、IP、UsedCPU,UsedMem,UsedPort,Flux,PacketLoss, PortErrorRate,ResponseTime表示)。
(2)计算事件基于SNMP的重要度。
①确定每个属性的最大允许值(除标识符、信息产生时间、源主机地址外),分别用(i=1,2,…7)表示。
②求每个属性的平均值(除标识符、信息产生时间、源主机地址外),分别用表示。
③计算事件基于SNMP的重要度P:
(3)阈值比较,将每个SNMP时间的重要度P与阈值q进行比较,将重要度大于阈值q 的事件存入数据库服务器中的安全事件数据库。
(4)根据融合结果进行阈值修正。
①首先根据先验知识设定初始阈值q。
②计算安全事件数据库中SNMP事件的重要度的平均值
③根据融合分析结果,判断正常、异常和攻击事件,并更新安全事件数据库。
④阈值修正,其中q*为实时SNMP事件的重要度,Δq为重要度变化量,η为修正系数。
6、基于日志和SNMP数据融合的数据分析阶段中的日志数据分析包括以下四个步骤:
(1)从上述数据预处理阶段中的日志数据库中获取数据。
(2)根据上述SNMP预处理中得到的重要度高的事件,获取与之相关联的日志数据,即 同一时间段、源主机地址相同的日志。
(3)将相关联的日志数据发送到数据融合阶段。
7、基于日志和SNMP数据融合的融合分析阶段
(1)采用五层模糊神经网络对日志信息和SNMP信息进行融合分析。
(2)对该五层模糊神经网络进行学习训练获得每层之间的权值。
(3)将日志的每个字段和SNMP事件的重要度作为该模糊神经网络输入层的输入(包 括在一个时间段内(2分钟)目标主机与当前连接相同的连接次数count1、出现SYN错误 的连接百分比(针对主机)ser1、目标端口与当前连接相同的连接次数count2、出现SYN错 误的连接百分比(针对服务)ser2、和基于SNMP的重要度)。
(4)将实际输出与期望输出值进行比较,如果输出层的实际输出不等于期望输出,则进 入后向传播过程。
(5)后向传播时,把误差信号按原来前向传播的通路反向传回,逐层递归的计算实际输 出与期望输出的差值,并根据误差的均方差调节权值,对隐含层的每个神经元的权系数进行 修改,以使误差趋于最小。
上述采用的五层模糊神经网络具体结构如下:
第一层:输入层。从前述数据分析阶段中获得日志和SNMP数据,作为第一层的输入。 该层包含5个节点,分别记为xi,i=1,2…5。用表示第一层第i个节点的输出结果。该层只 是把输入值直接传送给下一层,即
第二层:隶属度函数层。实现输入变量的模糊化,输入的各个特征在该层被分别映射到 相应模糊集(每个特征的模糊集数为3)。该层的节点个数为各个输入变量的模糊集合数之和 (即3*5=15)。用μij表示第二层每个节点的输出结果,用单一节点计算简单的隶属函 数(高斯函数),因而有:
第三层:推理层。该层分为两部分,即加法推理和乘积推理。其中表示第三层上半 部分(加法推理)的输出结果,表示第三层下半部分(乘积推理)的输出结果。
上半部分使用Π标记所有节点,对应为隶属度函数的乘积推理,即
下半部分用Σ标记所有节点,对应隶属度函数的加法推理,即
第四层:求和层。该层是将第三层的上半部分乘以系数a(0<a<1)与下半部分乘以系数 (1-a)对应相加。该层共包含3个节点,用表示第四层的输出结果。即
第五层:解模糊化层(输出层)。经过上面四层的计算得到融合值的模糊量,该层实现了 模糊神经网络最后清晰量的输出。用yj(j=0,1,…,3)表示第五层的输出结果。
其中θ(·)是阶跃函数,用于反向传播,从而使实际输出值与期望值得误差为最小,而 表示融合结果。
在该神经网络结果模型中,第一层到第三层的网络连接权值均为1。而其中需要辨识的 参数有三类:隶属度函数层(第二层)中高斯函数中的平均值mij和均方差σij,以及第五层 中的权值ωij。他们都是通过BP神经网络学习算法训练得来的。
本发明提供的一种基于日志和SNMP信息融合的网络安全态势感知分析方法目的在于提 高网络安全态势感知的准确性,与单一分析日志数据或者SNMP数据源相比,这两种数据的 结合,能较好的分析网络状态整体的运行趋势,两种数据结合分析更全面、精确;本系统的 数据处理根据用户需求选择重要度高的进行处理,减轻了对大量数据处理的负担;本系统的 采用阈值自动修正的方法,使用户自定义的阈值参数更加的精确,提高数据融合的准确性。
机译: 一种基于al的下一代关键信息基础设施网络安全态势感知系统
机译: 一种通过将经由V2V通信获取的信息与经由摄像头获取的信息融合而更精确地执行摄像头的俯仰校准,从而提供基于摄像头的鲁棒物距预测的方法。设备使用
机译: 一种基于SNMP的网络管理方法