APP下载

高速网络下基于负载均衡的协议分析的异常检测算法设计

2011-10-16蒋天发滕召荣

关键词:数据包分布式调度

蒋天发,滕召荣,蒋 巍

(1中南民族大学计算机科学学院,武汉430074;2中国软件测试中心(CSTC),北京100048)

高速网络下基于负载均衡的协议分析的异常检测算法设计

蒋天发1,滕召荣1,蒋 巍2

(1中南民族大学计算机科学学院,武汉430074;2中国软件测试中心(CSTC),北京100048)

研究了基于负载均衡技术的协议分析的入侵异常检测系统并建立了系统模型,提出了一种基于静态负载算法与动态负载算法的混合负载算法,该算法对网络数据包进行分流,能很好地保证同一源地址的同一类协议由同一服务器处理,并兼顾了所有服务器的负载均衡,能很好地发现并检测网络的异常行为与分布式攻击等,这样的改进优化了处理结果,提高了高速网络环境下入侵检测的准确性和有效性.

负载均衡;协议分析;异常检测

随着网络技术的高速发展,网络信息受到的威胁也随之增大.而作为网络安全的第二道屏障入侵检测系统(I DS,Intrusion Detection System)[1]也面临着诸多的问题.传统的I DS仅能工作在100M bit/s的网络带宽环境中,当网速达到1000M bit/s,109M bit/s及更高的网络环境下,入侵检测将面临着很多瓶颈,很难检测到分布式攻击,并且当信息量过大的时候,无法及时处理信息,会开始大量丢弃数据包,这样漏报或误报率就会提高,很难实时将所有IP包截获下来,影响了整个系统的准确性和有效性.虽然基于协议分析的异常检测能够对网络入侵检测系统带来一定的优化,但这远远不能满足今天的高速网络的发展,鉴于这种情况,对高速网络环境下基于协议分析的分布式的网络入侵检测系统的研究和分析具有十分重要的意义[2,3],而针对此类的算法的设计与研究就更是一项极有意义的课题.

1 协议分析的异常检测概述

这个数据包是IP包;第24字节处的一个字节0x06,表示这个数据包是基于TCP协议;继续向下读取第35个字节开始的2个字节0x0080,就得到了应用层的http协议[7,8].

异常检测[4]是根据系统或用户的非正常行为和使用计算机资源的非正常情况来检测入侵行为,异常检测需要建立正常用户行为特征轮廓,然后将实际用户行为和这些轮廓相比较,并标识正常的偏离.异常检测方法的基本思路是构造异常行为集合,从中发现入侵行为.异常检测依赖于异常模型的建立,不同模型构成不同的检测方法.目前异常检测是入侵检测的一个很热的研究点.基于异常检测的入侵检测有:基于协议分析的异常检测,基于统计模型的异常入侵检测,基于数据挖掘的异常入侵检测,基于神经网络的异常入侵检测,基于免疫系统的异常入侵检测等[5,6].

基于协议分析的异常检测是利用网络数据包按照TCP/IP分层协议规范进行封装的原理,把常用协议按照从底层到高层的方式生成一棵协议树.每层上的协议都对应一个特定的编号,一个网络数据包的分析过程就是一条从树的根节点到某个叶子节点的路径.例如对一个数据包分析过程,第13个字节开始的2个字节0x0800,根据协议封装编号可知

2 高速网络下基于负载均衡的协议分析异常检测算法设计

负载均衡的作用只是把有可能拥塞于一个地方的负载交给多个地方处理.应用负载均衡技术能够有效地解决网络拥塞的问题.它是一种动态技术,通过一些工具实时地分析数据包,掌握网络中的数据流量状况,把任务均衡地分配出去,用多个设备共同完成任务,从而以较低的成本消除网络瓶颈,提高网络的灵活性和可靠性[9].理想环境下负载均衡的协议分析异常检测需要达到的标准有:1)同一IP的同一类协议数据包必须由同一服务器进行处理.2)保证各服务器负载的均衡.3)可扩展与容错性.针对这些标准,负载均衡算法的设计非常重要.

2.1 系统模型

本文设计的基于负载均衡的协议分析的异常检测系统模型如图1所示.

图1 高速网络下基于负载均衡的协议分析的异常检测系统模型Fig.1 Anomaly detection system model of protocol analysis of high-speed network based on load-balance

模型由4部分构成,第1部分是数据捕获,对数据包进行捕获.第2部分是负载均衡器,主要负责对数据包的简单分析与数据的分流.第3部分是探测器,主要对数据包的数据内容进行探测与流量监控.第4部分是响应模块,对异常的行为发去警告信息,如提醒用户,切断网络等.用户接口查看相关的异常信息,对入侵进行处理.

本文主要研究点是负载均衡器算法设计,下面重点论述负载均衡器的设计.

2.2 负载均衡器设计

负载均衡器是本系统的关键点,它的设计关系到整个系统的效率.理想情况下,保证了同一源地址的同一类型的协议由同一台服务器处理,就不可能保证各服务器均衡;但保证了各服务器负载均衡了,就很难保证同一源地址的同一类协议由同一台服务器处理,故用一种负载均衡算法很难保证达到两标准.为了尽可能达到理想环境下负载均衡协议分析异常检测的标准,这里采用了负载均衡静态调度算法与动态调度算法相结合的混合负载均衡算法.其中静态调度算法采用源地址散列调度,动态调度算法采用最小连接调度.

源地址散列调度(SHS,Source HashingScheduling)[10]是一种静态的负载均衡算法,它根据请求的源IP地址,作为散列键(Hash Key)从静态分配的散列表找出对应的服务器,它的优势就是能保证同一源地址的数据包分配到同一服务器上进行处理,即保证了同一源地址的同一类协议的数据包由同一台服务器处理.它的具体算法如下:

假设有一组服务器S={S0,S1,…,Sn-1},W(Si)表示服务器Si的权值,C(Si)表示服务器Si的当前连接数.ServerNode[]是一个有 256个桶(Bucket)的Hash表,一般来说服务器的数目会远小于256,当然表的大小也是可以调整的.算法的初始化是将所有服务器按顺序循环地放置到ServerNode表中.若服务器的连接数目大于2倍的权值,则表示服务器已超载.

在实现时,素数乘法Hash函数,通过乘以素数使得散列键值尽可能地达到较均匀的分布.所采用的素数乘法Hash函数如下:

其中,2654435761UL是2到2^32(4294967296)间接近于黄金分割的素数,

最小连接调度(LCS,L east-Connection Scheduling)[10]是一种动态调度算法,它通过服务器当前所活跃的连接数来估计服务器的负载情况.调度器记录各个服务器已建立连接的数目,当一个请求被调度到某台服务器,其连接数加1;当连接中止或超时,其连接数减1.它的优势是能保证服务任务均衡分配.其具体算法如下:

假设有一组服务器S={S0,S1,…,Sn-1},W(Si)表示服务器Si的权值,C(Si)表示服务器Si的当前连接数.

现在采取的是源地址散列调度与最小连接调度相结合的混合负载均衡算法,取各算法的优势.首先是对捕获的数据进行协议分析,过滤异常数据,然后运用SHS算法对数据分流,然后对数据服务器进行负载检测,检测后决定是否用LCS算法调度到其他的服务器上.其算法的流程如下:

(1)对捕获的数据包DA TA进行协议分析,得到处理过的数据;

(2)SHS算法对处理过的数据进行分流,得到目标服务器IP;

(3)对目标服务器进行TCP连接请求健康检查;

(4)如果TCP连接成功,处理过的数据分流到目标服务器.然后转入第1步,进行下一个数据包处理;

(5)否则对处理过的数据与目标服务器正在处理的数据进行关联关系检测;

(6)若无关,则用LCS算法重新分流到其他服务器进行处理.然后转入第1步,进行下一个数据包处理;

(7)若有关联,则等待目标服务器空闲再处理数据.然后转入第1步,进行下一个数据包处理.

3 测试及结果分析

本文用5台服务器ABCDE,50 000个相同的IP地址分别对SHS算法、LCS算法、混合算法作了模拟测试,测试结果如图2,可以看出,经SHS算法调度的IP 92%左右都进入A服务器,进入BCDE的很少;经LCS算法调度 IP地址几乎均匀分布于ABCDE服务器;经混合算法调度的IP地址进入ABC服务器比较多,DE服务器稍少.

故混合算法设计的分布式入侵系统与传统的分布式入侵检测系统具有以下的优势:

(1)效率得到了明显提升,能及时处理数据.

(2)采用混合负载调度算法、分布式结构,具有一定的容错性.

(3)由于本身的特点,能很好的抵抗SYN flood,LAND attack等分布式拒绝攻击.

图2 混合算法、LCS算法、SHS算法实验结果比较Fig.2 Comparison of hybrid algorithm,LCS algorithm,SHS algorithm experimental result

4 结束语

本文提出的高速网络下基于协议分析的异常检测算法的设计,其中的负载均衡算法是以协议分析为基础,动态调度算法与静态调度算法相结合的方式.此方式能很好地保证同一源地址的同一类协议由同一服务器进行处理,同时也兼顾了负载均衡效率.虽然此设计方案有一定的优势,但还存在很多问题.例如当网络流量非常大的时候,有关联关系的数据包的等待就有可能造成此服务器一直处于高负荷状态.此类问题为下一步研究的重点.

[1] Dorothy E D.A n intrusion-detection model[J].IEEE T ransactions on Software Engineering,1987,13(2):222-232.

[2] 彭 川.基于移动A gent的分布式入侵检测系统[J].中南民族大学学报:自然科学版,2006,25(3):73-76.

[3] 王振东,张凤斌.基于协议分析的分布式入侵检测系统研究[J].计算机安全,2008,10:55-57.

[4] 任勋益,王汝传,孔 强.基于主元分析和支持向量机的异常检测[J].计算机应用研究,2009,26(7):2719-2722.

[5] L uan Q inglin,L u Huibin.Research of intrusion detection based on neural network opt im ized by adaptive genetic algorithm [J]. Computer Engineering and Design,2008,29(19):3022-3025.

[6] 唐 菀,马 杰,曾广平.评测智能化入侵检测方法的样本库分析[J].中南民族大学学报:自然科学版,2010,29(2):84-87.

[7] 燕振刚,罗进文.一种基于协议分析的入侵检测模型[J].计算机技术与发展,2008,18(11):146-148.

[8] 陈 俊,陈孝威.基于IPv6的协议分析系统的设计与实现[J].贵州大学学报:自然科学版,2010,27(3):76-80.

[9] 陆 磊,王 锋.基于流负载均衡的入侵检测系统[J].计算机技术与发展,2009,19(11):136-138.

[10] 周莹莲,刘 甫.服务器负载均衡技术研究[J].计算机与数字工程,2010,38(4):11-14.

Anomaly Detection Algorithm Design of Protocol Analysis of High-Speed Network Based on Load-Balance

J iang T ianf a1,T eng Zhaorong1,J iang W ei2
(1 College of Computer Science,South-CentralU niversity for N ationalities,W uhan 430074,China;2 China Software Test Center,Beijing 100048,China)

This paper studies protocol analysis of intrusion anomaly detection system in high-speed network based on load-balance technique,establishes the model of system,proposes a method of hybrid load algorithm based on static load algorithm and dynam ic load algorithm. It stream s the network packets,and can guarantee the same class of protocol of the same source address to be processed by the same server,taking into account load balance of all the servers. It can easily discover and detect network abnormal behavior of normal and distributed attacks.These improvements opt im ize the result of processing and enhance the veracity and validity of the intrusion detection of high-speed network.

load-balance;protocol analysis;anomaly detection

TP393

A

1672-4321(2011)01-0092-04

2010-11-29

蒋天发(1954-),男,教授,研究生导师,研究方向:网络信息安全,E-mail:jiangtianfa@163.com

国家民委重点科研基金资助项目(M ZY02004)

猜你喜欢

数据包分布式调度
二维隐蔽时间信道构建的研究*
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
《调度集中系统(CTC)/列车调度指挥系统(TDCS)维护手册》正式出版
电力调度自动化中UPS电源的应用探讨
基于强化学习的时间触发通信调度方法
C#串口高效可靠的接收方案设计
CTC调度集中与计算机联锁通信接口的分析
分布式光伏热钱汹涌
分布式光伏:爆发还是徘徊
基于DDS的分布式三维协同仿真研究