当前位置:首页 > 工作计划 > 入侵检测的智能应用_入侵检测的方法
 

入侵检测的智能应用_入侵检测的方法

发布时间:2019-03-11 03:57:01 影响了:

  移动代理是一种比较新的技术,在大规模、分布式、跨平台的应用中,移动代理拥有独特的优势。将移动代理技术应用到网络入侵检测系统中能实现全局范围内的入侵检测功能,具有清晰的系统结构和良好的可扩展性,减少了出现瓶颈的可能。
  网络技术的发展在给我们带来便利的同时也带来了巨大的安全隐患,尤其是Internet和企业Intranet的飞速发展对网络安全提出了前所未有的挑战。技术是一把双刃剑,不法分子不断试图利用新的技术伺机攻入他人的网络系统,随着网络技术和网络规模的不断发展,网络入侵的风险性和机会也越来越多。这些入侵有的是针对计算系统和软件的漏洞,有的是针对网络系统本身的安全缺陷。但是,它们都对主机和网络造成了破坏,网络安全已经成为人们无法回避的问题。而肩负保护网络重任的系统管理员则要利用最新的网络技术来防范各种各样的非法网络入侵。
  结合国内外入侵技术及入侵检测技术的最新发展,分析各种入侵检测系统的缺点和不足,针对当前入侵检测系统的不足,本文分析了一种基于移动代理的入侵检测系统模型,及其在网络入侵检测系统中的实现。该模型把移动代理引入到入侵检测系统中。
  
  传统的网络入侵技术
  
  入侵检测技术是除了防火墙等以外的另一种安全防御措施。它能够保护网络系统不受外界的攻击与入侵,大大增强了系统安全性。因此,为了保护越来越多的敏感信息,入侵检测技术得到了越来越多的重视。
  入侵检测技术是对系统的运行状态进行检测,从而发现各种攻击企图,攻击行为或者攻击结果,以保证系统资源的机密性、完整性与可用性。入侵检测系统(IDS)可以从不同的角度进行分类。根据检测数据来源的不同,可以分为基于主机的入侵检测系统(Host-based IDS)和基于网络的入侵检测系统(Network-based IDS); 根据检测使用的分析方法可以分为异常检测型(Abnormal Detection)和误用检测型(Misuse Detection); 根据IDS的体系结构可以分为集中式入侵检测系统(Centralized Intrusion Detection System)和分布式入侵检测系统(Distributed Intrusion Detection,简称DIDS)。
  虽然当前的入侵检测技术种类繁多,但基本体系结构是相似的,如图1所示。
  
  目前许多入侵检测系统基于Denning的入侵检测模型.入侵检测的方法一般可以分为异常入侵检测和与无用入侵检测。由于误用入侵检测无法检测新的位置形式的攻击,而异常入侵检测系统使用的检测方法决定了它只能监测到有限种类的攻击。传统的网络入侵检测系统由于在检测技术上存在着许多不足,在不法分子越来越猖狂的攻击面前已经显得越来越力不从心,因此需要一套新的对入侵攻击行为进行准确跟踪和定位的系统。
  移动Agent是Agent的一种,除了具有一般Agent的特性以外,还具有移动性,可在一定控制机制下,携带自身状态,信息和代码等在网络中转移到另一个环境中去,并在该环境中恢复执行。同时,如果需要,它可以返回源点。移动Agent的应用广泛,其在入侵检测技术中的应用是一项新兴技术,将有较高的实用价值。
  
  移动代理的技术剖析
  
  目前,学术界正着重对两类代理进行研究。一类称为智能代理,具有很高的智能性,主要研究其人工智能特性以及采用高级交互语言的多代理合作功能,其物理位置基本固定。另一类称为移动代理,代理可根据需要在网络中迁移,主要研究代码及其执行状态的移动性。笔者认为,对于入侵检测技术来说,移动代理将更具实际意义。
  移动代理体系结构
  移动代理是指能在同构或异构网络主机之间自主的进行迁移的有名字的程序。移动代理的一般体系结构如图3.1所示。
  
  其中主机系统可以采用不同的硬件平台和软件操作系统,构成异质计算网络环境。移动代理环境(MAE)是分布在各个主机系统中,使移动代理运行、迁移和通信的软件执行平台。移动代理的迁移,不同MAE之间的交互以及MAE和其他不是基于代理的网络设备、应用软件、管理设施等的交互则是通过分布式对象中间件完成,考虑到标准的完备性,目前一般都采用CORBA平台。利用其提供的命名、事件、交易等服务,可以实现移动代理的位置透明性,有效地增强MAE的功能,并支持不要厂商MAE之间的互操作。所有移动代理环境构成分布式代理环境(DAE),基于CORBA的应用管理系统构成分布式处理环境,整个系统由框架在分布式处理环境(DPE)之上的DAE组成。MAE的功能结构如图3所示。
  
  在整个DAE中的构成元素称之为代理署(Agency),它提供两类服务,一类为所有应用的代理都必须的基本服务,包括代理运行环境、代理迁移、与远程代理之间以及代理和服务系统之间的通信、代理命名标识、代理安全性能和代理监控管理等功能。另一类则是与特定应用相关的增强服务,这些服务有若干可重用的译本构件组成。若干个代理署可以组成一个代理域,同一个运营机制管理,在同一个域中的所有代理具有相同的安全策略。代理可以在代理署之间迁移,也可以在管理策略允许的条件下在域间迁移。
  
  移动代理基本技术
  
  移动代理包括三个方面的基本技术。
  
  生命周期技术
  
  生命周期技术指的是代理的创建、管理和终结。代理系统也要创建环境和代理管理系统。前者负责代理的创建、测试和仿真; 后者负责代理的配置、部署和属性管理。由于代理是在分布计算环境中运行的,因此代理必须采用面向对象的软件工程方法创建,其中一个重要的问题是编程语言的选择,C++虽然也是面向对象的语言,但是由于其指针机制的不安性,未被移动代理看好。现在采用的都是解释型的脚本语言,如Java等。Java已经在计算机界大量使用,支持工具齐备,机理又和C++比较类似。
  
  迁移技术
  
  迁移是移动代理的关键技术,迁移的内容除了代码外,还包括代码的执行环境。从迁移的执行环境内容划分,有两类迁移: 一类称为弱迁移,只要求迁移执行环境中的数据状态,实现较为简单; 另一类称为强迁移,它不但要迁移执行环境中的数据状态,还要迁移其控制状态,实现比较复杂。
  
  安全技术
  
  安全技术是决定移动代理能否在网络中实际部署的关键,也是难度最大的一项技术。安全保护的对象包括代理本身,代理所在节点和代理间的通信,所采用的技术包括认证、授权、加密、数据完整性、不可抵赖性等,在IP运行环境下可参考IPSEC规范。
  由于移动代理必须保证能够跨平台使用,所以一般来说每一种实现都需要基于某一种特定的平台无关语言。目前国际上比较流行的语言有很多,包括Java、Tcl以及Python等。在每个平台之上,都有一些移动代理的实现。其中,Java语言的平台无关性在各个平台上实现得最好,而且其公共接口CORBA也得到了广泛的承认和支持。另外,在Java语言中已经直接集成了对象串行化的功能和RMI接口,为移动代理的实现提供了强大的支持。目前的移动代理中,有相当大的一部分是基于Java语言实现的。
  
  智能入侵检测
  
  模型的组成
  把移动代理应用到入侵检测系统模型中,弥补了当前入侵检测系统模型的缺点与不足。此模型整个体系结构由控制台与安装在各个运行代理的主机中的运行平台组成。而控制台又有人机交互界面,移动代理库,移动代理管理部件和Agent控制部件四个部分组成如图4所示。
  
  下面对各个部分的功能进行描述:
  ● 人机交互界面 提供人机交互的接口,便于管理员对系统进行配置、管理与维护,其中包括配置受监视的主机,受监视的网段,用户可以查看系统运行状态,查看指定移动代理的运行情况,查看日志文件等,同时系统受到攻击时主动向管理员提供诸如声音,邮件等多种形式的报警以及提供入侵的证据等。
  ● 移动代理库 用于存放各种移动Agent,即各种Agent的代码库,等待系统的调用与派遣。存放的Agent系统都为他们分配唯一的ID号,用来标志Agent的身份。为了便于管理这些mobile Agent,移动代理库需要一张表存放这些Agent的ID。对于Agent,开发的移动Agent都以.class形式的文件存在。当系统需要时,由Java的类装载器对应的.class文件。
  ● 移动代理管理部件 用来管理移动代理库中的Agent,负责代理的添加、删除。添加代理时,移动代理管理器把新增加的移动代理加入到移动代理库中并为新增加的代理分配必要的系统资源、网络资源、唯一的ID号,同时把代理的ID添加到ID表中; 删除代理时,从移动代理库中删除代理的代码,同时负责释放资源,删除代理ID。这样就可以开发出特定功能的,添加到代理库中而不影响系统的其他部分,增强了系统的扩充性。
  ● 移动代理控制部件 根据系统配置和系统运行情况的需要,从移动代理库中选择合适的Agent,然后发布出去,执行特定的任务。控制移动代理在各个主机之间的移动以及代理的回收、挂起、恢复等。同时管理布告板(BB),BB是用于控制器与代理之间进行信息交换的。
  ● 运行平台 安装在Agent运行的各个主机上,作为Agent运行的支撑环境,为了使移动Agent能在异构网络中运行,访问不同的系统资源,要求运行平台能够跨越操作平台,应用于不同的操作系统。应用Aglet作为mobile Agent时,用Aglet Work-Bench作为运行平台。
  系统模型代理库中代理的分类
  把图4所示的入侵检测系统模型的功能分成四个不同的模块,每个模块实现特定的功能,其中,在mobile Agent 库模块中,有一系列的代理共同完成检测任务。按照功能的不同,我们又把代理按层次进行分类(如图5所示)。
  
  其中,信息收集代理负责收集数据,作为入侵检测的主要数据来源,为了收集不同层次的数据,设计了三种信息收集代理-数据包级的代理收集网络数据包,用来检查网络行为; 而另外两种收集主机上的数据,检查主机行为。检测代理分析监视代理收集来的数据,判断是否有入侵发生。响应代理负责对入侵做出及时地响应,中断攻击者破坏行为,避免网络遭受更大的损失,例如发送警报、锁定某个节点、结束某个进程等等。
  
  检测机制
  
  此模型是基于主机和基于网络的检测技术相结合的一种模型,能够监测每个网段和每个网段中的任何主机,移动代理检测到异常后向控制台发送警报消息。同时,控制台会综合分析报警信息,判断是否有大规模的分布式入侵行为; 由于检测对象的不同,监测主机的代理和检测网络的代理设计不同。
  为了节省系统和网络资源,不必在每台主机上派发收集主机信息的代理,而是选择一些比较重要的或者是容易遭受攻击的主机,比如WWW服务器,邮件服务器等,派发收集主机信息的代理来检查主机行为。由用户级的收集代理收集用户行为的信息,系统级的信息收集代理收集系统行为的信息,然后由检测代理分析这些数据,判断是否发生了入侵。可以根据不同主机的特征和易遭受的攻击有针对性的开发出适合特定主机的检测Agent,比如,服务器容易受到更改页面的攻击,可以开发出定期对其上的文件系统进行完整性检查; 同时根据检测方法的不同,也可以开发出特定功能的移动代理,像用于审计的移动代理,用于检查系统调用序列的移动代理,用于数据挖掘的移动代理,由这些功能单一的移动代理共同完成对主机的多方位保护。当检测到有攻击发生时,向控制台发送警报消息。
  在每个网段内选择一台主机,在所选定的主机上派发收集网络行为信息的信息收集移动代理,用来检测整个网段的网络行为。数据包级的收集代理负责从网络中抓取数据包,作为检测代理的检测数据。这需要把主机的网卡设置为杂收模式,收集整个网段内的所有数据包。检测代理会携带一些攻击特性,对收集的数据包进行分析,如果分析的数据与攻击特性匹配,系统就认为发生了入侵,向控制台中心发送警报信息,如果需要的话生成新的代理收集更多的数据。当有新的攻击出现时,用户可以开发出携带新的攻击特性的检测代理,加入到系统中,而不需要系统重新初始化,不影响系统的正常运行,这增强了系统的扩充性。在实现系统模型时,数据包级的收集代理根据协议把收集的网络数据包分派到不同的队列中,有三个队列。相应的,检测代理也按协议类型检测不同的数据包。比如,有检测TCP的检测代理,有检测UDP的检测代理,有检测ICMP的检测代理。不同的检测代理从不同的队列中读取数据包作为检测对象。这样使检测任务并行运行,这样就加快了数据包的分析速度,大大降低了丢包现象的发生。所以,在开发检测代理时,它所携带的攻击特性必须是针对相应的协议的,当然这需要对攻击特性按照类型进行分类,开发相应的检测代理。
  
  模型的特点
  
  ● 平台无关性 移动代理采用与平台无关的语言,这样的程序可以跨平台运行。在这里笔者建议选用Java语言作为平台无关语言。另外,移动代理体系都建立了与移动代理相配套的平台无关的通信协议。通过这些协议,代理之间无需建立直接的通信连接,而是利用虚拟机提供相应的消息服务,简化消息传递的操作。在这个基础上更容易的开发异构平台上的应用系统。
  ● 易扩充性 可以开发新的代理加入到系统中,而不需重新初始化系统。
  ● 配置简单 只需要在运行的主机上安装运行环境即可。
  ● 移动性 在传统的构架中,代理是固定在特定的主机上的。工作时,需要将得到的数据发送给上一级处理器,或者其他代理。这样会需要一个比较复杂的通信过程。而移动代理则可以在运行期间直接进行主机间的迁移,就是说可以从一个场地采集所需要的数据并处理之后,不终止进程而直接迁移到另一台主机上继续运行,保留了原来进程的数据段和堆栈。这样,极大了简化了数据的处理过程,从而使数据的可操作性和全局性有了根本的改变。
  ● 分布的灵活性 移动代理运行在整个分布式系统中,而不是固定在某一个特定的位置。这样,一旦需要,它可以将自己或者所需要的其他移动代理直接发送到所需要的主机现场,进行本地操作,提高了操作的灵活性,同时也消除了传统代理间通信时对复杂通行协议的依赖性。
  ● 多代理合作 多代理合作是移动代理的一个重要特性。也就是说,通过虚拟机系统的通信机制,可以实现多个代理之间的合作。这种合作有多种模式,相同的代理之间互相协作,可以防止系统和代理的失效。一旦代理失效,其他代理可以采取措施,通过承担起失效代理的任务或者启动新的代理的办法来进行失效弥补。另外,异种代理之间也可以进行互补性合作,多个不同功能的代理协作完成共同目标。这样,有利于将总体功能模块化,减少单个代理所完成的功能,从而降低代码的复杂度,缩短调试过程。利用这个特性,可以进一步增强代理的可靠性。
  随着网络技术的普及、发展及网络安全的倍受重视,网络入侵检测技术研究将会提到一个新的高度。而移动代理在入侵检测技术中的应用是一项新兴技术,有着重要的价值。本文中分析的模型是一种基于移动代理的入侵检测系统模型,采用检测主机数据和检测网络数据相结合的方式,消除了传统入侵检测系统模型的诸多缺点和不足。尽管把移动代理技术应用到入侵检测技术中来,会加强检测的智能性,并且有很强的使用优势,但移动代理技术毕竟是一个新的技术,由于其技术上的有限性,其实现过程将会有一定的难度,但其未来的前景将是美好的。
  链接:什么是代理技术
  “代理”并非一个新名词,早在二十世纪八十年代人工智能就已提出这一概念,虽然并没有统一的定义,但是却有区别于一般软件程序的基本特征。代理的定义为: 在特定环境中能够连续并自主地工作的软件实体,它随外界条件的改变而灵活、智能地适应环境。实际上,代理就是在主机上能独立完成一定检测功能的软件单元。该系统采用了层次型结构,运行于主机上的各个代理采集操作系统以及网络活动的信息,单个代理并不能做出任何决断,只是将信息交给传输器。传输器组合从各个代理传入的信息,构造出当时主机所处的状态,从而做出警告判断或者将处理结果传给高层,即监视器。监视器构造出整个网络的状态,然后做出判断。
  移动代理是一种比较新的技术,在大规模、分布式、跨平台的应用中,移动代理拥有独特的优势。将移动代理技术应用到网络入侵检测系统中,可具有这样一些优点: 能实现全局范围内的入侵检测功能,具有清晰的系统结构和良好的可扩展性; 具有优良的可移植性能; 对网络系统和主机资源的占用较低,减少了出现瓶颈的可能。
  代理的基本特征:自治性。这是代理的首要特征.一般程序仅为执行代码,对象包含代码及属性数据,进程则包含代码,属性和线程状态,而代理不但包含进程的组成要素,还具有独立的自我控制能力。它可以在变化的环境中自行决定操作步骤,完成用于要求的服务。
  代理具有不同程度的智能性。它可以用预订的规则执行控制操作,可能具有人工智能自学习推理能力,自适应的确定控制判据,完成用户给定的目标。
  代理具有协同性。可以与用户,系统资源和其他代理互相通信,协调完成任务。特别是在网路环境下,可以通过代理通信语言,和分布于网络不同位置的代理构成多代理系统,提供互操作和互通能力。
  代理还具有定制性。本质上代理是代表某个实体操作的,根据不同实体的要求,可赋予代理不同的属性和逻辑。

猜你想看
相关文章

Copyright © 2008 - 2022 版权所有 职场范文网

工业和信息化部 备案号:沪ICP备18009755号-3