发明内容
有鉴于此,本发明的主要目的在于提供一种应用于信息安全运维管理的大数据分析。采用大数据分析技术,实现对信息系统的各种网络网络攻击的感知,无论是已知的网络攻击,还是未知的网络攻击。
为达到上述目的,本发明的技术方案是这样实现的:
本发明提供的一种应用于信息安全运维管理的大数据分析,该方法包括:
构建P2P网络,从SNMP中选择能反映网络实时状态快照的SNMP特征,通过分布式数据聚类算法为各节点找到收敛效果最佳的SNMP特征之值,计算的SNMP观测,确定所存在的网络攻击。
上述方案中,所述P2P网络,由多个采集终端所组成。
上述方案中,所述采集终端,负责通过SNMP采集信息安全设备、路由器、交换机和服务器的网络流量统计数据。
上述方案中,所述SNMP特征选择,由基于相关性的特征选择算法实现,所选择的SNMP特征包括但不仅限于如下14个相关属性:
侦听状态时的TCP进程数量、开放TCP连接的数量、等待状态时的TCP连接数量、已建立状态时的TCP连接数量、已接收到SYN状态时的TCP连接数量、等待FIN状态时的TCP连接数量、开放TCP连接的远程地址的数量、第1台主机与大部分主机的TCP连接数、第2台主机与大部分主机的TCP连接数、第3台主机与大部分主机的TCP连接数、大部分连接的本地TCP端口、端口的连接的数量、大部分连接的第2个本地TCP端口、发送TCP RST段的数量。
上述方案中,所述计算的SNMP观测,由收敛效果最佳的SNMP特征的值来实现。
上述方案中,所述确定所存在的网络攻击,包括已知的网络攻击和未知的网络攻击,通过分析SNMP观测来实现。
本专利提供一种基于SNMP统计观测的分布式数据挖掘的大数据分析来检测网络中恶意流量的方法,解决了无法直接对未知的网络攻击进行检测的难题。
具体实施方式
下面是根据附图和实例对本发明的进一步详细说明:
图1为本发明所述的应用于安全运维管理的大数据分析的分布式智能系统架构。它由多个数据采集终端100160所组成,这些采集终端构成了P2P网络。每一个采集终端均有能够彼此相互通信的多个邻居。因此,每一个采集终端都是P2P网络上的一个节点。通过SNMP协议,每一个采集终端能够采集服务器、工作站、路由器、交换机、IDS、IPS、防火墙等设备上的数据。采集的数据包括网络流量的统计,由采集终端周期性地轮询服务器等设备上的SNMP Agent而得到的。也从采集终端上采集SNMP数据,为了整个系统的安全。在数据采集的过程中,P2P网络中的所有节点启动一个分布式数据聚类算法,使用自己的SNMP观测作为一个局部数据集。分布式数据聚类算法的目标就是将一些所谓的“全局数据”分配到其它的一些簇中,且这些簇由若干组类似的数据实例所组成。所述簇应该具有这样的特征,使得在同一个组内的两个观测是非常相似的,而属于不同簇的两个测量是完全不相同的。
每个簇对应于一个特定的网络流量,这个特定网络流量要么表示一个有规律的网络活动,要么表示一个对主机或部分网络攻击的存在。
然而,一个节点知道某个簇对应于一个特定的网络威胁之后,例如,DoS、或对SSH密码的暴力攻击或其他。它可以使用这个信息来检测那个威胁。当采集SNMP观测时,如果它们中的某些落入到已经知道对应于一个攻击的簇,则节点就立即向受影响的主机和/或系统管理员发送告警,为了告知用户或激活适当的安全对策。随着时间的推移,通过周期性重复执行分布式聚类算法,以前未知的攻击类型可以确定和潜在的概念漂移的问题也被解决了。
为了更好地理解本专利所提供的系统架构(如图1所示),我们引进了以下公式:
N表示P2P网络的节点数量,它们之间的对称的邻居关系,例如,(n,),当且仅当,n和是邻居。由此产生的图G=(N,E)描述了P2P网络的拓扑结构。
通过周期性地轮询SNMP Agent,每个节点逐步充实其观测数据集的。所有的数据集属于一个观测域D。每一个观测,由一个数组(,…,)所组成,数组中的每一个元素被标有一个时间戳和所观测主机h的一个唯一的标识符(例如,IP地址),以及包含主机h在时刻t的m个网络流量统计指标值。
在某些时候,分布式数据聚类算法是运行在整个P2P网络。当该算法运行时,任何一个节点,应该仅与该节点在P2P网络中的邻居Adj(n)子集进行通信,
。
从此往后,将使用(n)表示n自身的邻居的集合,
。
分布式算法每次运行之后,每个节点获得一个本地数据集分成k个簇,,…,。更一般地,该簇算法生成了一个由一个函数组成的数学模型:,分配测量到某一个簇中,依次地,该簇被归于到某一个可能的网络流量情况中(正常的网络流量,或某种类型的网络攻击)。依靠所采用的算法,在该算法运行结束,在P2P网络中所有的节点都得到一个完全同样的模式,或聚集的数据可能略有不同的方式,带来了一定程度的不确定性到所建议的攻击检测装置。
图2为本发明所述的应用于安全运维管理的大数据分析的流程图。200如图1所示。210 选择SNMP特征,一般地,通过SNMP能够得到各种不同的关于网络流量的统计数据:连接的信息(例如,它们的数量,它们的状态,等)、包、主机、被交换流量的字节数量等。这些数据均是每一个SNMP观测所包括的;然而,利用所有的这些通过SNMP获得的统计信息可能是适得其反,因为这海量的数据需要增加内存的存储空间,并且,数据聚类算法也因此需要执行较长的时间。
解决这种问题的一种积极的方案,就是在不重大损失信息的前提下,压缩数据量,让数据更具有代表性。也就是说,通过SNMP特征选择算法,从一般的SNMP数据中选择信息最丰富的特征子集。
具体而言,精简之后的SNMP数据保留了大部分的信息。本专利提供了基于相关性的特征选择算法,该算法所选择的属性与类别标签高度地相关(为了保证准确性),而它们相互之间却彼此不相关(避免冗余)。如此炮制,得到了如下14个相关属性:
TcpListenerProcess 侦听状态时的TCP进程数量
TcpConnections 开放TCP连接的数量
TcpConnectionsTimeWait 等待状态时的TCP连接数量
TcpConnectionsEstabl 已建立状态时的TCP连接数量
TcpConnectionsSynRec 已接收到SYN状态时的TCP连接数量
TcpConnectionsFinWait 等待FIN状态时的TCP连接数量
TcpDifferentIps 开放TCP连接的远程地址的数量
TcpMostConnsIp1Count 第1台主机与大部分主机的TCP连接数
TcpMostConnsIp2Count 第2台主机与大部分主机的TCP连接数
TcpMostConnsIp3Count 第3台主机与大部分主机的TCP连接数
TcpMostConnsPort1 大部分连接的本地TCP端口
TcpMostConnsPort1Count 端口的连接的数量
TcpMostConnsPort2 大部分连接的第2个本地TCP端口
TcpOutRst 发送TCP RST段的数量
这里,所选择这些属性描述主机的网络流量相当有效地(其它设备如法炮制),特别是在基于网络攻击的情况下。因此,每一个观测是由相应时刻的这些属性的值所组成。所述特征选择过程,能够并行运行在P2P网络所有节点各自的本地数据上。
220为了实现所述的功能,需要选择一个合适的分布式数据聚类算法。所有节点并行地运行这个算法来分析观测和建立一个聚类模型,下面举例说明。
如上所示,这里通过考虑基于局部同步的P2P的k平均算法的例子,较为详细地说明本专利所提供的大数据分析。基于这个k平均,这个算法产生了用户定义的k个簇。当处理这可能不是先验已知的网络威胁,簇的数量一般是未知的,因此这里可以随着不同的k值运行该算法多次。
开始时,网络中的一个节点,随机地或通过某种特定的策略,选择k个D中的点。那么,这些点被重分配到所有其它的节点上:每一个节点n采用这些点,,…,作为它自己初始的聚类质心点。初始化阶段之后,每个节点n就进入了该算法的主要过程,由以下4步所组成。前两步构成标准的和集中的k-均值的迭代算法(i表示迭代计数器,从1开始的第一个迭代)。
1、本地数据集的每一个实例,被分配到各自的最近的聚类质心点 ,所以对于每一个聚类质心点j获得了一个实例集。这里采用=表示所分配的实例的数量。
2、那么本地聚类质心点,,…,被计算为被分配到每一个聚类质心点j的所有实例的平均点。
3、局部聚类质心点,,…和相关实例数,,…被发送到邻居节点Adj(n)。
4、在接收到局部聚类质心点和所有邻居节点的实例数之后,每一个新的聚类质心点,,…被计算为相应的局部聚类质心点的加权平均,从节点n和邻居节点开始计算,采用各自的实例数作为加权。
一旦节点n已完成一个新的聚类质心点计算,就立刻与先前的进行比较:如果至少有一个已被移动的距离大于一个固定的终止门限,则节点n随着新的聚类质心点继续运行该算法。否则,如果没有聚类质心点已明显转移,节点n结束该算法的循环执行,尽管它不断地用上次计算的结果来回复局部聚类质心点的请求。节点计算的聚类质心点的集合构成了它的局部聚类模型:任何实例dD被分配给它所对应的最近的聚类质心点。
使用这种算法,可以利用P2P对等层之间的协作,但减少了它们之间的流量,因此,本算法可以频繁执行不使P2P节点的网络流量超负荷。
230通过220而得到收敛最佳的SNMP特征之值,来计算SNMP观测的值。
240通过分析SNMP观测的值,获得网络的实时状态快照,确定所存在的网络攻击与否。
以上所述仅为本发明的较佳实施例,并非用来限定本发明的实施范围;凡是依本发明所作的等效变化与修改,都被视为本发明的专利范围所涵盖。