入侵检测的智能应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
入侵检测的智能应用
移动代理是一种比较新的技术,在大规模、分布式、跨平台的应用中,移动代理拥有独特的优势。将移动代理技术应用到网络入侵检测系统中能实现全局范围内的入侵检测功能,具有清晰的系统结构和良好的可扩展性,减少了出现瓶颈的可能。
网络技术的发展在给我们带来便利的同时也带来了巨大的安全隐患,尤其是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语言中