张云鹤
(安徽电子信息职业技术学院,安徽 蚌埠 233000)
所谓入侵检测,顾名思义,就是检测入侵行为,即面向安全日志、审计数据及其他互联网及计算机系统中的关键点进行信息收集,在对信息进行分析的基础之上确定网络或计算机系统中是否存在与安全策略不相符的行为或攻击迹象.
具有入侵检测功能的相关软件及硬件构成了入侵检测系统.以所采取的分析方法为依据,可以将入侵检测行为划分为异常检测及误用检测两种.其中异常检测,指的是借助定量方法对可接受行为特征进行描述,将非正常行为与正常行为区分开来,从而达到检测入侵行为的目的.
异常检测模型具有动态性,根据检测对象的不同,模块的结构也有所区别.根据上图可知,异常检测模型主要包括函数库、跟踪器、检测器、强序列构造器、决策模块、响应模块以及控制模块等几部分.
跟踪器的作用主要是对程序运动过程中出现的派生进程进行跟踪,并对该进程对系统的调用序列进行收集;函数库作为一个数据库,其作用主要是对系统函数进行存储.系统调用集主要取决于系统版本,在本文中,设该系统调用集为I,并将强函数集与调用函数集同时引入该模型中,分别设为Pi和Ui,其中,i表示功能子序列编号,则系统调用集、强函数集和调用函数集之间的关系可以表示为:Pi哿Ui哿I;强序列构造器包括函数集合强序列两部分,其作用主要是有效解决滑动窗口大小无法调整的问题;检测器的作用就是对进程序列是否存在异常进行划定;决策模块的作用是针对预处理及检测器所发出的异常状况警报进行处理;控制模块的作用主要有:完成函数集的构建,并进行实时更新;根据实际情况对检测器及预处理中的阀值进行设置;调度模块能够实现对子检测模块的动态性创建及调度,同时检测来自于主跟踪模块的子进程;预处理的任务主要是针对跟踪器发出的数据进行初步处理,并将处理之后的数据传输到检测器.具体来讲包括以下三项内容:第一,根据实际情况及需求分解原始数据,在此过程中将有误数据去除,同时将无法被检测器所识别的符号字段进行转化处理;第二步,为最大限度的避免因记录间字段数据悬殊影响网络训练,需要进行归一化处理;最后,对单位时间内调用函数集中的内容进行审查,并作出有误超出预设阀值的情况;响应模块借助防火墙以及路由器等中断模块实现对异常进程的有效处理.
上面所介绍的面向程序行为的异常检测模型中的函数集库主要涉及调用函数集以及强函数集两部分.
调用函数集的作用主要是对功能子序列中系统调用函数及相关信息进行存储.在具体操作中一项重要环节就是对各个功能子序列中最小系统调用函数,这一步极为关键,原因在于,程序对系统函数的调用,从本质上讲,就是调用系统资源,对于与功能子序列相对应的进程而言,当其超出该最小系统调用函数的情况出现,基本可以断定发生了系统异常.对函数全部参数进行梳理,确定参数最长的值,并在最大参数长度中对其进行记录.受编译系统及程序自身缺陷的影响,部分程序比较容易遭受来自于缓冲区溢出攻击,缓冲区溢出需要记录shell code,与正常参数相比较而言,shell code的长度更长,因此,对该类型攻击的一项有效途径就是对最大参数长度进行记录.
所谓后继个数,具体是指在函数后面能够跟随其他系统的函数的数量.后继个数会对检测器收敛性造成一定程度的影响,对于这一问题,实践中比较常见的处理措施主要有两种,一种是将该函数去除,另外一种就是添加一个隐藏层.
强函数集.对于某一计算机程序而言,在其处于运行状态的情况下,受其所处环境及交互过程的影响,无法事先知晓系统调用次数;然而,对于部分调用而言,则必须严格按照顺序进行,例如对于某一文件而言,必须严格按照打开、读写的顺序进行.强函数集的作用就是对这种具有严格顺序要求的函数进行存储.
当前有关程序行为的异常检测中所使用的检测器主要有状态机、隐马尔可夫链以及神经网络等.其中,状态机主要是以进程为依据调用系统函数,同时完成有限主动机的构建进行检测;隐马尔可夫链则以统计学相关理论为依据,按照进程转移系统调用状态,从而达到异常检测目的.
利用面向程序行为的异常检测模型对网络异常进行检测需要经历以下几个步骤:第一步,训练检测器.在训练检测器的同时需要完成调用函数集的构建操作,并统计表项中的最大参数长度及后继个数;第二步,以专家知识为依据,面向调用函数集进行选择,以确定重要性程度最高、具有明确顺序要求的函数,并根据所挑选出的函数构建强函数集;最后,生成强序列,具体也以上一步所构建的强函数集为依据.
借助本文所构建的面向程序行为的异常检测模型实施网络入侵检测,需要在预处理阶段对跟踪器中系统调用函数位置进行检查,确定其具体位置以及参数的长度;判断引用数加一的情况下是否会越出警戒线;一旦出现上述情况,就会进行异常报警.
在相关预处理完成之后就进入到检测器检测阶段,与此同时以强函数集为依据,完成强序列的构建;在实现完整的功能子序列检测之后,向检测器中输入强序列进行检测,经过检测若发现存在异常情况,则向决策模块发出警报.
综上所述,计算机信息技术的迅猛发展,网络影响范围的逐步扩大,网络安全性问题也日益严重,有效防范黑客等攻击,维护网络安全成为一大研究热点.作为防火墙之后维护网络安全的有效途径,入侵检测技术也逐渐引起广泛关注.本文主要介绍了一种面向程序行为的异常检测模型,并对函数库、跟踪器、检测器、强序列构造器、决策模块、响应模块以及控制模块等的作用以及依托于该模型的网络安全的实现进行阐述.
〔1〕王新志,孙乐昌,陆余良,张旻.一种面向软件行为可信性的入侵检测方法[J].中国科学技术大学学报,2011(07).
〔2〕董迎亮,玄雪花,王德民.基于 WM算法改进的多模式匹配算法 [J].吉林大学学报 (信息科学版),2011(04).
〔3〕王苏南.高速复杂网络环境下异常流量检测技术研究[D].解放军信息工程大学,2012.
〔4〕E.C.Claudino,Z.Abdelouahab,M.M.Teixeira.Management and integration of information in intrusion detection system:Data integration system for IDS based multi-agent systems.Pro 2006 IEEE/W IC/ACM Inter.Conf.2006.
〔5〕Wei Zhang,,Shaohua Teng,Xiufen Fu,Lin Wang.Research on communication mechanism among cooperating multi-Intrusion Detection Agents.5th IEEE international conference on cognitive informatics ICCI.2006.
〔6〕沈学利,张纪锁.基于BP网络与改进的PSO算法的入侵检测研究[J].计算机工程与科学,2010(06).