一个基于移动Agent的分布式入侵检测模型

文章正文
发布时间:2024-08-30 07:18

摘要:在分析了入侵检测系统的基本状况和移动代理的特点后,指出了目前入侵检测系统存在的不足,提出了基于移动代理的分布入侵检测模型(MADIDS)。在这个入侵检测系统中,引入了移动代理技术,使入侵检测系统能够跨平台使用;将基于主机和基于网络的检测结合起来,配置多个检测部件处理,各检测部件代理侧重某一方面的工作;并且将所有配置信息存放在数据库中,实现了数据和处理的分离、数据收集、入侵检测和实时响应的分布化。 关键词:入侵检测 分布式 移动代理 随着计算机技术尤其是网络技术的发展,计算机系统已经从独立的主机发展到复杂的、互连的开放式的系统,这给人们在信息利用和资源共享上带来了无与伦比的便利。与此同时,人们又面临着由于入侵而引发的一系列的安全问题的困扰。传统的安全防御策略(如访问控制机制、加密技术、防火墙技术等均属于静态的安全防御技术)在某种程度上无法满足越来越苛记得的安全需求。正是由于静态的安全技术本自身存在着不可克服的缺点,从而引出了入侵检测这一安全领域的新课题的诞生。入侵检测是动态安全技术的最核心技术之一,是防火墙的合理补充,是安全防御体系的一个重要组成部分。 1 入侵检测系统概述 1.1 入侵及入侵检测(Intrusion Detection) 入侵是指任何企图破坏资源的完整性、保密性和有效性的行为,也指违背系统安全策略的任何事件。入侵行为不仅仅指来自外部的攻击,同时也包括内部用户的未授权行为,有时内部人员滥用他们特权的攻击是系统安全的最大隐患。 入侵检测是指通过从计算机网络或计算机系统中的若干关键点收集信息并对其进行分析,从中发现网络或系统中是否有违反安全策略的行为和遭到攻击的迹象,同时作出响应。入侵检测系统(IDS:Intrusion Detection System)是实现入侵检测功能的一系列的软件、硬件的组合,它是入侵检测的具体实现。入侵检测系统就其最基本的形式来讲,可以说是一个分类器,它是根据系统的安全策略来对收集到的事件/状态信息进行分类处理,从而判断出入侵和非入侵行为。 1.2 入侵检测系统的分类 按获得原始数据的方法,入侵检测系统可分为基于网络的入侵检测系统和基于主机的入侵检测系统两种。 通常,基于主机的IDS可监测系统、事件和Window NT下的安全记录以及UNIX环境下的系统记录。当有文件发生变化时,IDS将新的记录条目与攻击标记相比较,看其是否匹配。如果匹配,系统就会向管理员报警并向别的目标报告,以采取措施。 基于网络的入侵检测系统使用原始网络包作为数据源。基于网络的IDS通常利用一个运行在随机模式下网络的适配器来实时监视并分析通过网络的所有通信业务。 1.3 现有入侵检测系统的不足 (1)入侵检测系统不能很好的检测所有的数据包。基于网络的入侵检测系统难以跟上网络速度的发展。截获网络的每一个数据包,并分析匹配是否具有某种攻击的特征、需要花费时间系统资源。现在很多网络都是100M甚至千兆网络,网络速度的发展远远超过了数据包模式分析技术发展的速度。 (2)攻击特征库的更新不及时,绝大多数的入侵检测系统都是适用模式匹配的分析方法,这需要攻击特征库的特征值应该是最新的。但现在很多入侵检测系统没有提供某种如“推技术”的方法来时刻更新攻击特征。在如今每天都有新漏洞发布、每天都有新的攻击方法产生的情况下显然不能满足安全需求。 (3)检测分析方法单一。攻击方法的越来越复杂,单一的基于模式匹配或统计的分析方法已经难以发现某一些攻击。现在几乎所有的入侵检测系统都使用了单一的分析方法。 (4)不同的入侵检测系统之间不能互操作。在大型网络中,网络不同的部分可能使用了不同的入侵检测系统,但现在的入侵检测系统之间不能够交换信息,使得发现了攻击时难以找到攻击的源头,甚至给入侵者制造了攻击的漏洞。 (5)不能和其他网络安全产品互操作。入侵检测不是安全的终极武器,一个安全的网络中应该根据安全政策使用多种安全产品。但入侵检测系统不能很好的和其他安全产品协作。比如,一个网络中每两个小时自动运行一次漏洞扫描程序,如果他们不能够互操作,入侵检测系统将每两个小时产生一次警报。 (6)结构存在问题。现在的很多入侵检测系统是从原来的基于网络或基于主机的入侵检测系统不断改进而得来的,在体系结构等方面不能满足分布、开放的要求。 2 在入侵检测系统中的应用移动代理 2.1 移动代理及其特点 移动代理与普通程序的最大不同就是可以在运行期间在虚拟机之间迁移而无意中止程序的执行。通过在各个操作系统中运行移动代理的虚拟机,可以将硬件和操作系统的平台细节屏蔽,使代理获得一个统一的界面。在这个基础上,代理可以在各个平台之间自由移动。 2.2 将移动代理应用于入侵检测的优点 (1)移动逻辑计算,而不是数据,从而减少网络流量。以往的入侵检测系统,大多是分散收集数据包,而后交由控制中心分析是否有攻击出现,这种检测系统将增加网络负担,加大了流量。移动代理的使用是对RPC(远程过程调用)思想的一个扩展,远程代码保留在本地,只需要传递函数参数,意味着在各节点收集的大量初始信息可以在本地处理,这样就增加了入侵检测系统的效率。 (2)负载平衡。如果在一个中心接点分析数据包,将会大大增加中心加点的计算工作量,是入侵检测系统的一个瓶颈,效率降低,检测处理时间多。根据RPC的思想,移动代理可将较大的计算工作分布在多个处理器上并行执行,从而避免了瓶颈问题的出现。 (3)动态可扩展性。一个长期有效的入侵检测系统必须具有可扩展性,跟踪入侵方法和入侵技术,及时扩充对应的检测技术。代理是自治的,在一定程序上是松散捆绑的,虽然句柄之间有一定的联系,它们之间相互是可以独立操作的。因此,即使系统很复杂,在不影响其他代理正常工作的情况下,单个的功能模块也能够被删除、更改,甚至改进。可见,这种系统也内含着一种容错机制。 由此可见在入侵检测领域,移动代理技术有着一般代理所不可比拟的优势。本文的目的就是提出一个基于移动代理技术的入侵检测模型,并对其进行分析设计。 3 基于移动代理的分布式入侵检测系统MADIDS 3.1 系统框架 MADIDS是Mobile Agent-based Distributed Intrusion Detection System(基于移动代理的分布式入侵检测系统)的缩写。MADIDS系统检测框架如图1所示。从图2中,可以看出系统层次虽然可以是多层,但功能级别只有两层:协调中心级和检测目标级。 检测目标级的功能主要是针对需要安全保护的主机进行入侵检测,不是对于所有的主机都设定,避免不必要的资源占有,减少投资。 协调中心级主要负责对本机所在网段内的网络进行监听,并检测可能的入侵行为,并且同本层的其它机器和上层机器代理进行交互,协同检测可能的入侵。本级的设置通常入于局域网络的中心,通过对网络接入点的数据进行监控,所以能够对于所有来自外部和发向外部的数据进行监控。正是由于它的这个条件,所以它的功能对于来自外部的攻击行为能够更好的进行检测。 最上层的协调中心处在入侵检测系统的最上层,所有下层无法判断的入侵行为在此处进行汇总后,形成对于入侵行为的整体认识,可以更加方便、准确和全面的实现入侵检测。它的处理结构与其他层次的协调中心结构相似,只是本地的入侵检测功能主要是对来自网络外部的数据流进行分析。并且由于来自外部的网络状态难于进行统计和分析,所以主要采用模式匹配的方法进行处理。同时通过与来自下一层协调中心的协同处理来实现实际的入侵检测。 这种分层次的检测框架不同于传统意义上的集中式入侵检测系统。这里的入侵检测系统虽然是分层次的,各层的级别与作用都不一样,但较高层次作用不是集中控制与分析,而是协调中心,是为了便于管理、检测复杂入侵和系统自身的安全。集中式入侵检测系统中采用单个主机对整个网络中的数据流量进行分析,寻找可能的入侵行为。这种技术优点是:数据的集中处理可以更加准确地分析可能的入侵行为。缺点是:由于数据的集中处理,这个检测主机成了网络安全的瓶颈。它出现故障或遭受攻击,则整个网络的安全就会消失。同时这种方式数据的采集对于大型的网络也很难实现,只能采用类似于防火墙的方式,在网络接入点采集网络内外的出入数据,故无法实现内部的安全检测。 MADIDS系统不是单纯的主机检测或是网络检测,也不是单纯 集中式检测或分布比检测。而是将这些技术结合起来,并且与网络的分层结构相匹配,采用一种与代理技术相融合的基于分层的网络入侵检测系统。代理技术应用到入侵检测的每一层,移动代理主要用于检测分布式攻击。 3.2 系统功能模块构成 如图2,MADIDS的主要部件有:检测部件、协调部件和集成部件。其中,检测部件可以脱离其它两个部件而单独工作,此时,移动代理失去功能。 检测部件的功能是截获网络原始数据包、查看日志采用相应的检测方法进行分析,并采取相应的响应措施,以减少协调部件的工作量及系统网络传输的影响。检测部件包括分析检测器、响应器、数据存放器(数据库)数据收集器和本地管理器五个部分。 协调部分在检测部件不能确定是否发生入侵的情况下发挥作用,协调各检测部件进行工作以便跟踪检测有关入侵,并能进行较复杂的数据分析,来识别分布式入侵检测。此外,代理的移动也是在协调部件的安排下进行活动的。协调部件由移动代理管理器、部件状态显示器、数据存入器和分析器构成。 集成部件的主要作用是和机器上已安装的IDS配合,充分利用原有的IDS的资源,提高检测效率。集成部件由词法分析器、配置管理器、数据存放器和格式转换器构成。集成部件将其他IDS系统的检测入侵记录转换成检测部件所能识别的格式,便于分析检测。 系统中功能模块可能是由具有特定功能的独立的应用程序、静态agent、移动代理、小型的系统或者一个数据库系统来构成。在具体部署时,这些部件可能在同一台计算机上,也可以各自分布在一个大型网络的不同节点。总之,各功能模块都是MADIDS的一部分。模块之间借助代理平台提供的通信机制实现进行信息交换,这样既简化了模块之间的数据交换的复杂性,使得各功能模块非常容易地分布在不同主机上,也给系统提供了一个扩展的接口。 3.3 MADIDS中代理构成 MADIDS是一个具有多代理协同工作的分布式入侵检测系统。在MADIDS系统框架中,Agent处于系统最底层,是最基本的结构单元,进行着最初的数据收集与数据处理等各种工作,是最具灵活性的组成部分,MADIDS系统框架的可扩展性的一个方面就在于此。集成部件中的agent负责吸取其它IDS的检测信息。检测部件是每台监控主机上各Agent的总控实体,负责主机级的入侵检测。协调部件是被保护网络上各主机检测部件的协调实体,它们还可以相互级连起来,形成层次结构,负责网络级的入侵检测,它也有agent完成基本的功能。

3.3.1 数据收集Agent 数据收集agent有三类:主机日志收集代理、网络数据收集代理和其它IDS数据收集代理。它们各自是一个独立运行实体,监控主机某一方面并负责向相应分析器报告异常行为或者可疑行为。例如,有这样一个简单的Agent,它检查telnet连接数量,当在一定时间内有大量的连接(可以基于某个阈值来定)发生时,就认为是可疑事件发生。这个Agent就会向其上级分析器发出一个报告。但是Agent本身无权直接产生警报。通常情况下,对一到多个由Agent产生的报告,分析器会向用户发出一个警告。依靠对所控制的各个事件Agent的报告进行综合,检测部件可以了解到所在主机系统当前的安全状态,而协调部件可以了解到所监控网络的安全状态。 事件收集Agent之间并不直接进行通信。相反,Agent将所有的消息都发送给其控制者——分析器,由分析器根据Agent的配置信息来决定将如何处理这些信息。 对Agent本身而言,它可以使用以下技术来增强其处理能力: 1.Agent可以使用遗传程序设计技术,这样随着使用时间的增加,Agent本身可以逐渐学习,逐渐积累经验,从而可以进化。 2.Agent可以使用状态保持技术来记忆每次运行时获得的信息,这样可以使Agent能够检测到持续很长时间的入侵行为,也能够检测以行为模式的改变。由于在基于主机的异常入侵检测中,使用了历史行为统计模式,而为了更好地适应用户的全法行为模式,就需要将历史行为统计模式进行更新,而Agent在运行中所检测的事件正是更新统计数据的绝好材料。 3.3.2 移动代理(mobile agent) mobile agent由协调部件管理,可以在系统内向下层或者在同一层次移动,作用是跟踪入侵路径和收集信息。 移动代理跟踪入侵路径,并且确定它的起点,即入侵用户留下被目标主机日志记载的有入侵嫌疑的地方。 协调部件、检测部件和移动代理以下列方式协同工作:首先,检测部件检测到一个嫌疑事件,并将其报告给协调部件,要求协调部件跟踪处理;协调器件利用ATP(agent transfer protocol)协议分派一个移动代理负责跟踪到目标系统;这个移动代理自动在每一台机器之间进行迁移,为此不需要协调部件引导而能独立跟踪入侵。 当某一个目标系统在短时间内被发现有我个嫌疑事件时,协调部件将分派多个移动代理到目标系统中收集所有的嫌疑事件的信息。单独的一个移动代理不会对入侵作出判断,也无法确定是否发生了入侵,多个移动代理结合起来才能够供协调部件作出判断。由于移动代理可以转移到安装了agent执行环境中的任何系统中,因此它能够智能地进行入侵路由跟踪。 3.3.3 代理之间的消息协作 代理之间通讯的协作消息按照传播的方式不同,可以分为点对点消息和广播消息。点对点消息用于低层代理向高层代理提供的信息,低层代理由于时间和空间的局限性,根据现有的信息无法判断是否是攻击,就将可疑事件提交给高层代理。例如,当攻击者进行FTP Bounce攻击时,由于这种攻击是在三台机器间进行的,单台机器上的检测代理是无法确定攻击的,必须同时提交给高一级的代理才能作出判断。由于某些攻击(或者潜在的攻击)在空间上或时间上具有一定的连续性,当某个代理检测出攻击时,可以让其它的代理获得先验知识,来提高检测效率,这时代理就会用广播消息来通知其它代理。例如攻击者攻击某个网络时,往往是先扫描该网络中的主机所开启的服务,从中找突破口。当一个代理探测出是端口扫描时,可以将消息广播给同一级的代理,使它们能提前预防,当攻击者再扫描时,无法知道系统开启的服务。 入侵检测作为一种信息安全措施,在现阶段的中国还处于初步研究和探索阶段。本文就是在这一社会背景下开展研究和探索的。经过研究、探索、分析和设计后,本文对agent这一新兴的技术在入侵检测系统中应用的优势进行探讨,提出了较完整的MADIDS的体系结构,并将这一技术引入MADIDS。MADIDS系统能够满足分布式环境下对入侵检测系统的要求,能检测分布式攻击,这也是目前入侵检测系统发展的一个方向。 尽管采取了先进了技术和平台,但是正如攻击技术不断发展一样,入侵的检测也会不断更新、成熟。同时,网络安全需要纵深的、多样的防护。MADIDS系统还需要在检测方法上进一步改进,提高检测的准确率和检测速度,加强系统自身安全性。另外,同防火墙、网络管理工具结合,构成立体式的防卫城墙也是MADIDS进一步研究的方向。

首页
评论
分享
Top