一种分布式异常检测网络数据流的方法

文档序号:9436040阅读:1630来源:国知局
一种分布式异常检测网络数据流的方法
【技术领域】
[0001] 本发明涉及网络技术领域,特别是一种分布式异常检测网络数据流的方法。
【背景技术】
[0002] 网络数据流异常是指对网络传输造成影响,导致终端用户无法正常使用的现象。 数据流异常会对网络的性能造成一定程度的影响,消耗设备资源,严重时甚至可能导致网 络瘫痪。例如:分布式拒绝服务攻击,攻击者通过控制多台不同IP地址的计算机,对某个 服务器进行攻击,通过发送大量的数据报文,不仅使服务器资源使用率过高,还占用网络带 宽,造成网络拥堵,甚至服务器瘫痪。使得正常用户的正常请求无法得到服务器的响应。因 此,检测网络数据流出现的异常并采取一定措施进行处理,以保障网络安全就显得尤为重 要。
[0003] 该领域研究中根据异常检测的检测点部署位置的不同,可分为单点的异常检测和 分布式的异常检测。
[0004] 单点的异常检测是通过在单个主机上配置检测系统,来识别主机上出现的异常, 它可以针对主机异常进行细致的分析并发出警报,对检测小型网络的主机异常具有较好的 性能。但随着网络规模的不断扩大,对每个主机设置检测节点的成本太高,弊端凸显。而且 这种方式无法了解网络的流量信息,只能对主机异常进行检测。
[0005] 分布式异常检测作为异常检测的一种方法被广泛应用于网网络安全领域。它的主 要思想是在要监测的网络中设置多个检测点和一个处理中心,通过彼此的协同工作完成异 常数据流的检测。通常采用抽样检测的方式检测部分的网络数据流,通过处理和分析,判断 整个网络中的异常数据流情况。
[0006] 网络数据流的异常检测的典型分布式逻辑结构主要有两大类。第一类是分布式的 数据搜集,集中式的数据处理;第二类是分层结构的数据搜集和处理。
[0007] 第一类分布式的数据搜集,如图4所示,集中式的数据处理中需要两类监测点:探 测节点和分析节点。其中探测节点负责收集网络信息,中心分析节点负责所有的计算和分 析任务。这种结构的优点主要体现在数据的准确度比较高,因为数据搜集完成后直接交由 分析结点处理,没有经过其他途径。但其缺点是,一个分析结点负责多个搜集结点,造成分 析结点的负载过重。
[0008] 第二类分层结构的数据搜集和处理需要配置多个分析节点,如图5所示,通过节 点的深度分为高层节点和底层节点。底层分析节点收集处理后的信息输出给高层分析节 点,由高层分析节点进行彼此关联分析。这种结构的优点体现在使用分层的结构,使得各个 分析结点的负荷大大降低。但缺点是在数据搜集后需要经过层层的分析处理并向上层节点 传递,使得每经过一层,数据的精确度便有所降低,导致高层的分析结点很难准确的对当前 网络状况进行判断。
[0009] 对检测点进行部署后,在单个检测点上进行异常检测的技术主要分为三类:
[0010] 1、基于特征匹配的异常检测技术,其主要思想是:特征库中存储下已知异常的特 征数据,检测点通过提取数据流的相应特征属性,与特征库进行匹配来确定数据流的异常 情况。该匹配又分为模糊匹配和完全匹配。模糊匹配,当相似率超过指定阈值,则认为异常。 完全匹配,只有当相似率达到百分之百的时候,才认定为异常。这种方法可以根据已有的异 常数据流特征库检测出特征库中存在的异常,具有较高的准确性和可靠性。但是这种方法 只能对已知的异常进行检测,无法识别未知的异常数据流。
[0011] 2、基于统计分析的异常检测技术,其主要思想是:统计网络中一段时间内的数据 流信息,建立某种数学模型,统计分析得到一个阈值,用以区分正常流和异常流。例如:获取 某时间段数据流携带的所有数据包,通过计算得到数据包的出现频率,频率超过某阈值者 视为正常数据流,否则视为异常。这种方法不需要事先知道异常数据流的具体行为特征,可 以防范新出现的异常。但合理的阈值的确定成为这种方法的难点,阈值设定太高,会导致一 些异常无法检测出来,系统漏报率增加;阈值设定太低会导致正常数据流的误判,即某些正 常数据流会被当做异常数据处理。
[0012] 3、基于机器学习和数据挖掘的异常检测技术,其主要思想是:通过采集大量的数 据,进行分析,得出异常情况。如今的数据挖掘的方法已有许多,如分类算法,聚合算法,神 经网络算法,模式分析等。这种方法既可以检测已知的异常流,也可以检测位置的异常流, 可以对大量数据进行关联分析。但是处理的数据量较大,计算量大,会消耗较多的系统资 源。

【发明内容】

[0013] 有鉴于此,本发明的目的是提供一种分布式异常检测网络数据流的方法,在保护 终端的同时可实现分布式检测网络数据流。该方法可以有效减少整个网络中的异常包,并 防止终端接受异常包;将检测点置于终端与网络的连接口,可以有效减少检测点的负载,则 检测结点硬件制作的成本可降低,同时检测与分析集成于一体,不会出现分层的数据精度 丢失。
[0014] 本发明采用以下方案实现:一种分布式异常检测网络数据流的方法,具体包括以 下步骤:
[0015] 步骤S1:部署N个检测点:设终端设备与网络的连接接口的一结点为普通结点,所 述检测点独立于所述普通结点之外;所述检测点与所述普通结点相连,每个检测点监测一 普通节点,用以检测普通节点处的终端设备发送的异常数据包同时防止该终端接收到网络 中的异常数据包;
[0016] 步骤S2 :检测点监测异常网络数据流:采用三种检测方法进行层次化的异常检 测,第一层检测采用基于特征匹配的异常检测方法,第二层检测采用基于统计分析的异常 检测方法,第三层采用基于机器学习与数据挖掘的异常检测方法:
[0017] 步骤S3 :检测点进行信息共享:利用普通结点进行检测点之间的信息共享,则所 有检测点的特征库进行有效更新。
[0018] 进一步地,所述步骤S1具体包括以下步骤:
[0019] 步骤S11 :提供N个终端设备以及与每个终端设备相连的路由器或交换机,即存在 N个路由器或者交换机,在每个路由器或交换机上均设置一个检测点,形成一检测点集合D ={D」i= 1,2,3...N};
[0020] 步骤S12 :进行特征库设计,所述特征库包括特征串与特征值;其中所述特征串为 一定长度的字符串,所述特征值为所述特征串中的每个字符进行异或得到的结果;所述特 征库设计采用链表设计,每种长度的特征串连成一个链表;
[0021] 步骤S13 :初始化所有检测点,将已知的异常数据流的特征信息的特征库布置到 检测点中,并将所述检测点连接到对应的路由器或交换机上,则所述检测点通过所连接的 路由器或交换机对网络数据流进行分析。
[0022] 较佳的,网络中的每个结点为普通结点,这些被监测的普通结点都是与终端有直 接相连的。出于对终端机器的保护,以及减少由终端机器发给送到整个网络线路中的异 常包,在终端机器与整个网络的连接接口处,布置检测点,一个检测点只对这个接口进行负 责,降低检测点的负载,从而降低对检测点的硬件要求,达到降低成本的效果。这个检测点 不仅可以检测终端机器发送出去的异常包,而且可以防止该终端接收到来自网络中的异常 数据包,大大增加了安全性。
[0023] 进一步地,所述步骤S2中第一层检测采用基于特征匹配的异常检测方法具体包 括以下步骤:
[0024] 步骤S211 :假设特征库内的特征集合用C={A|i= 0, 1,2- }表示;
[0025] 步骤S212:所述检测点接收网络数据流时,即所述网络数据流通过检测点检测的 路由器或者交换机的时,所述检测点提取数所述网络数据流的特征串和特征值,所述特征 串包括IP地址、端口号以及协议类型;设定所述特征串长度为L,则将所述特征串总每个字 符相异或得到一对应的特征值T,采用以下公式得到特征值T:『=…,其中所述特 征串L为AB......;
[0026] 步骤S213 :假设特征库中长度与特征值T相同的特征串有m个,则j= 1,2,3,…, m,则为该长度下的特征值;所述检测点判断是否为零,若不等于〇,则所述 特征串与该特征值不匹配,忽略该特征串;若等于〇,则所述特征串与该特征值匹配, 保留该特征串,进行下一次的完整匹配;
[0027] 步骤S214:经过所述步骤S213的筛选,对保留下的特征串采用BF算法进行完整 匹配,所述BF算法具体为将目标特征串的第一个字符与模式特征串的第一个字符进行匹 配,判断两者是否相等;若相等,则继续比较所述目标特征串的第二个字符与所述模式特征 串的第二个字符;若不相等,则比较所述目标特征串的第二个字符和所述模式特征串的的 第一个字符,依次比较下去,直到得出最后的匹配结果;若所述目标特征串与所述模式特征 串匹配成功,则该数据流为异常数据流,若未匹配成功则进入下一层检测。
[0028] 特别的,这一层的检测过程中,由于先建立起了保存异常数据流特征信息的特征 库。异常数据流的特征信息可包括报文的负载特征、传输特征、连接的特征等。当数据流通 过检测点的时候,检测点首先提取该数据流的特征信息,通过完全匹配的方法,将其与特征 库中已有的特征属性进行匹配,如果匹配的相似率达到百分之百,则认定该数据流为异常 数据流,发出警告,提醒网络管理者进行异常处理。采用该方法可以简单的去除已知的异常 流,而其余的数据流则进行下一层检测。
[0029] 进一步地,所述步骤S2中第二层检测采用基于统计分析分异常检测方法具体包 括以下步骤:
[0030] 步骤S21 :检测点对需要进行检测的网络数据流进行特征信息采集,所述特征信 息包括源IP、目的IP、源端口、目的端口以及数据容量大小。
[0031] 步骤S222:定义屯表示第i个特征信息的第j个值的大小;定义
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1