论文部分内容阅读
摘 要提出了一种基于智能体技术的自适应入侵检测系统体系结构,将智能体技术和自适应模型生成技术应用于入侵检测系统中。智能体技术的应用解决了传统的集中式入侵检测系统的弊病,将任务处理和数据分布到网络各个结点上,通过各种智能体来协作完成入侵检测任务,充分利用网络和主机资源。而且智能体与自适应模型生成技术相结合,采用遗传算法建立准确的数据模型,使入侵检测系统能够自动配置和更新不同环境下的入侵检测模型,能够通过自我学习、自我改进来提高系统的入侵检测能力和适应能力。
关键词入侵检测;智能体;遗传算法
中图分类号TP文献标识码A文章编号1673-9671-(2011)011-0166-01
遗传算法是一种借鉴生物界自然选择和进化机制发展起来的高度并行、随机、自适应搜索算法。它的指导思想是:以安全策略为核心,通过将传统的静态安全技术和方法与检测相结合,使系统从静态防护转换为动态防护,并为系统快速响应提供依据,快速做出反应,从而达到保护系统安全的目的。
入侵检测系统(IDS)是一种被动的信息安全防范技术,能在入侵发生之后或入侵发生过程中检测到入侵行为,并通过与其他安全组件的协作以防止系统遭受进一步的损失,并为制定系统的安全策略和改善系统安全性能提供有价值的参考依据。入侵检测技术是P2DR信息安全模型的一个重要组成部分,是动态安全技术的核心技术之一,是对Firewalls、CA、加密等其它安全部件的必要补充。
1基于智能体技术的自适应入侵检测系统
本文提出一种基于智能体技术的自适应入侵检测系统体系结构。其中心思想是将具有自主性、自适应性、分布性等优点的智能体应用于分布式入侵检测系统中,并通过与自适应模型生成方法相结合,让IDS能收集自己系统环境中的数据并能自己训练这些数据以生成检测模型,使IDS能够灵活适应复杂的网络环境,综合运用异常检测和误用检测,提高系统的检测效率,降低系统开销,增强系统自适应能力。
自适应模型生成的自适应性一方面表现在预选检测模型,即在确定入侵检测代理使用的检测模型前,首先对目标系统进行详细的探测和分析,获取目标系统的详细信息。
入侵检测系统可以采用一个4元组描述:
Intrusion_Detectoin_System=(IDM, System, Pre_alarm, Fitness)
IDM-入侵检测模型;
IDM::=<模式匹配>|<专家系统>|<统计分析>|<神经网络>|<数据挖掘>|<遗传算法>|…
System-检测的系统环境;
System::=|<系统审计数据库>|<网络数据流>|…
Pre_alarm-预警结论;
Correction-准确度;
Pre_alarm=IDM(System, Fitness)
从这个4元组描述中可以看出入侵检测系统的检测结果由检测模型决定,而检测模型又与检测系统环境和准确度相关,因此可以由准确度来衡量检测模型的性能优良与否。而检测是否准确又可由检出率和误检率来判断,检出率即正确检测到的攻击数在总攻击数中的比率,误检率是错误检测出的用户行为数量在正常行为总数量的中的比率。 面对海量的输入数据,如何从中提取出有效数据,以此建立准确的数据模型是自适应模型生成是否有效和高效的关键问题。在本文所介绍的系统中,我们使用了遗传算法对数据进行筛选以提高模型生成的效率。我们构建的自适应模型生成模块就是针对不同类型的事件和数据源,生成最适于检测它们的检测算法。这里,需要解决的一个问题是将事件定义在哪个粒度级上能够得到更好的算法模型。我们将网络中的连接访问事件定义在网络数据包级,应该是比较适合的。网络数据包用一个多维的向量表示:
Net_Packet=(SourceAddr,DestAddr,Port,Symbol,Seq,ACKSeq,Time)
另外,主机上的事件和记录被定义在系统调用级,其向量表示如下:
System_Call=(Time,Pid,Uid,Gid,CurrentDir,HomeDir,AcceFile,FuncPara,ReturnVal,Others)
本文所提出的自适应模型生成分为两个阶段,第一个阶段是对输入的训练数据集使用遗传算法进行筛选,除去冗余的信息,并将筛选的数据输出给模型生成器;第二个阶段是使用上一步的输出结果对模型库中的各种模型进行训练,然后比较各个模型得到的准确度,选择具有最佳结果的模型来分发给下层。
使用遗传算法的目的是将主机数据源和网络数据源应用于遗传算法建立从而建立准确的数据模型,以便模型库中的各个检测模块对其进行检测。因而首先需要将网络数据包和系统调用表示成二进制串,比如Net_Packet中的SourceAddr分量占32bit,Port占32 bit,Symbol占8bit等,因此我们给Net_Packet分配了25个字节。将系统调用的比特位也设置成25Byte,没有用到的比特分配给Others分量,为便于以后的扩展。从而,遗传算法中的初始群体即是以上形式的向量的集合,设为D=(b1,b2,…bn),其中,bi=∈{0,l}L i = 1,2,3,…,n;L是串的长度。依次使用遗传算法中的三种算子对群体执行操作,不断进化产生新的个体,最后收敛到某特定的串处,从而得到这个群体的最优解,也即是我们要寻找的数据模型。
为从群体中选择出比较适合的个体,我们给出了一个适应度函数
其中,α是使适应度为正的阈值,β为确定二次衰减函数的作用强度的系数,ω是某种特定攻击对bi中相应分量的威胁程度系数,Te2是满足某个事件的衰减函数。
适应度高的个体将得到繁殖,这正好符合Darwin的进化论观点。设P(bi)为选中bi为下一代个体的次数:
这样,就产生了适应性更强的后代。对新群体中的个体,随机选择两个个体的相同位置按交叉概率Pc在选择的位置进行相互交换,这个算子模拟了基因的重新组合。对经过交叉后的群体,以概率Pm随机选择个体进行变异,变异就是将原比特变反。变异过后继续进行选择、交叉、变异的循环过程直到算法收敛到一个最优解处。
2结论
分布式和智能化是未来入侵检测系统的主要发展方向,本文在对入侵检测系统及其相关技术进行了深入研究后,提出的基于智能体技术的自适应入侵检测系统将智能体技术和自适应模型生成技术有机结合,形成了一种分布式的智能入侵检测体系结构。该系统不仅能将检测任务分布到网络各个结点上,使用各种智能体协作完成任务,充分利用网络和主机资源;还能够自动配置不同环境下的入侵检测模型,通过自我学习、自我改进来提高系统的入侵检测能力和自适应能力。
参考文献
[1]马恒太,蒋建春,陈伟峰等.基于Agent的分布式入侵检测系统模型[J].软件学报,2000,11(10):1312~1319.
关键词入侵检测;智能体;遗传算法
中图分类号TP文献标识码A文章编号1673-9671-(2011)011-0166-01
遗传算法是一种借鉴生物界自然选择和进化机制发展起来的高度并行、随机、自适应搜索算法。它的指导思想是:以安全策略为核心,通过将传统的静态安全技术和方法与检测相结合,使系统从静态防护转换为动态防护,并为系统快速响应提供依据,快速做出反应,从而达到保护系统安全的目的。
入侵检测系统(IDS)是一种被动的信息安全防范技术,能在入侵发生之后或入侵发生过程中检测到入侵行为,并通过与其他安全组件的协作以防止系统遭受进一步的损失,并为制定系统的安全策略和改善系统安全性能提供有价值的参考依据。入侵检测技术是P2DR信息安全模型的一个重要组成部分,是动态安全技术的核心技术之一,是对Firewalls、CA、加密等其它安全部件的必要补充。
1基于智能体技术的自适应入侵检测系统
本文提出一种基于智能体技术的自适应入侵检测系统体系结构。其中心思想是将具有自主性、自适应性、分布性等优点的智能体应用于分布式入侵检测系统中,并通过与自适应模型生成方法相结合,让IDS能收集自己系统环境中的数据并能自己训练这些数据以生成检测模型,使IDS能够灵活适应复杂的网络环境,综合运用异常检测和误用检测,提高系统的检测效率,降低系统开销,增强系统自适应能力。
自适应模型生成的自适应性一方面表现在预选检测模型,即在确定入侵检测代理使用的检测模型前,首先对目标系统进行详细的探测和分析,获取目标系统的详细信息。
入侵检测系统可以采用一个4元组描述:
Intrusion_Detectoin_System=(IDM, System, Pre_alarm, Fitness)
IDM-入侵检测模型;
IDM::=<模式匹配>|<专家系统>|<统计分析>|<神经网络>|<数据挖掘>|<遗传算法>|…
System-检测的系统环境;
System::=
Pre_alarm-预警结论;
Correction-准确度;
Pre_alarm=IDM(System, Fitness)
从这个4元组描述中可以看出入侵检测系统的检测结果由检测模型决定,而检测模型又与检测系统环境和准确度相关,因此可以由准确度来衡量检测模型的性能优良与否。而检测是否准确又可由检出率和误检率来判断,检出率即正确检测到的攻击数在总攻击数中的比率,误检率是错误检测出的用户行为数量在正常行为总数量的中的比率。 面对海量的输入数据,如何从中提取出有效数据,以此建立准确的数据模型是自适应模型生成是否有效和高效的关键问题。在本文所介绍的系统中,我们使用了遗传算法对数据进行筛选以提高模型生成的效率。我们构建的自适应模型生成模块就是针对不同类型的事件和数据源,生成最适于检测它们的检测算法。这里,需要解决的一个问题是将事件定义在哪个粒度级上能够得到更好的算法模型。我们将网络中的连接访问事件定义在网络数据包级,应该是比较适合的。网络数据包用一个多维的向量表示:
Net_Packet=(SourceAddr,DestAddr,Port,Symbol,Seq,ACKSeq,Time)
另外,主机上的事件和记录被定义在系统调用级,其向量表示如下:
System_Call=(Time,Pid,Uid,Gid,CurrentDir,HomeDir,AcceFile,FuncPara,ReturnVal,Others)
本文所提出的自适应模型生成分为两个阶段,第一个阶段是对输入的训练数据集使用遗传算法进行筛选,除去冗余的信息,并将筛选的数据输出给模型生成器;第二个阶段是使用上一步的输出结果对模型库中的各种模型进行训练,然后比较各个模型得到的准确度,选择具有最佳结果的模型来分发给下层。
使用遗传算法的目的是将主机数据源和网络数据源应用于遗传算法建立从而建立准确的数据模型,以便模型库中的各个检测模块对其进行检测。因而首先需要将网络数据包和系统调用表示成二进制串,比如Net_Packet中的SourceAddr分量占32bit,Port占32 bit,Symbol占8bit等,因此我们给Net_Packet分配了25个字节。将系统调用的比特位也设置成25Byte,没有用到的比特分配给Others分量,为便于以后的扩展。从而,遗传算法中的初始群体即是以上形式的向量的集合,设为D=(b1,b2,…bn),其中,bi=∈{0,l}L i = 1,2,3,…,n;L是串的长度。依次使用遗传算法中的三种算子对群体执行操作,不断进化产生新的个体,最后收敛到某特定的串处,从而得到这个群体的最优解,也即是我们要寻找的数据模型。
为从群体中选择出比较适合的个体,我们给出了一个适应度函数
其中,α是使适应度为正的阈值,β为确定二次衰减函数的作用强度的系数,ω是某种特定攻击对bi中相应分量的威胁程度系数,Te2是满足某个事件的衰减函数。
适应度高的个体将得到繁殖,这正好符合Darwin的进化论观点。设P(bi)为选中bi为下一代个体的次数:
这样,就产生了适应性更强的后代。对新群体中的个体,随机选择两个个体的相同位置按交叉概率Pc在选择的位置进行相互交换,这个算子模拟了基因的重新组合。对经过交叉后的群体,以概率Pm随机选择个体进行变异,变异就是将原比特变反。变异过后继续进行选择、交叉、变异的循环过程直到算法收敛到一个最优解处。
2结论
分布式和智能化是未来入侵检测系统的主要发展方向,本文在对入侵检测系统及其相关技术进行了深入研究后,提出的基于智能体技术的自适应入侵检测系统将智能体技术和自适应模型生成技术有机结合,形成了一种分布式的智能入侵检测体系结构。该系统不仅能将检测任务分布到网络各个结点上,使用各种智能体协作完成任务,充分利用网络和主机资源;还能够自动配置不同环境下的入侵检测模型,通过自我学习、自我改进来提高系统的入侵检测能力和自适应能力。
参考文献
[1]马恒太,蒋建春,陈伟峰等.基于Agent的分布式入侵检测系统模型[J].软件学报,2000,11(10):1312~1319.