1、版权所有,盗版必纠李 剑 北京邮电大学信息安全中心 E-mail:电话:13001936882版权所有,盗版必纠 由于网络规模的不断扩大和网络速度的不断提高,集中式的入侵检测系统已经不能适应网络发展的需求。在这种情况下,分布式入侵检测技术越不越受到关注,并成为IDS研究的热点。多智能体系统MAS是目前研究分布式系统的热门领域之一。智能体所具有的自治性、连续执行性、个性化、语言语义表达丰富、学习和适应性等特点使其特别适用于具有多信息和多处理特征的实际应用。基于智能体这些特征,将入侵检测与多智能体结合起来,从而形成基于智能体的分布式入侵检测系统就成为当前IDS研究的热点之一。本章讨论基于智能体的分
2、布式入侵检测系统。版权所有,盗版必纠 现有的入侵检测系统大多数都采用单一体系结构,即所有的工作包括数据的采集、分析都由单一主机上的单一程序来完成,而一些分布式的入侵检测系统只是在数据采集上实现了分布式,数据的分析、入侵的发现还是由单个程序完成的,这样的结构有如下缺点:1.可扩展性较差。由于所有工作都是由单一主机执行,被监控的主机数和网络规模受到限制,入侵检测系统的实时性要求较高,数据过多会造成其过载,从而入侵检测系统因来不及处理过量的数据或丢失网络数据包而失效。2.单点失效。当入侵检测系统自身因受到攻击或其他原因而不能正常工作时,其保护功能就会丧失,会影响到整个系统。版权所有,盗版必纠 3.系
3、统缺乏灵活性和可配置性。当系统需要加入新的模块和功能时,整个系统就需要修改和重新安装。为了有效地解决上述问题,建立一个健壮、灵活和具有良好伸展性的入侵检测系统,这里将多智能体MAS技术引入到入侵检测当中,介绍基于智能体的分布式入侵检测系统。版权所有,盗版必纠9.2.1 分布式入侵检测系统的特征 为了适应当今的网络环境,入侵检测系统必然会想着分布式发展,而且会越来越重视整个体系结构的合理组成和分布组件之间的协调和合作,以及整个系统工作的自动化和智能化。因此,分布式入侵检测系统应该具有如下特征:1.分布式部署只有在整个被保护的网络的关键网段和交换部位和一些关键主机,如 WEB服务器、DNS服务器分
4、别设置IDS,才能进行整个网络范围内的部署,才能发现整个网络中的安全问题,如大规模分布式入侵等。2.分布分析对收集的数据应该就地进行分析、处理,缩减数据量,减少网络流量,防止上级节点处理海量数据而产生“单一失效点”问题。版权所有,盗版必纠3.安全产品的联动入侵检测技术强调实现以入侵检测为中心的安全防御体系。IDS与防火墙、漏洞扫描系统、防病毒系统、网络管理系统等产品可以实现联动,使得以前相互独立,需要在不同时间段完成的入侵检测和应急响应两个阶段有机的融为一体。4.系统管理平台系统管理平台实现各种安全设备的互联互控,对各种设备提供的信息进行关联性分析,并实现实时性反馈控制。同时支持分布式部署和分
5、级管理,除了管理入侵检测系统外,还支持多种安全设备的管理。5.可伸缩性和扩展性要求系统可以根据不同的网络环境规模进行灵活配置,针对新的攻击类型的出现能够不断扩展自身所能检测的攻击种类。版权所有,盗版必纠 在研究了目前国内外典型的分布式IDS的基础上,根据分布式入侵检测系统所应该具有的特征,这里介绍一种“分散采集、分布分析、动态协调、区域管理”的分布式入侵检测系统(DIDS)的体系结构模型,它在整体上形成一个层次树型拓扑结构,这种树型分层的结构体体现了分布式检测的思想,又有很高的灵活性,使整个系统缩放自如,不会受到网络规模变化的限制。树型分层的结构体如图9.1所示。版权所有,盗版必纠在这个树型体
6、系结构中,每个节点为特定网络与一个入侵检测系统所构成的完整体系,每个节点都拥有完整的网络架构和完善的入侵检测系统,所有节点的入侵检测系统均能够协同工作。子节点主要收集所辖区域内各种数据,包括系统日志、网络数据包等,通过对这些数据进行分析产生报警,对本地确定已经发生的攻击做出响应,并将无法处理的数据和告警送往上层节点进行进一步的分析和关联,由上层的分级控制中心的节点判断更大范围内的入侵行为。分级控制中心的节点接收子节点送出的数据和告警,并收集该层次分区内安全部件的告警和数据。对数据进行分析和融合,做出更高层次的判断并将不能确定的告警继续向上传送进行进一步的分析,同时还控制它下层的各级节点,对它管
7、辖区域内各安全部件的联动进行控制和管理。版权所有,盗版必纠安全控制中心作为最高层面的节点,使整个网络的安全中心,它连接下层分级控制中心的节点,实现逐级控制,对下层的节点进行管理和控制,同时接收子节点传送来的数据和报警,接收和显示全局安全态势。安全控制中心还具有全局预警的功能。当某一子节点报告有严重报警后,安全控制中心根据情况,可将此报警信息下发到它认为可能受到此类攻击的其它下层节点,以使得这些节点提早防范。版权所有,盗版必纠 树型结构中各节点都是一个独立的入侵检测系统。当然,根据它们所处的层次不同,他们的具体功能也不一样,对于子节点来说,主要完成数据采集、预处理和分析功能;对于中层节点来说,主
8、要的功能是数据进一步分析、告警融合,以及和当地的安全部件进行互动的功能;对于根节点来说,其功能侧重点为对整个系统进行配置和管理及全局预警等。但总体上每个节点都符合一个四层模型。版权所有,盗版必纠一个完整的入侵检测系统应该包括如下模块:1.数据探测模块数据探测模块这模块通过各种探测器(sensor),采集流经网络的数据包、网络关键主机的log信息和安全部件的告警信息,为整个系统提供数据源。2.代理模块代理模块代理模块包含许多智能体Agent,其中,OS 代理、Network代理Protocol代理对下层发来的有关入侵的信息进行分析,产生初步告警,并上报给分析层做更进一步的分析。防火墙代理和漏洞扫
9、描代理等则根据协调、互动模块发来的控制信息,主要实现系统内各安全部件的联动。版权所有,盗版必纠3.分析模块分析模块分析模块对初步告警信息进行深层分析,如果认为不是入侵行为,则将数据丢弃;如果认为是入侵行为,则产生告警,上报决策模块;如果不能断定是入侵行为,但又觉得可疑,则数据和对数据产生的怀疑值交给关联融合模块。4.关联、融合模块关联、融合模块关联融合模块主要检测分布式攻击。它对分析模块上报的告警信息进行关联融合,从而检测出是否存在分布式攻击行为,如果有,则产生高级告警,上报给决策模块。5.控制模块控制模块用于完成协调、互动模块做出的决定,协助协调、互动模块完成对代理和移动代理的管理和协调。版
10、权所有,盗版必纠6.决策模块决策模块该模块对分析模块和关联、融合模块上报的告警做出决策,根据入侵的不同情况,选择不同的响应策略。7.协调、互动模块协调、互动模块DIDS采用代理和移动代理来实现对数据和事件的初步分析基于其他安全部件进行互动。协调、互动模块的主要作用是对各种代理和移动代理进行管理,合理使用和分配这些代理。并具体分派任务。8.安全响应模块安全响应模块根据决策模块做出的响应策略,采取相应的相应措施,措施包括忽略、向管理员报警、终止当前连接等。版权所有,盗版必纠9.数据库模块数据库模块该模块存取入侵特征和入侵事件等数据,供进一步的分析、取证。10.人机界面人机界面人机界面时提供给管理员
11、的管理界面。管理员通过这个界面完成对系统的配置、权限管理和入侵特征库的手工维护等。将上述模块组合在一起,形成一个有机的整体。从而形成一种基于智能体Agent的四层结构的分布式入侵检测系统(DIDS)的体系结构模型版权所有,盗版必纠体系结构模型版权所有,盗版必纠在这个结构模型中,自下而上依次为:数据探测层、代理层、分析层和管理层。1.数据探测层数据探测层数据探测层完成对网络中各种数据的采集,通过探测器来实现。系统日志Sensor采集网络中关键主机的系统审计迹、系统日志和应用程序日志,并对数据进行简单的过滤;网络数据包Sensor采集网络中的网络数据包,并对数据进行简单的过滤;其他Sensor,如
12、防火墙Sensor、防毒系统Sensor采集这些安全部件的告警信息。版权所有,盗版必纠(2)其它代理包括防火墙代理、防毒软件代理和漏洞扫描代理等。这些代理与前几种代理有明显的不同。除了处理下层探测器发来的告警信息外,它们主要的功能是实现IDS与其它安全部件的互动。例如,当系统实时检测到入侵事件发生时,防火墙代理根据管理层发来的告警信息和控制信息,动态地更新防火墙的阻断策略规则,使防火墙在一定有效的时间内按IP、端口等信息阻断后续攻击时间的发生,从而实现安全部件的互动。版权所有,盗版必纠2.代理层代理层代理层包含有OS 代理、Network代理Protocol代理和其他代理,所有代理都采用智能体
13、Agent,这些代理都是能独立运行的实体,其中移动的智能体Agent可以动态从系统移出,也可以动态地加到系统中。因此不需要为了添加一个新的代理而改变整个系统。(1)OS 代理、Network代理和Protocol代理可以用静态的智能体Agent来实现。如果一个IDS可以分成许多功能的小实体,那么每个小实体就是一个代理。这几种代理对探测器所捕获的数据进行初步分析。如果是入侵,则直接产生响应。如果怀疑是入侵行为,将数据传给分析层进行进一步的处理。版权所有,盗版必纠3.分析层分析层分析层完成对事件的分析、对告警进行关联和融合,然后将告警信息送给管理层的决策与响应模块。分析层的控制模块接收来自管理层协
14、调模块的控制信息,具体完成对代理的管理、任务分派等任务。4.管理层管理层管理层完成对入侵的决策与响应,协调系统内部各代理和移动代理的工作,其中还包括协调、互动模块等,协调、互动模块的主要作用是对各种代理和移动代理进行管理,合理使用和分配这些代理。并具体分派任务。版权所有,盗版必纠这里介绍的分层树形DIDS体系结构,与已有的系统相比,具有如下特点:1.节点之间的相对独立性 DIDS中的各个节点,都可以视为是一个独立的IDS。这样,在每一个区域,通过节点处的IDS就可以对该区域进行入侵检测和攻击防范,同时,又可以通过树形结构,将告警情况及时向上反映,使得其上层节点掌握其所有子节点的情况,同时进行全
15、局安全事件分析。2.强调了安全部件的互动 系统与防火墙、漏洞扫描系统、防毒系统等安全产品实现联动,使得以前相互独立,需要在不同时间段完成的入侵检测和应急响应两个阶段有机的融为一体。版权所有,盗版必纠3.可以实现全局预警 这也是DIDS的一个显著特点,当DIDS所辖的某一区域出现严重异常时,它可以及时上报,通过DIDS的全局预警机制下发给其它可能受到影响的IDS,这些IDS马上采取应对措施,可以保证全网其它的区域不受此攻击的影响。4.体系结构的灵活性和可扩展性 由于DIDS体系结构中节点IDS的相对独立性,在某个节点处增加一个子节点或删除IDS中的某个节点都不会对DIDS中其它的IDS造成太大影
16、响,因此,DIDS可以按照网络拓扑的实际情况灵活配置IDS,可扩展性很强。版权所有,盗版必纠分布式问题求解(DPS,Distributed Problem Solving)的研究重点是协作问题求解的分布式智能体系统。它假设系统中智能体形成一组具有相同目标的实体,以分布和协调的方式工作。这个假设使计算智能体系统缺乏表达诸如社会性问题和竞争决策的博弈问题的能力,导致了具有不同利益、愿望或目标的开放环境下多智能体系统(MAS,Multi Agent System)的产生。通常,智能体Agent具有以下部分或全部的特性:(1)自治性:能控制自身的行为和状态,其行为是主动的和自发的,有自己的目标和意图,
17、根据目标和环境的要求,对自己的短期行为做出规划。版权所有,盗版必纠(2)交互性:对环境或其他智能体的感知和影响。(3)可通讯性:能通过某种语言与其他的智能体交换信息和相互作用。(4)感知能力或反应性:能及时感知和响应其所处的环境的变化。(5)持续性:能持续或连续的运行,其状态在运行过程中应保持一致。(6)推理和规划能力:具有当前知识和经验,以一种理性方式进行推理和预测的能力。(7)协调、协作和协商能力:能在多智能体环境中协同工作和冲突消解,以执行和完成一些互相受益且自身无法独立求解的复杂任务。(8)移动性:能在分布式网络中移动,且其状态在此过程中保持一致。(9)学习与适应性:能积累和学习经验和
18、知识,并修改自身的状态以适应新形势。版权所有,盗版必纠根据人类思维的层次模型,可以把智能体Agent分为:1.反应智能体只是简单地对外部刺激产生反应,没有任何内部状态。它不具有关于环境的符号模型,不存在复杂的符号推理机制,而是以一种“刺激-响应”的方式来对环境的当前状态做出响应。只对环境的变化或来自其它智能体的消息产生反应,而不能对其内部状态进行推理。通过触发规则或执行预先定制的规划来执行动作。该类智能体能及时快速响应环境变化和对外来信息做出处理,但缺乏足够的灵活性。版权所有,盗版必纠2.认知智能体在内部有一个符号推理模型,智能体依据该模型以符号推理的方式进行规划和协商,并且使用逻辑或伪逻辑推
19、理进行决策。它能采用基于符号表示和逻辑推理来创建、更新、评价和选择执行适宜规划以采取动作和完成目标,具有较强的灵活性和较高的智能,但对环境的变化无法做出快速响应。版权所有,盗版必纠3.混合智能体将上述两类结构有机结合而成的智能体。入侵检测中所用到的智能体通常是基于混合智能体设计的,它既能对环境变化及时反应,也能进行推理决策。版权所有,盗版必纠总之,在分布式人工智能(DAI,Distributed Artificial Intelligence)中,智能体所处的环境可以是封闭的,也可以是开放的。智能体的性质可以是自利的,也可以是合作的,或两者兼而有之。有些研究者把DPS作为MAS的一种特殊形式,
20、当MAS满足下面三个假设时可以看作是DPS:1.智能体由集中设计者统一设计;2.智能体有共同全局目标;3.智能体是合作的。入侵检测中的智能体系统通常是广义的,基本等同于DAI,包括上述的MAS和DPS。版权所有,盗版必纠随着计算机网络和计算机通信等技术的发展,对于智能体Agent技术的研究已成为分布式人工智能DAI研究的一个热点。智能体技术提供了一种新的计算和问题求解规范。智能体雏形出现于1977年,Hewitt提出了并发演员模型。他称自包容的、交互的、并发执行的对象为演员。每个演员都有自己的状态,有能力响应其它演员发来的消息。智能体的研究可以划分为两个阶段:第一阶段:19771990,研究内
21、容集中在慎思式智能体;第二阶段:1990至今,研究内容集中在智能体理论、体系结构和语言上。版权所有,盗版必纠1995年,Wooldridge和Jennings对智能体做出了权威性的定义如下:1.弱定义:智能体是一个基于软件或硬件的计算机系统,它拥有以下特性:自治性、社会能力、反应性和能动性。2.强定义:智能体在弱定义的特性基础上,还要包括情感等人类的特性。为了支持智能体的诸如自主性、社会性和自适应性等特性,确保智能体之间能够通过社会性交互来进行问题求解,推动基于智能体系统的开发,智能体技术必须解决一系列关键性问题。版权所有,盗版必纠1.智能体的通讯智能体之间进行合作的基础是交互,而通讯是实现交
22、互的一种重要的方式和手段。智能体的通讯涉及智能体通讯语言、通讯机制、本体论通讯和智能体交互协议等多方面内容的研究。智能体之间通讯的消息必须具有良定义的语法和语义。在基于智能体系统中,必须提供某些机制确保智能体之间安全和可靠地进行通讯。智能体间的通讯机制应能支持智能体之间的同步或者异步通讯,支持一对一和一对多的广播通讯。本体论通讯可以较为有效地解决智能体间通讯内容的语义不确定问题。为了促进智能体之间的合作,必须定义智能体之间的交互协议。它决定了通讯参与方智能体对智能体间通讯内容的理解以及做出的响应,因而决定了智能体间的合作模式。版权所有,盗版必纠2.智能体内部构造构造具有自主性、社会性和自适应性
23、的智能体是智能体技术的关键。它涉及到智能体内部状态的表示和操纵、自适应性和对环境的理解等问题的研究。智能体的内部结构可以是反应式的、慎思式的或者二者兼而有之的混合式。在实际开发中采用什么样的内部结构主要取决于具体应用系统的需求。如何表示智能体的内部状态以及智能体如何基于内部状态自主地做出行为决策将是智能体技术面临的一个关键问题。自适应性智能体可以是简单的反应式系统,也可以是复杂的慎思式系统。慎思式智能体可以具有学习功能,可以进化。它能根据其经验改变其行为。为了能够根据环境自主地做出反应,智能体必须能够通过某些机制来获取并理解环境信息。版权所有,盗版必纠3.智能体生命周期管理在多数情况下,智能体
24、将以一种软件的形式持续地运行在一定的环境之中,因此必须提供某些机制对智能体生命周期中的各种活动进行管理。移动智能体将引入其它生命周期管理问题如运行许可、智能体地址定位等。在智能体生命周期过程中,智能体也可进化甚至克隆自己,这将涉及一些更加复杂问题的解决如对责任和权限的代理等。智能体的生命周期管理应对智能体的行为历史做出记录,以便于智能体能够对其先前的行为做出审查和评估。此外,在智能体的生命周期中,智能体对外展示的接口也是动态的,以反应智能体内部状态和环境的变化。在智能体生命周期中,智能体的行为和角色将动态地发生变化,反应了智能体角色的多面性和动态性。版权所有,盗版必纠4.智能体的移动移动智能体
25、对智能体技术提出了新的问题。例如它需要运行智能体的服务器产生移动代码权限验证和安全性问题,这增加了管理上的难度。又如确定移动智能体的位置;在其移动过程中如何与其进行通讯;当网络发生故障甚至崩溃时如何让其回到源出发地等。同时在移动智能体系统中,智能体的命名和身份鉴别将变得更加重要。版权所有,盗版必纠5.智能体的代理功能智能体可以作为人或者其它计算实体的代理充当许多职责,在其运作过程中,智能体可能具有多种身份。一个健壮的系统在与智能体进行交互过程中必须考虑智能体的身份。此外作为其它实体的代理,智能体在其运行中必须能够识别自己和其它智能体的身份。版权所有,盗版必纠7.系统的软件开发方法制定系统的、标
26、准化的软件开发方法来指导基于智能体系统的开发,包括需求分析、软件设计、测试和验证等。智能体技术是目前计算机科学领域中一个非常重要、研究活跃的内容之一。近年来引起了学术界和工业界的高度关注和重视。自八十年代以来,许多人和研究机构致力于这一领域的研究,取得了不少研究成果。在工业界,许多有影响的软件开发公司和组织如IBM、Toshiba、Microsoft等积极开展智能体技术的研究,寻求其应用。版权所有,盗版必纠6.智能体的安全、身份和相关策略智能体通常作为一个软件实体运行在分布计算环境中。因而面临分布式计算系统通常遇到的安全性问题,包括未经授权的截获信息,未经授权的修改信息,破坏数据,未经授权的拷
27、贝,否认承诺和否认行为等。安全策略可以控制对系统有价值资源的存取和访问。它通常采用基于智能体的身份认证和加密技术。一个智能体可以具有多种身份。智能体的身份通常需要第三方的认证。版权所有,盗版必纠现阶段几乎所有基于智能体系统的开发都是通过以下方式实现的:(1)编程语言:Java或C+;(2)通讯语言:KQML或者FIPA 的ACL;(3)内容语言:KIF、XML。由此可见,当前基于智能体系统的开发缺乏相应的软件开发工具和环境的有效支持,绝大部分系统的开发不得不借助于成熟的面向对象技术来实现。版权所有,盗版必纠现阶段几乎所有基于智能体系统的开发都是通过以下方式实现的:(1)编程语言:Java或C+
28、;(2)通讯语言:KQML或者FIPA 的ACL;(3)内容语言:KIF、XML。由此可见,当前基于智能体系统的开发缺乏相应的软件开发工具和环境的有效支持,绝大部分系统的开发不得不借助于成熟的面向对象技术来实现。版权所有,盗版必纠在入侵检测特别是分布式入侵检测当中,攻击和检测的语义内容十分丰富,但内容语言KIF表达语义能力不强,使得上述基于智能体系统开发方式存在局限性。由于OWL具有良好的语义表示能力,可以将采用OWL扩展KQML的内容层,通过Ontology技术,丰富了KQML语义的表达,可以方便地表达入侵检测中的语义。版权所有,盗版必纠系统中的Agent由三类Agent组成:(1)中心Ag
29、ent;(2)分析Agent;(3)主机Agent和网络Agent。各个Agent之间相互协作又相互独立,并具有很好的可配置性和可扩展性。版权所有,盗版必纠9.3.1 中心Agent中心Agent位于整个系统的最高层即管理层,它负责监控系统中的所有Agent,对Agent进行配置管理,显示告警信息并对告警事件做相应的处理。它也是系统跟用户界面交互的部分,相当于一个控制台。如图9.3所示为中心Agent的结构。版权所有,盗版必纠1.事件管理事件管理模块管理的事件是由主机Agent、网络Agent、分析Agent等所产生的告警事件,这些事件包括入侵警报、可疑行为等。事件管理则要解决如何有效地显示、
30、和用户交互的问题。系统将显示该事件的所有详细信息。这里可以对各种不同的告警事件进行分类显示,按不同的颜色区别不同威胁程度的攻击,按时间顺序列出攻击的详细情况,按相同IP地址将攻击分类等等。版权所有,盗版必纠2.报告生成(1)事件检测报告事件检测报告通常以事件为单位产生,或以一天的总结报告的形式产生。它们常以电子邮件的方式发送,而且入侵检测系统应该提供灵活的地址并能够进行PGP加密。分析员应有机会报告控制台上显示的每一个检测事件,而且可以通过点击鼠标接受每个检测事件。然后,系统自动产生报告,分析员在报告发送之前进行检查和注释。版权所有,盗版必纠(2)周、月总结报告管理部门通常对自己负责的站点是否
31、正在受到攻击感兴趣。但是以事件为单位或以天为单位的报告需要花费很多时间来处理,而且无法帮助他观察宏观的形势。周或月总结报告解决了这个问题。通常,管理者的级别越高,向他发送报告的频率就应越低。系统管理员通过对报告的分析,针对不同功能的Agent制定更好的策略。版权所有,盗版必纠3.Agent管理和配置由于系统中存在多个不同级别、不同功能的Agent,不同Agent所采取的分析方法也不同,所以有必要对这些Agent进行统一的管理和配置。要记录各个Agent的名字、IP地址、通讯端口以及所实现的功能等等,并能够停止和启动不同的Agent。对主机Agent而言,不同的主机Agent所使用的规则库也是不
32、一样的,所以中心Agent需要对主机Agent的规则库进行重新配置,以适应各种不同的情况。版权所有,盗版必纠4.响应系统响应是一个入侵检测系统必须的一个部分,没有它入侵检测就失去了存在的价值。最简单的自动响应是自动通知。当检测到入侵发生时。入侵检测系统可以给管理员发EMAIL或打寻呼。一种比较主动的响应是阻止正在进行的攻击,使得攻击者不能够继续访问。例如通过注入复位数据报来截断攻击者和目标主机之间的连接、通过更新配置防火墙来限制入侵者的访问等。更为主动的响应是探测到进攻时发起对攻击者的反击。但这个方法是非常危险的,它不但是非法的,也会影响网络上无辜的用户。这个方法如图9.4所示:版权所有,盗版
33、必纠这个方法如图9.4所示:版权所有,盗版必纠分析Agent在整个系统中处于分析层,它对各个主机Agent发送来的数据进行综合分析,以便检测到涉及多台主机与网络有关的入侵行为;分析Agent注重于高层次的分析方法,综合运用概率统计技术、数据挖掘技术或神经网络技术,进行特征提取和模式匹配,不断学习,动态扩充入侵模式库,动态更新系统正常行为轨迹,以便发现异常入侵,充分发挥分析Agent的检测能力。在一个分布式的入侵检测系统中会存在多个不同的分析Agent,每个分析Agent所采用的检测方法也不一定相同。版权所有,盗版必纠分析Agent的结构如图9.5所示。版权所有,盗版必纠 数据存储模块是接收来自
34、主机Agent的数据,并将数据存入数据库中,以便于以后的分析。由于主机Agent和网络Agent传送来的数据是已经经过处理的数据,这样大大减少了网络数据的传输,降低了网络的负载。构造专用的存储系统可以提高反应速度,但那是一个艰难的过程。可以选择现有的数据库系统来建立存储系统。现有的数据库系统都支持SQL查询,它对搜索的封装使得分析系统可以使用通用的接口。版权所有,盗版必纠 主机和网络Agent处于整个分布式系统的最低层。主机Agent的功能是在所在主机上以各种方法收集信息并对这些数据进行初步分析,包括分析日志、监视用户行为、分析系统调用、分析该主机的网络通信等,所以主机Agent是依赖于操作系
35、统平台的。网络Agent的功能是收集网络上的数据包,并对它进行初步分析,将明显不是入侵的数据丢弃,将明显是攻击的数据截获并报警。将其它可疑数据传送给上层Agent。版权所有,盗版必纠主机Agent和网络Agent的结构类似,只不是它们的数据源不同,如图9.6所示。版权所有,盗版必纠 智能体Agent之间良好的通讯机制是基于多主体技术的大规模分布式入侵管理系统正常运行的前提保证。Agent之间的通信语言即ACL(Agent Communication Language)是agent之间交换信息和知识的手段,而ACL中KQML(Knowledge Query and Manipulation La
36、nguage)是现在比较流行的Agent通信语言。本文采用KQML作agent的通信语言,从而实现智能体Agent之间语义上的通信。版权所有,盗版必纠KQML具有三大属性:1.KQML独立于网络传输机制(即TCP,SMTP等);2.KQML独立于内容语言(即SQL,OWL,PROLOG等);3.KQML独立于内容实体。版权所有,盗版必纠KQML可分为三个层次:通信层、消息层和内容层。结构图如图9.7所示:版权所有,盗版必纠图9.7 KQML的三层结构图通信层对低层的通信属性进行编码,包括消息发送/接收者指定通信进程的标识等。消息层是 KQML的核心,它定义发送消息的协议和内容层消息所要体现的语
37、义动作(performative,即“言语行为”),以决定 Agent需对消息反应而采取的行为。内容层可以选择多种语言。本文词采用OWL作为KQML的内容曾语言。KQML的动作表达式如下所示:版权所有,盗版必纠用Java语言实现基于OWL内容的KQML原语封装/解析的过程如图9.8所示。智能体Agent要发送的消息采用OWL语言规范进行编写,然后再用KQML语言规范进行封装,封装后发送到消息队列中。采用TCP/IP网络协议在Internet或是Intranet上发送到KQML规定的目标。目标消息接收器收到KQML/OWL消息之后,先进行KQML解析,再用Jena实现OWL语言的解析,直到得知智
38、能体Agent想要的消息。版权所有,盗版必纠图9.8 KQML/OWL消息的封装解析过程版权所有,盗版必纠由于分布式入侵检测系统采用了智能体Agent 技术,系统中包含有大量的代理和移动代理。这就会给系统带来一系列新问题,特别是安全问题。Agent程序在其他服务器上运行时,其程序代码和数据对于服务器主机都是暴露的,存在安全威胁。如果该主机是恶意的,或者被攻击者占领或伪装时可以从不同方面对Agent形成威胁。恶意主机可能破坏、终止Agent程序,从而阻止Agent执行任务。恶意主机窃取Agent携带的有用信息,修改Agent携带的数据。攻击者通过修改Agent的代码并让其返回宿主机或转移到其他服
39、务器时执行恶意攻击操作。版权所有,盗版必纠Agent具有自主性和可移动性,可以在网络中漫游。移动Agent的这种自主性和可移动性增加了系统对移动Agent识别和管理的难度,攻击者可能会冒充某一合法的移动Agent,或修改某一个移动Agent,使其成为攻击者可操纵的工具。这种攻击方式分为两类:移动Agent非法操作控制主机;主机或其它移动Agent非法操作控制移动Agent;版权所有,盗版必纠采用代理和移动代理技术,使分布式入侵检测 系统在智能型、自适应性、灵活性和各安全部件间的联动等方面的性能大大提高,但也给系统带来了很大的安全隐患。因此,在大规模分布式入侵检测 系统中使用Agent和移动Agent,必须考虑安全问题。应采用身份认证机制,对Agent特别是移动Agent的身份进行认证,以防假冒。必要时应对Agent之间传输的数据和通信信息进行加密。可以根据Agent的功能和性质,对Agent进行分类和编号,并设定Agent和移动Agent的最高权限,由协调互动模块统一进行调配和管理。版权所有,盗版必纠返回