当前位置:首页 期刊杂志

应用移动代理的入侵检测系统(IDS)的分析与设计

时间:2024-08-31

康延新,吴生武

(新疆公安厅,乌鲁木齐 830000)

0 引言

随着网络技术和网络规模的不断发展,针对网络和计算机系统的攻击已经屡见不鲜,目前的网络安全问题已经成为人们关注的焦点。由于传统的安全防护手段如防火墙等本身容易受到攻击,且对于内部网络出现的问题经常束手无策,而且,防火墙采用的静态的被动的策略不能够完全满足安全需求,因此很多组织致力于提出更多更强大的主动策略和方案来增强网络的安全性,其中一个有效的解决途径就是入侵检测。

入侵检测系统(IDS,intrusion detection system)采用的是一种较为主动的技术,可以有效地弥补防火墙的不足,能有效地发现入侵行为和合法用户滥用特权的行为。下面简要介绍了入侵检测系统,在分析现有的入侵检测系统的基础上,通过对分布式入侵检测系统的模型的研究分析,对入侵检测模型中基于用户行为的IDS子系统进行了详细设计。

1 入侵检测技术

入侵检测技术是一种主动保护网络和系统安全的新型网络安全技术,是目前网络安全体系结构中的重要组成部分。它从计算机系统和网络中采集、分析数据,查找非授权访问和可疑行为,并采取适当的响应措施来阻挡攻击,降低可能的损失。

对一个成功的入侵检测系统来讲,它不但可使系统管理员时刻了解本机和网络系统(包括程序、文件和硬设备等)的任何变更,还能给本机和网络安全策略的制订提供指南,更为重要的一点是,它应该管理、配置简单,从而使非专业人员非常容易地获得计算机网络安全。而且,入侵检测的规模还应根据网络威胁、系统构造和安全需求的改变而改变。入侵检测系统在发现入侵后,会及时作出响应,包括切断网络连接、记录事件和报警等。无论IDS基于何种机制,根据Purdue大学的COAST组所提出的,它们都应该能够满足下面的要求:

a)无人监控下的持续运行(Run Continually);b)容错(Fault Tolerant);c)抵抗颠覆(Resist Subversion);d)载入最小开销(Minimal Overhead);e)可配置性(configurable);f)可自适应性(Adaptable);g)扩展性(Scalable);h)提供良好的降级服务(Graceful Degradation of Service);i)可动态重配置(Dynamic Reconfiguration)。

现有入侵检测的体系结构有整体系统、层次系统、分布式系统、基于代理的系统。无论什么结构的入侵检测系统,第一步必须是获得数据源。数据源的选取取决于所想检测的内容,为了检测攻击,入侵检测系统必须能够发现攻击的证据,必需能够获得攻击的真实的数据。入侵检测利用的信息一般来自以下四个方面:系统日志和网络日志文件,目录和文件中的不期望的改变,程序执行中的不期望行为,以及物理形式的入侵信息。获得数据源后,接着就要对数据源进行分析和建模。目前主要有两种方法用来解决入侵检测问题,即基于异常检测方法与误用入侵检测方法。在IDS实现系统中,常采用两种方法相结合的方式。常用的异常检测建模方法有:免疫系统的方法、协议验证方法、檔检测技术、感染检测方法、神经网络检测方法和优化过滤方法等。常用的误用检测建模方法有:符号匹配方法及简单模式匹配方法、专家系统方法、状态转移分析方法、遗传算法和数据挖掘等。

所设计的基于用户行为的入侵检测系统引用的是数据挖掘建模方法,使用数据挖掘技术建立入侵检测模型的目的是发现能用于描述程序和用户行为的系统特性一致使用模式集,之后这个模式集由引导方法处理形成识别异常和误用概要的分析检测引擎。数据挖掘是从海量的资料中发现隐藏的不是很明显的事实,从而判断出入侵踪迹。

2 基于移动代理的入侵检测技术

移动代理(Mobile Agent)是近年来提出的新的分布式计算模式,是传统的Client/Server分布计算模式的扩展,随着计算机网络的发展,特别是Internet应用的急速增长和新型网络应用的出现,Client/Server模式的缺点日益明显,基于这种情况,移动代理技术被提出来,它集软件、通信、分布系统的技术于一身,弥补了传统的Client/Server技术的不足,有着巨大的应用前景。

移动代理是代理中的一种,是代码、数据及执行语境的软件包,可以在执行过程中,有目的地、自治地在网络中移动,利用与各结点资源局部交互而完成分布任务的软件实体,能在同构或异构网络主机之间自主地进行迁移。换句话说,程序能自主地决定什么时候迁移到什么地方。它能在程序运行的任一点挂起,然后迁移到另一台主机上,并接着这一点继续往下执行。这个程序能够在任意点中断自己的执行,把自己传输到另一台机器上,在新的机器上从它中断的地方继续执行。在每一台机器上,它与服务代理和其他资源交互以完成它的任务。

移动代理技术给分布式计算系统带来诸多优点,它能够减轻网络负担,缩短网络等待时间,协议封装、异步自治执行、动态自适应、异构环境运行,具有很强的健壮性和容错能力。下面分析与IDS有关的移动代理的优点。

a)减轻网络负担(Reducing Network Load)

目前IDS面临的最迫切问题是要处理的数据量太大,这些数据有些来自网络流量监视,有些来自主机审计日志。一般地,IDS在本地可以处理这些数据的大部分,但处理抽象出来的结果仍要被送到网络的其他地方等待进一步处理,并最终被送到中央控制器,由中央控制器对网络所有节点发送来的抽象结果进行全面评估。而对网络而言,抽象处理过的数据量仍是很大的通信负担。代理可以减少这类数据传输,为减轻网络负担提供途径。基于移动代理的数据查找和分析方法把原本需要在网络间传输的大量数据在本地进行处理,减少了网络流。原先是数据在网络中传输,现在是移动代理被派到数据所在的机器上。也就是说,是把计算移向数据,不再是把数据移向计算。传输代码量小于数据量的代理,可以减轻网络负担。

b)缩短网络等待时间(Overcoming Network Latency)

为了防御对网络的恶意攻击,IDS除了要检测和诊断网络入侵,还要提供正确的响应。尽管中央控制器能够发送消息给网络中的节点,向它们发出如何响应某种特定攻击的指令,但这种方法的问题是中央控制器需要响应整个网络中发生的大量事件,这样会造成单点瓶颈。如果网络节点与中央控制器的连接速度很慢,就难以提供实时的指令。移动代理可以帮助提高实时响应的效率,因为它们能够离开中央控制点,直接在远端执行任务,直接对大量事件进行响应,从而减少了与中央控制点的通信量。此外,移动代理分布在网络的各个地方,所以可以利用多条路由选择的优势避免通信连接失败的问题。

c)异步自治执行(Executing Asynchronously&Autonomously)

IDS体系结构由一台或几台中心主机(即中央控制器)协调,需要有可靠的通信路径连接到网络传感器(Sensors)和中间处理节点。中央控制器起到的这种关键作用使它自身成为攻击的主要目标之一。移动代理框架允许IDS在一个中央控制器失灵或通信连接失败时能够继续工作。因为与消息传递、RPC不同,一旦某个移动代理从它的归属平台(Home Platform)发送出来,无论它的归属平台是否存在、网络连接是否正常,移动代理都能够自治地运行。

d)动态自适应(Adapting Dynamically)

在网络中,由于网络配置、拓扑结构、流量等随时间不断发生变化,网络测试和监视的内容也需要随之变化。网络中的每个计算节点要求不同的测试,这些测试随时间不断变化,有些测试不再需要,有些新的测试需要加入。移动代理提供了一个通用的自适应计算模型,在网络和主机环境改变时,移动代理能够被排除、收回、复制或进入睡眠。例如,当检测某种攻击有更好的移动代理检测器出现时,就取代旧的版本。如果某个移动代理的误替率太高,就会被取消或者中止。移动代理可以感知执行环境的变化,自动对这些变化做出反应。例如,如果主机平台的计算负担太重,性能无法达到Agent服务的期望,Agent和它的数据能够迁移到另一台能满足计算要求的机器上。

e)异步环境运行(Naturally Heterogeneous)

大型企业网一般由许多不同的计算平台和计算设备构成,移动代理一个最大的好处就是能在应用层实现互操作。移动代理可以独立于计算和传输层、只依赖于执行环境运行,为异构系统的无缝集成提供了最佳的解决方法。也就是说,只要装上移动代理平台,移动代理在理论上能在任何网络节点运行。

f)健壮性和容错能力(Robust&Fault-tolerant Behavior)

移动代理对外界环境的动态反映能力为建立健壮的、容错能力强的分布式系统提供了便利。当一台主机关机时,在它上面执行的所有Agents都会被警告,并为Agents留出时间,让它们保存现有的执行状态,确保转移到其他主机能继续原先的运行。移动代理对无连接运行的支持和分布式的设计模型,消除了单点崩溃问题,为移动代理提供了容错特性。

3 应用移动代理的入侵检测系统设计

移动代理应用于IDS,可以实现主机间的动态迁移,从而改变传统的将数据传送给程序(计算)的方式,改将程序(计算)传送给数据;此外,还能具有智能性、平台无关性、分布的灵活性、低网络数据流量、协作性等优点。

应用移动代理的入侵检测系统是用移动代理来建立入侵检测系统,整个系统是建立在移动代理平台基础上的。具体的系统的体系结构,如图1所示。

图1 入侵检测系统体系结构

从图1中可以看出,移动代理入侵检测系统包括检侧管理器,Agent守护进程,传感器,学习综合Agent,信息收集与学习Agent,跟踪Agent,遍历Agent。

4 系统的工作流程

系统的工作流程有以下8个步骤。

a)每个目标节点的传感器对网络数据和主机数据时刻进行监视,通过某些特殊途径传送给本节点的信息收集和学习Agent;b)信息收集与学习Agent在目标节点上收集与入侵可疑行为有关的内容,并进行学习,并决定是否迁移到其他节点进行信息收集和学习;c)信息收集与学习Agent完成任务后,将结果传回给管理节点上的学习综合Agent;d)检测管理节点根据返回结果,决定是否发出跟踪Agent进行入侵跟踪;e)如果跟踪Agent己到达入侵可疑行为源节点,或再也无法移动,就返回检测管理器中,以便检测管理器做出相应的响应(如调用反击模块等);f)检测管理器中的学习综合Agent根据对信息收集与学习Agent传回的内容进行分析与综合,并将结果提交给检测管理器;g)检测管理器定期发出遍历Agent遍历它所管辖的网段,同时收集各个目标节点的信息,带回检测管理器交由学习综合Agent进行分析与综合,并将结果提交给检测管理器;h)检测管理器根据学习综合Agent提交的结果进行入侵检测和判断。如果判断发生了入侵,那么系统将采取一定措施进行防范,并且对入侵产生的后果进行处理,即转入预替及实时响应阶段。

5 系统层次结构及相关实现技术

依据功能将系统划分为三个层次,系统层次图如图2所示。

图2 系统层次结构图

②入侵预警及响应

本系统将主动响应和被动响应模式有机结合了起来。

a)主动响应

主动响应的一种就是自动反击,由跟踪Agent来获得入侵的来源,如果可以确定入侵的真实来源,则对该攻击源实施反击,反击功能通过检测管理器自动调用单独的反击模块完成。如果跟踪Agent不能判断入侵的真实来源,那么可以让安全管理人员进行用户驱动响应,由管理人员来判断真实的入侵源并做出处理。

b)被动响应

被动响应是那些只向用户提供信息而依靠用户去采取下一步行动的响应。

6 结语

(1)底层——数据源获取

数据源的获取和预处理是由传感器和遍历A-gent来完成的。传感器位于每一个目标节点上,而遍历Agent则由管理节点根据需要发出。移动代理入侵检测系统的数据源分为三类,一种是网络数据,一种是系统调用,一种是系统日志。网络数据由传感器中的网络数据采集模块来获得,系统调用序列是由传感器中的系统调用采集模块来获得,系统日志数据主要由通过传感器中的系统日志监控模块来获得。

(2)中间层——数据分析

数据分析是入侵检测系统中最为核心的问题,由于数据源有网络数据、系统调用、系统日志,相应的数据分析层也由三个分析模块组成:网络分析模块,主机系统调用分析模块,用户行为分析模块。

(3)上层——人机界面与入侵响应

在完成了对系统安全状况的分析并对入侵行为做出判断以后,接下来的任务就是让有关人员和部门了解问题的存在并采取合适的措施,这个阶段称为预警及实时响应阶段。

①用户分类

本系统针对安全管理人员的不同等级和不同需要对入侵分析结果进行合理裁剪后提供服务。因此,首先将安全管理人员进行分类,分为系统安全专家、系统管理员及安全调查员。

在研究现有的各种入侵检测系统的基础上,结合现在新兴的移动代理技术,对将移动代理应用到入侵检测系统(IDS)中提出了设计思想和模块分析。

[1] 胡昌振.网络入侵检测原理与技术[M].北京:北京理工大学出版社,2006.

[2] FEINSTEIN B D.The Intrusion Detection Messageexchange Format[EB/OL].(2005-07-31)draft-ietf-idwg-idmef-xml-14.txt.

[3] 蓝天明.基于神经网络的入侵检测技术的研究[D].南昌:南昌大学,2006.

[4] (美)迪尔(Deal,R.A).Cisco路由器防火墙安全[M].陈克忠,译.北京:人民邮电出版社,2006.

[5] Protocol Anomaly Detection for Network-based Intrusion Detection[EB/OL].[2014-02-21].http://www.sans.org/rr/intrusion/anomaly.php.

[6] 陈健,张亚平,李艳.基于流量分析的入侵检测系统研究[J].天津理工学院学报,2008.

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!