(运筹学与控制论专业论文)ad+hoc网络的入侵检测系统模型研究.pdf_第1页
(运筹学与控制论专业论文)ad+hoc网络的入侵检测系统模型研究.pdf_第2页
(运筹学与控制论专业论文)ad+hoc网络的入侵检测系统模型研究.pdf_第3页
(运筹学与控制论专业论文)ad+hoc网络的入侵检测系统模型研究.pdf_第4页
(运筹学与控制论专业论文)ad+hoc网络的入侵检测系统模型研究.pdf_第5页
已阅读5页,还剩51页未读 继续免费阅读

(运筹学与控制论专业论文)ad+hoc网络的入侵检测系统模型研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 近几年来,移动a d h o c 网络作为新兴的无线通信网络,逐渐吸引了业界的注 意力,成为研究的热点之一。移动a d h o c 网络不需要任何无线基础设施的支持, 节点可以任意移动,具有组网速度快、抗毁自愈能力强等优点,在军事和民用领 域得到越来越广泛的应用。由于移动a d h o c 网络在组成结构上具有脆弱性,使 其在安全方面存在隐患。要建立安全的a d h o c 网络,研究其入侵检测及响应技 术十分必要的,具有重要意义。 本文首先介绍了a d h o c 网络的应用背景、特点和目前该网络在安全方面所面 l 临的问题;其次,介绍了有关a g e n t 的起源、特性以及a g e n t 的分类,对移动a g e n t 本身的安全性进行了讨论,讨论了移动a g e n t 应用于a dh o c 网络入侵检测系统 的优点;然后,研究了入侵检测技术和移动a d h o c 网络结构。在此基础上,进行 了移动a d - h o c 网络入侵检测技术的研究,提出了基于域的移动a d - h o c 网络入侵 裣测系统架构,使域内节点与域网关节点联合进行异常检测和基于路由协议的规 范检测,从而增强网络的安全性;结合移动a g e n t 技术,设计了模型总的结构以 及模型中各个模块的内部结构,并通过案例说明本系统模型的功能与特点;最后 在a g l e t 平台上对模型中的各个模块进行了代码设计 关键字: a dh o c 网络;入侵检测;移动a g e n t a b s t r a c t r e c e n t l y , w i r e l e s sa d h o en e t w o r k sa r eg a t h e r i n gg r o w i n gi nt h ei n f o r m a t i o n t e c h n o l o g yi n d u s t r ya sn e w l ya r i s i n gw i r e l e s sc o m m u n i c a t i o nn e t w o r k s a d h o e n e t w o r k sa r eu s e dm o r ea n dm o t w i d e l yi nm i l i t a r ya n dc i v i l i a na p p l i c a t i o n sd u et o t h er a p i do r g a n i z i n go fn e t w o r k sa n dt h eo u t s t a n d i n ga b i l i t yo fd e s t r u c t i o n - r e s i s t a n c e a n ds e l f - r e c o v e r y t h e r ea r ei n h e r e n tv u l n e r a b i l i t i e st h a ta r en o te a s i l yp r e v e n t a b l e i nm o b i l ew i r e l e s sa d h 0 cn e t w o r k s t ob u i l ds e c u r em o b i l ea d - h o cn e t w o r k s , i n t r u s i o nd e t e c t i o nt e c h n i q u e sn e e dt ob ed e p l o y e d ; f i 硎y p a p e ri n t r o d u c e si m p e i m e n t e db a c k g r o u n d 。c h a r a c t e r i s t i ca n ds e c u r i t y p r o b l e m so fa d - h o cn e t w o r k s s e c o n d l y , p a p e ri n t r o d u c e so r i g m , e h a m a e r i s t i ea n d s o r tr e l a t e dt om o b i l ea g e n t w ea l s od i s c u s st h es e c u r i t yo fa d - h o cn e t w o r k sa n d a d v a n t a g e sw h i c hm o b i l ea g e n ta p p l i e st oi d so f a d - h o en e t w o r k s t h i r d l y , b a s e d o nr e s e a r c h i n gm st e e i m i q u e sa n ds t r u c t u r e so fa d h o en e t w o r k s w ei n t r o d u c ea z o n e b a s e dm o b i l ea d - h o en e t w o r k si n t r u s i o nd e t e c t i o ns y s t e m t h ei d sm a k e su o fz o n en o d e sa n dz o n eg a t e w a yn o d et oi m p l e m e n ta n o m a l y - b a s e da n dc r i t e r i o n d e t e c t i o nb a s e do nr o u t i n gp r o t o e a l b a s e do nm o b i l ea g e n t ,w ed e s i g nw h o l e f x a m e w o r ka n dm o d u l e sc o n f i g u r a t i o n w ei l l u m i n a t e sf u n c t i o na n dc h a r a c t e r so f t h e m o d e lb ye x a m p l e s f i n a l l ym o d u l ec o d e sa 托d e s i g n e d , o nt h eb a s i so fa g l e t e p l a t f o r m , k e yw o r d :a dh o en e t w o r k ;i n t r u s i o nd e t e c t i o ns y s t e m ;m o b i l ea g e n t 2 前言 移动a dh o c 网络作为一种新型的移动多跳无线网络,与传统的无线网络有 着许多不同的特点。它既不依赖于任何固定的基站也不需要集中的管理,而是通 过移动节点问的相互协作、自我组织,来实现网络连接和数据传递。对移动a dh o c 网络的研究发源于军事领域,如战场上坦克之间和海面上舰艇之间的组网,但是 由于其建网方式灵活、配置快捷方便,构造成本较低等优势,使得它逐渐推广于 商业和民用环境之中,如会议数据交换、紧急援救、偏远地区等一些需要临时组 网的应用环境。 正是由于移动a dh o c 网络提供通信的特点,使得应用于有线或者是其它无 线网络的传统安全入侵检测、密钥管理、访问控制等方法对于大型移动a dh o c 网络来说不太适用。所以移动a dh o c 网络相对于其它网络来说,更容易受到攻 击,在安全方面显的更加脆弱。 本文基于w e n k el e e 等人的思想,结合移动a g e n t 技术,邻居行为监视技术, 提出了个基于移动a g e n t 的入侵检测模型。 全文共分为5 章,第一章主要介绍了移动a dh o c 网络相关背景、网络特点、 安全方面面临的问题。第二章主要介绍了有关a g e n t 的知识第三章描述了本文 入侵检测模型总的结构以及各个模块结构。第四章对模型中模块的实现进行了分 析。第五章是对全文工作的总结,以及对后续工作的设想。 论文相关的研究工作得到国家信息产业部项目“安全网管技术”和国家“十 五”“2 1 13 - 程”重点学科项目“信息安全保密技术与相关数学理论研究”的资 助 3 第一章研究的背景 1 1a dh o c 网络介绍 第一章研究的背景 1 1 1a dh o c 网络的背景 a dh o c i l 捌一词来源于拉丁语,是“特别地,专门地为某一即将发生的特定 目标、事件或局势而不为其它的”的意思。这里提出的“a dh o c 技术”所标称 的就是一种特定的无线网络结构,强调的是多跳、自组识、无中心的概念,所以 国内一般把基于a dh o e 技术的网络译为“自组网”,或者“多跳网络”等等 a dh o c 技术起源于2 0 世纪7 0 年代的美国军事领域,它是在美国国防部d a r p a 资助研究的“战场环境中的无线分组数据网( p r n l 玎) ”项目中产生的一种新 型的网络构架技术。d a r p a 当时所提出的网络是一种服务于军方的无线分组网 络,实现基于该种网络的数据通信。后来,d a r p a 又于1 9 8 3 年和1 9 9 4 年分别 资助进行了抗毁可适应性网络( s u r a n s u r v i v a b l ea d a p t i v en e t w o r k ) 和全 球移动信息系统( g l o m o ,g l o b a li n f o r m a t i o ns y s t e m s ) 两个项目的研究,以便 能够建立某些特殊环境或紧急情况下的无线通信网络a dh o c 技术就是吸取了 p r n e t 、s u r a n 以及g l o m o 等项目的组网思想,从而产生的一种新型的网络构 架技术随着移动通信和移动终端技术的高速发展,a dh o c 技术不但在军事领域 中得到了充分的发展,而且在民用移动通信中也得到了应用,尤其是在一些特殊 的工作环境中,比如所在的工作场地没有可以利用的设备或者由于某种因素的限 制( 投入、安全、政策等) 不能使用已有的网络通信基础设施时,用户之间的信 息交流以及协同工作( c o o p e r a t i v ew o r k ) 就需要利用a dh o c 技术完成通信网络 的立即部署,满足用户对移动数据通信的需求。 基于a dh o c 技术的a dh o c 网络是一种临时自治的分布式系统,其终端具有 无中心接入和多跳等特征这些特性使得a dh o c 技术涉及到了0 s 1 分层模型中 的每一个层面研究者已经在媒质接入问题、路由问题、组播路由问题、电能管 理问题、o o s 问题、安全问题、传输层问题等方面发布了相关的研究成果。 4 第一章研究的背景 1 1 2a dh o c 网络的特点 刚刚接触a dh o c 网络的人们容易把a dh o c 网络和其它无线通信网络相混淆, 如蜂窝移动通信网络和无线局域网,而实际上它们是有区别的。移动无线通信网 络包括两种类型的网络,单跳网络和多跳网络。其中蜂窝移动通信网络和无线局 域网是单跳网络,而a dh o c 网络属于多跳网络。与其它通信网络相比,移动a dh o c 网络具有以下特征: 1 网络的自组性。a dh o c 网络可以在任何时刻任何地方构建,而不需要现 有的信息基础网络设施的支持,形成一个自由移动的通信网络。 2 网络的动态拓扑结构。从网络的网络层来看,a dh o e 网络中,移动用 户可以以任意速度和任意方式在网中移动,还有无线发送装置发送功率的变化、 无线信道间的相互干扰、地形因素等影响,节点间通过无线信道形成的网络拓扑 结构随时都会发生变化 3 有限的无线传输带宽无线信道本身的物理特性使a dh o c 网络的网络 带宽相对有线方式要低的多,另外还要考虑无线信道竞争时所产生的信号衰落、 碰撞、阻塞、噪声干扰等因素,这使得实际带宽会更小 4 移动终端的有限性a dh o c 网络中的移动终端内存小、c p u 处理能力低、 所带电源有限使得a dh o c 网络的设计更加困难。 5 安全性差a dh o c 网络是一种无线方式的分布式结构,所以更加容易被 窃听、入侵,遭受网络攻击和拒绝服务等。 6 网络的分布式a dh o c 网络中的移动节点都兼有独立路由和主机功能, 不存在类似于基站的网络中心控制点,节点地位平等,采用分布式控制方式,增 强了网络健壮性。 7 网络的可扩展性不强。由于采用t c p i p 协议中的子网技术使得i n t e r a c t 具有网络的可扩展性,而a dh o c 网络拓扑结构的动态变化使得子网技术所带来的 网络可扩展性不能得到应用 8 单向无线信道的存在。 一 9 生存时间短。组网通常是由于某个特定原因而临时创建的,使用结束后, 网络环境将会自动消失。a dh o c 网络的生存时问相对于固定网络是短暂的 1 1 3a dh o e 网络的安全目标 a dh o c 网络的安全目标与传统网络的安全目标基本是一致的,包括:数据可 5 第一章研究的背景 用性、机密性、完整性、安全认证和抗抵赖性,但是两者却有着不同的内涵。下 面是a dh o c 网络安全目标的具体含义: i 可用性 可用性是指即使受到攻击,节点仍然能够在必要的时候提供有效的服务。可 用性是与网络安全相关的一个关键特性。即使存在拒绝服务攻击的威胁,可用性 也可保证网络服务操作正常并能容忍故障。移动a d h o c 网络中,拒绝服务攻击可 以在任何层次发起。如在物理层、数据链路层,入侵者能够通过填满有限的通信 信道导致网络或服务不可用:在网络层,攻击者可以通过破坏路由协议。从而导致 整个网络不可用。并且,移动a d h o c 网络拓扑的频繁、变化节点间信道的不可靠 也对网络的可靠性提出严峻挑战。 2 机密性 机密性是保证信息不会泄露给未经授权的用户军事情报或用户账号等安全 敏感的信息在网络上传输时必须机密、可靠,否则这些信息被敌方或恶意用户捕 获,后果将不堪设想。路由信息在一些情况下也必须保密,因为这些信息可能被敌 方用来识别和确定目标在战场上的位置。该问题的解决需要借助于认证和密钥管 理机制 3 完整性 完整性保证信息在发送过程中不会被中断,并且保证节点接收的信息应与发 送的信息完全一样如果没有完整性保护,网络中的恶意攻击或无线信道干扰都 可能使信息遭受破坏,从而变得无效。 。 4 安全认证 一 每个节点需要能够确认与其通信的节点身份,同时要能够在没有全局认证机 构的情况下实施对用户的鉴别。如果没有认证,攻击者很容易冒充某一节点,从 而得以获取重要的资源和信息,并干扰其它节点的通信只采用认证通常是不够 的,认证只负责证明某人的身份,因此还需要通过授权来决定某种身份是否被允 许做某些事情。 5 抗抵赖性 抗抵赖性用来确保一个节点不能否认它已经发出的信息。它对检查和孤立被 占领节点具有特别重要的意义,当节点a 接收到来自被占领节点b 的错误信息时, 抗抵赖性保证节点a 能够利用该信息告知其它节点b 已被占领此外,抗抵赖性对 于商业应用中保证用户的利益至关重要。 6 第一章研究的背景 1 1 4k dh o c 网络面临的主要攻击 由于a dh o e 网络自身的组网特点,使得它所受到的安全威胁复杂而且多样。 a dh o c 网络系统可能存在的安全漏洞,可能的入侵行为也是非常复杂的。要设计 针对a dh o c 网络的入侵检测系统,就很有必要对其所受到的攻击进行分析。 攻击行为可按照多种方式进行分类: 。 按攻击性质可分为:被动攻击。共享的开放信道易被窃听,攻击者不发送任 何消息,不破坏协议的操作,仅企图发现有价值的信息,如i p 地址、节点位置 等。由于它对网络流量( t r a f f i c ) 不产生任何改变,通常很难被发现。主动 攻击入侵者主动破坏网络协议、违反安全策略。 按攻击来源可分为:外部攻击,指没有获得c a 认证的网络外节点对网络的 攻击:内部攻击,指来自于内部节点的攻击,其威胁远大于外部攻击,变节 ( c o m p r o m i s e d ) 的节点带有私钥,其b y z a n t i n e 嘲式行为不易被发现。 按所攻击对象可分为:对主机的攻击,类似于有线网络对主机的攻击,但没 有了防火墙的保护,节点直接暴露在攻击面前:对网络的攻击,路由协议是 a d - h o c 的核心协议,安全的路由要求消息的可用性、完整性、保密性、不可 否认性。对基于i p 的网络,i p s e c 为i p v 4 ,i p v 6 提供了安全机制,它对于已建 立路由的两个网络实体提供端一端认证和完整性保障,但对路由协议不提供 保护在中闻节点能直接访问消息内容的网络,还需建立路由安全机制。攻 击行为可能发生在路由的建立阶段,也可能发生在数据传递阶段。 一 攻击还可分为对应子不同协议层次:对数据链路层、物理层协议的攻击。其 攻击手法比较简单,无外乎频繁的发送c t s 帧、推算随机后退指数时间槽来加重 冲突、破译并模仿其他节点的姒c 地址;对路由层协议的攻击却是异常复杂和 诡秘,攻击者常使用下述手法进行多种多样的攻击:修改,攻击者修改经过它的 路由控制消息或数据分组:模仿,攻击者使用其他节点的m a c 地址或i p 地址向 网络发射消息;伪造,攻击者生成假的路由消息并向网络发送 对路由层协议的攻击是对a dh o c 网络安全的最大威胁主要有以下几个方 面; 1 网络路由重定向 指攻击者瞄准路由信息的交换,在路径中产生黑洞,生成路由环,延伸源路 由,分片网络的一类行为动态源路由协议d s r ( d y n a m i cs o u r c er o u t i n g ) 在 控制消息中包含了完整的路由。而这个路由缺乏完整性校验攻击者可直接修改 源路由,插入节点延伸路由,或插入根本不存在的节点造成路由表溢出。黑洞攻击 7 第一章研究的背景 等t硼是针对目的节点序列距离矢量协议d s d v ( d e s t i n a t i o ns e q u e n c e dd i s t a n c e v e c t o rr o u t i n g ) ,按需距离矢量法a d o v ( a dh o co nd e m a n dd i s t a n c ev e c t o r r o u t i n g ) 等协议而产生的攻击恶意节点声称它拥有到达目的节点的最短路由 ( 最少的跳步数) 以便可截取到该节点的数据包。 一 s - - 讯阻c 卅h 暖s + 一+ b 山i g 枷- 矗 一 ( a )( b ) 图1 1 路由重定向攻击 如图1 1 所示,s 、x 为源、目的节点,m 是恶意节点,当m 和c 收到b 转发的 s 到x 的请求建立路由的r r e q ( r o u tr e q u e s t ) ,c 向b 广播一个具有到x 的路由 的响应消息r r e p ,而m 并没有到x 的路由或即使有到x 的更长路由,但m 响应一 个比c 的目的顺序号更大的p r e p ( r o u t er e p l y ) ,则c 的响应会被忽略掉,导致b 的消息发往m 。恶意节点还可以修改跳步数( h o p ) 字段,将其置为0 可以增加加入 路由的机会,置为无穷大则增大了不被包含到路由的机会。 d s r ,a o d v 都存在被攻击产生路由环的漏洞。对d s r 的攻击是在其路由维护 阶段当有节点发现路径断开时沿反向路径依次回溯,路径上节点检查路由 c a c h e 中是否有可替代的路由,若有则用c a c h e 中的路由代替此时恶意节点可 以向路由表中插入路由环对a o d v 的攻击如图1 2 所示 a + + da + + da + + d lmlllll b + + c e + xbc + + b + xb + + ce + + x mm 图1 2 产生路由环的攻击示例 b 有消息发往x ,m 可侦听到a ,b 。c ,d 交换的r r e q ,r r e p 消息。开始m 模仿a 一 向b 发送r r e p ,其跳步数小予c 向b 发送的,然后m 模仿b 向c 发送p r e p , 其跳步 数小于e 向c 发送的,这时就形成了路由环。这种攻击可单独也可合谋完成。 2 拒绝服务( d o s ) 拒绝服务是指破坏路由的建立:或侵占过多的网络资源:或丢弃、延迟、修 改、选择性转发数据分组的一类导致服务无法完成的行为。最简单的d o s 攻击手 法是伪造假的路由发现请求消息( 使用了假的i d 或不存在的目的地址) ,发给其 他节点。图1 1 ( b ) 说明了对d s r 协议的一种d o s 攻击,恶意节点m 删除路由表中 的d ,而c ,x 不相邻,致使传输失败若干次重传后,c 将发送路由错误消息回s 。 但m 丢弃了该消息,使s ,x 间的通信无法完成。对a o d v 协议的一种d o s 攻击过程 如图1 1 ( a ) 所示,m 伪造假的路由错误消息,并不断向b 发送,使c 的正常响应无 8 第一章研究的背景 帆会到达玩致使s 取消源路径,导致s 与x 间的通信失败。 3 隧道( t u n n e l i n g ) 隧道攻击又称为虫洞攻击( n o r mh o l e ) 。两个或更多节点合谋通过封装技术, 压缩它们之间的路由,减少它们之间的路径长度,使之似乎是相邻节点。隧道攻击 的一个示例如图1 3 所示。当m 1 收到s 的r r e q 消息,将该消息封装到数据分组 中。并通过路径m l a b c 1 1 2 传递到m 2 ,m 2 分解出r r e q 并发送给x ,这样似 乎存在一条s m 1 一m 2 一x 的路径,与真实路径s a b c x 相比,假的路径长 度更短。 s 代理标识变量 类和代理标识变量主要实现对类和代理的描述。主要包括:c l a s s n a m e ,表示 当前类的类名;d e s c r i p t i o n ,描述当前对象的可选参数:c 1 a s s s v e r s i o n ,表示类 的版本号;c l a s s i d ,表示一个用于唯一区分对象的标识符;c h i l d r e n i d s ,表示所 有孩子节点的登记;p a r e n t i d ,表示父节点标识符。 路径变量 、路径变量主要定义一些所需的路径。主要包括:c l a s s g i r 。表示系统中存放 类的路径;t m p d i r ,表示临时路径 状态变量 状态变量定义了一些状态和消息主要包括:s t a t u s ,用以保存代理的当前 状态;a g m e s s a g e ,储存代理的相关消息:i n i t s t a t u s ,用以保存初始化状态值, 可以被r e s e t _ s t a t u s 调用以恢复状态的初始值;i n t i m e s s a g e ,用以保存初始化 消息值,可以被r e s e ts t a t u s 调用以恢复消息的初始值; 基类提供的主要方法有: 4 l 第四章模型的设计与系统仿真 对象构造方法 对象构造方法主要负责代理的初始化工作,它完成的主要功能是设置版本参 数、设置对象变量、装载配置消息、激活日志、存储本地状态和消息以及初始化 工作。它所涉及的主要函数有n e w 和i n i t 在n e w 函数中调用i n i t 函数进行本 地初始化,i n i t 在初始化成功时返回t r u e ,否则返回f a l s e 。基类的各级子类通 过重载i n i t 函数来达到进行自身特定的初始化操作目的。 消息处理方法 消息处理方法负责向上或者向其他代理发送m e s s a g e 消息和解释处理 m e s s a g e 消息,涉及的主要函数有p r o c e s si n p u t 、s e n dr e p o r t 、s e n d m s g t o 、 r e l a y m e s s a g e o 、p r o c e s s i n p u t 负责在输入句柄上等待接收消息,并针对不同的 的消息采取相应的操作,不同类型的代理操作的实现也不同。s e n d r e p o r t 负责 向上层实体发送消息。s e n d m s g t o 可以向任意实体发送消息r e l a y m e s s a g e 负责 对消息的转发 代理运行方法 代理运行方法主要负责对代理的运行进行启动、设置和停止,主要函数包括 r u n 、r e s t a r t 、p a u s e 、c l e a n u p r u n 负责对实体的运行进行启动;r e s t a r t 重新启动代理;p a u s e 根据需要进行体眠;c l e a n u p 终止代理的运行 变量处理方法 变量处理方法主要负责变量的设置和读取。主要函数包括i n i t p a r a m e t e r s 、 g e t p a r a m e t e r s 、s e t p a r a m e t e r s i n i t p a r a m e t e r s 用以对变量进行初始化操作 “g e t p a r a m e t e r s 用于获取变量信息s e t p a r a m e t e r s 用于设置变量信息。 状态处理方法 状态处理方法主要负责处理状态消息。主要函数包括i n i t s t a t u s 、 g e t s t a t u s 、s e t s t a t u s i n i t s t a t u s 用于对代理状态进行初始化操作g e t s t a t u s 用于获取代理的状态信息。s e t s t a t u s 用于设置代理的状态心信息 4 3 消息类的实现 消息类负责对消息进行管理,包括消息类型的定义以及消息的转换、判断等。 下面是实现基类的主要代码: p a c k a g em a i d s : i m p o r tc o g li b 札a g l e t : p u b l i cc l a s si d s m e s s a g ee x t e n d sm e s s a g e 第四章模型的设计与系统仿真 p r o t e c t e ds t r i n gk i n d : p r o t e c t e ds t r i n gs u b k i n d : p r o t e c t e ds t r i n gs o u r l d : p r o t e c t e ds t r i n gd e s t i d : p r o t e c t e dl o n gt i m e s t a m p : p r o t e c t e dl o g m e s s a g el m s g : p r o t e c t e dn e t d a t a m e s s a g en d m s g : p r o t e c t e da n a l y s t m e s s a g ea n m s g : p r o t e c t e dr e p o r t m e s s a g er e m s g : p r o t e c t e ds t a t u s m e s s a g es t m s g : 继承m e s s a g e 类中的其它变量 p u b l i co b j e c tf r o m s t r i n g ( o b j e c ta r g ,s t r i n gk i n d ) p u b l i co b j e c tt o s t r i n g ( o b j e c ta r g ,s t r i n gk i n d ) p u b l i cs t r i n gg e t s u b k i n d ( m e s s a g em s g ) r e t u r nm s g s u b k i n d : 继承m e s s a g e 类中的其它方法 在消息类中,变量k i n d 表示消息类型,它决定了消息后续域的含义:变量 s u b k i n d 表示消息子类型,由消息类型决定:s o 二工d 表示发送消息的代理的i d ; d e s 七i d 表示接收消息、的代理i d ;七i m e s t a m p 为时间戳,用于表示消息产生 的时间。此外,系统还定义了五种具体的消息参数类,其中l m s g 表示日志消息 参数类;n d m s g 表示网络数据包参数类:a n m s g 表示分析消息类:r e m s g 表示报告消 息类:s t m s g 表示状态消息类 消息类提供的主要方法有: t o s t r i n g 的功能是将消息转化成一个字符串以使其能够通过网络传输: f r o m s t r i n g 为t o s t r i n g 的逆函数,根据给定字符串和消息类型,将一个字 第四章模型的设计与系统仿真 符串转换为相应格式的的消息: g e t k i n d 函数是由m e s s a g e 继承而来的,它的功能是获取消息的类型 g e t s u b k i n d 的功能是获取消息的子类型: 除此之外,消息类还继承了a g l e t 系统消息类的方法。 4 4 分析类的实现 分析类是所有分析a g e n t 的基类,通过从这个类继承,分析a g e n t 的设计者 可以将注意力集中在检测算法本身,而不必考虑如何与其他代理进行通信,如何 发送和接收消息等一些分析a g e n t 的共性问题。 图4 2 分析检测流程 分析类由基类继承而来,除了继承基类的变量之外,分析类还有一些满足自 身功能的变量: l o n gc h e c k p e r i o d :用于保存c h e c k 函数进行检测的时间间隔,通过 s e t p e r i o d 函数可以对其进行修改: 分析类继承了基类的方法,主要增加了一个检测分析方法: p u b l i cc h e c k ( ) 其中分析类的通用算法如图4 2 所示: 第四章模型的设计与系统仿真 4 5 收集类的实现 收集类用来实现数据的收集,除了继承基类的变量之外,收集类还有一些满足自 身功能的变量: s t r i n gl o g f i l e n a m e :日志文件名参数,用于记录需要提取的日志文件的 名称。 收集类继承了基类的方法,并增加了以下与数据收集相关的方法: p u b l i cv o i dc o l l e c t ( ) :通用的数据收集主循环,在主循环中处理来自 代理的命令,从数据源读取数据。数据收集的通用算法如图4 3 所示。 图4 3 数据收集流程 p u b l i cv o i ds e t p a t t e r n ( ) :接收和存储代理发送的数据过滤的模式说明: p u b l i cv o i di n i g l o g0 :数据获取机制的初始化函数,用于从日志文件 第四章模型的设计与系统仿真 中读取数据,并将数据划分为各个域: p u b l i cv o i dd a t a f o r m a t0 ( ) :数据格式化函数,用于将从数据源获取来 的数据进行响应的格式化处理以方便分析代理进行检测分析。此函数由各个不同 的数据收集代理进行重载完成 4 6 管理类的实现 管理类的代理主要负责如下的功能: 代理管理:对本地节点中的代理进行管理,负责本地代理的初始化、代理的 运行和终止操作以及代理的查询功能: 代理请求管理:接受来自其他远程代理的请求,并执行相应的操作; 连接管理:监听来自远程代理的连接,负责建立、保存和使用这些连接。 p a c k a g em a i d s : i m p o r tc o i n i b m a g l e t 宰: i m p o r tj a v a n e t u r l ; i m p o r tj a v a u t i l 木: p u b l i cc l a s sc o n 七r o l l e re x t e n d si d s b a s e 变量: 在一个端口上建立监听t c p s o c k e t ,以便其它主机进行连接 p r o t e c tt c p s o c k e tc o n n s o c k e t : c o n n s o c k e t 监听的端口 p r o t e c ti n tc o n n p o r t : l 丧法: ; 用于启动实体,装载用于启动代理的一些参数 p u b l i ci n v o k e 0 l 生成代理的实例 p u b l i ci n s t a n t i a t e ( ) l 运行代理 p u b l i cc h r u n o 1 终止代理 p u b l i cc h s t o p ( ) f , 第四章模型的设计与系统仿真 给指定的代理发送消息 p u b l i cs e n d m e ;g t o of 给指定的代理转发消息 p u b l i cr e l a y m s g ( ) 判断接收的消息是否发送给自己 p u b l i ci s f o r m e o 4 7 日志类的实现 日志类实现了系统的日志功能它的主要功能是文件操作,将需要记录的信 息分类并记录到文件中 这个类通过l o g r e g i s t e r0 方法来注册它要产生的日志类别,即将该类别的 目志存入什么文件或处理例程。a g l e t i d 和a g l e t t y p e 确定日志文件名或处理例 程,其中缺省的日志文件为a g l e t i d 1 0 9 ,缺省类别为g e n e r i c p a c k a g em a i d s : i m p o r tc o r n i b m a g l e t 宰: p u b li cc l s s si d s l o ge x t e n d si d s b a s e 日志文件名 s t r i n gf i l e n a m e : 日志类型 s t r i n gt y p e : 日志产生的时间 、p r o t e c t e dl o n gt i m e s t a m p : 鼹产名 s t r i n gu s e r n a m e : ? 事件i d s t r i n ge v e n t i d : 事件来源,产生该事件的程序 s t r i n ge v e n t s o u r c e : 计算机名 4 7 第四章模型的设计与系统仿真 s t r i n gc o m p u t e r n a m e : 类型,事件严重性指示器 s t r i n gp r i o r i t y k i n d : 事件种类 s t r i n ge v e n t k i n d : 事件描述,问题的文本解释和纠正措施的建议 s t r i n ge v e n t d e s c r i p : 事件数据 b y t e 】g v e n t d a t a ; 本条数据的长度 i n tl e n ; 注册要产生的日志类别,即把指定类型的日志写入名为f i l e r n a m e 的文件中 p u b l i cl o g r e g i s t e r ( s t r i n gt y p e ,+ s t r i n gf i l e n a m e ) ) 产生一条消息,并写入注册声明的文件 p u b l i cl o g of 用于打开日志文件 , p u b l i cl o g a c t i v a t e ( s t r i n gt y p e ) l 关闭相应类型的日志 p u b l i cl o g d e a c t i v a t e ( s t r i n gt y p e ) 。 打开所有的日志 p u b l i cl o g a c t i v a t e f u l l ( s t r i n gt y p e ) p u b l i cl o g d e a c t i v a t e f u l l ( s t r i n gt y p e ) f 设置记录的格式 v o i ds e t l o g v a l u e ( 1 0 n gs e c ,l o n gu s e c ,i n tc a p l e n ,i n tf e n ) t h i s s e c = s e c : t h i s u s e c = u s e c : t h i s c a p l e n = c a p l e n : t h i s 1 e n = l e n : j 设置记录数据 v o i ds e t l o g d a t a ( b y t e d a t a ) t h i s e v e n t d a t a = d a t a : 4 8 第四章模型的设计与系统仿真 ) 日志的字符串表示形式 p u b l i cs t r i n gt o s t r i n g ( ) r e t u r ns t r i n g e v e n t d a t a 4 8 a g e n t 安全问题及其解决方案 由于系统是将入侵检测系统的数据提取和分析等关键功能封装在移动 a g e n t 当中,利用各移动a g e n t 的迁移以及相互之间的通信与协作来完成系统功 能,提高检测效率,因此,必须有可靠的安全保护机制来保证移动a g e n t 的安 全性,使得基于移动a g e n t 的入侵检测系统本身不成为攻击者进行入侵的突破口, 不引入新的安全隐患。 4 8 1 移动a g e n t 的安全需求主要包括了以下的方面 移动a g e n t 数据的保密性和完整性: 移动a g e n t 的数据只是对于可信任主机是公开的,不可信任的主机不能访问 移动a g e n t 的数据,而且移动a g e n t 的数据不可用作恶意用途且其内在的逻辑性 ( 如数据流的顺序) 不能被改变。移动a g e n t 本身不能阻止恶意的a g e n t 平台对其 代码、状态和数据的篡改,但是应该能够采取措施来检测这些篡改 资源对于移动a g e n t 的可用性及访问控制: 特定的移动a g e n t 只能访问特定的资源,而且必须保证移动a g e n t 可以访问 到其需要的资源。 移动a g e n t 迁移中的保护: 当移动a g e n t 从一台主机向另一台主机迁移时,必须保证移动a g e n t 不能被 窃听以及其数据的完整。 移动a g e n t 必须能够让a g e n t 平台认证它的身份: 这样a g e n t 平台才能决定移动a g e n t 可以拥有的权限。同样,a g e n t 平台也 应该可以让移动a g e n t 认证其身份,这样移动a g e n t 才能确认其是否是可信任的, 才能决定是否可以透漏敏感数据给该平台 第四章模型的设计与系统仿真 4 8 2 解决方案 系统采取了以下四种安全措施用来保证a g e n t 的安全: 认证 系统中每一个域都持有一个r s a 公私钥对,公钥发布给其它域,私钥则安全 地存放在本域中的移动a g e n t 平台中。对于跨域的认证,私钥在发送、接收和通 信时起着身份标识的作用,系统根据移动a g e n t 所移动的域来认证a g e n t 。系统 认为同一个域内的移动a g e n t 系统相互信任,系统每个域中的a g e n t 系统共享同 一个密钥,域内系统通过这个密钥,利用m a c ( m e s s a g ea u t h e n t i c a t i o nc o d e ) 来认证不同域中的a g e n t 系统。如果认证通过,前来通信的a g e n t 系统内的用户 a g e n t 及其凭据( 由a g e n t 系统签发给用户a g e n t ) 被一起发送,接收方正是通过 此凭据来判断它的权限。 数据完整性的检查 移动a g e n t 的数据只是对于可信任主机是公开的,不可信任的主机不能访问 移动a g e n t 的数据,而且移动a g e n t 的数据不可用作恶意用途且其内在的逻辑性 ( 如数据流的顺序) 不能被改变为了保证移动a g e n t 的数据完整性,系统采用认 证的方式,发送方利用密钥,计算m i c ( m e s s a g ei n t e g r i t yc o d e ) ,然后和其他 信息一起发送,接收方通过m i c 和密钥来判断数据有没有被篡改 备份 系统定期或不定期地对移动a g e n t 的状态数据进行备份。一旦针对入侵检测 系统本身的攻击被发现,受到入侵的移动a g e n t 将立即被终止运行,并且移动 a g e n t 系统的生命周期服务将产生一个同类型的移动a g e n t ,并从最近一次的状 态数据备份中读取状态信息进行恢复,这样可以将损失减小到最小程度。 访问控制 为了保证资源对于移动a g e n t 的可用性及访问控制,特定的移动a g e n t 只能 访问特定的资源,而且必须保证移动a g e n t 可

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论