2.2.2 数据包信息萃取
进行了包捕获之后,需要将捕获到的数据包通过回调函数进行数据包的解析。因此在对回调函数进行封装时,必须借助一解析流程,实现回调函数和线程类间的数据共享,再根据TCP/IP协议族层次结构图及各层数据包格式的定义,对各层加入的头和控制信息进行解封装。详细过程见文献[9]。图3是该解析流程的过程。
上述实时采集及信息萃取模块采用基于GUI的可重用设计方法。其流量解析结果以GUI界面输出,进行对入侵检测系统的接口操作,实现下一模块:攻击识别与决策的数据包采集与萃取的预处理过程。
2.3攻击识别与决策模块
此模块的关键问题有两个:一是根据识别方法选择合适的检测特征;另一是如何实现可靠识别。可靠识别的意思是指,用户可事先设定所需要的识别概率和漏报概率。
设x(t)为到达流量函数。其最小流量约束函数记做f(I)(I>0)。则在区间[0,I]内,到达的累积流量不会小于f(I)=min[x(t+I)-x(t)]。在时间区间[(n-1)I,nI](n=1,2,…,N)内,f(I,n)就是该区间内的最小流量约束函数。它是关于n的随机序列。把各区间[(n-1)I,nI]都分成M段。每段长度为L。对第m段(m=1,2,…,M),取平均值E[f(I,n)]m。则当M>10时,E[f(I,n)]m符合高斯分布
设置信系数为1-a1,则统计下限为:
于是,得到模板η=E[f(I,n)]。令阈值Vt=bf(M,α1),则低速率检测概率和丢失概率分别为:
由此,用户可以预先设置α1值来得到给定的检测概率和漏报概率。当η≥Vl时,视
数据流为正常。
数据流异常,ids进行报警。检测系统如图4所示。
2.4报警模块
IDS检测到低速率攻击后,向用户报警并将该事件通知给安全管理中心,做出防卫决策。根据需要,可将报警信息发给其他网络,构成全方位的、立体的网络安全解决方案。当出现报警信息时可以采取的报警方式有:开启警灯,弹出界面,开启警铃,发短信给高层决策者,发Email给高层决策者等,这几种报警方式可以单独采用也可以集中相结合。
警报出现时,还要通知安全管理中心,如果是严重的大范围攻击,则通知其他网络,防止攻击对网络造成大范围的破坏;否则,内部处理。
3实验结果
采用以前的工作所述的方法仿真实验用的网络流量,分别用正常和非正常情况下的两个数据流进行实验,并做一个对比。
图5表示两个数据流的x(t),图6,图7表示两种情况下的,f(I,n)(n,I=1,2,…,16)。由于版面限制,只给出前四种情况。图8,图9是两种情况下的平均速率图和速率的概率密度分布图,由此可以清楚地看到,此种方法能准确地分辨出低速率和正常的速率,能够用于低速率攻击的检测。