(计算机应用技术专业论文)基于联动的网络入侵防御系统的设计与实现.pdf_第1页
(计算机应用技术专业论文)基于联动的网络入侵防御系统的设计与实现.pdf_第2页
(计算机应用技术专业论文)基于联动的网络入侵防御系统的设计与实现.pdf_第3页
(计算机应用技术专业论文)基于联动的网络入侵防御系统的设计与实现.pdf_第4页
(计算机应用技术专业论文)基于联动的网络入侵防御系统的设计与实现.pdf_第5页
已阅读5页,还剩53页未读 继续免费阅读

(计算机应用技术专业论文)基于联动的网络入侵防御系统的设计与实现.pdf.pdf 免费下载

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

文档简介

武汉科技大学 硕士学位论文第l 页 摘要 随着网络应用在全球的日益普及和网络攻击技术的不断发展,网络安全技术得到各界 的广泛关注。单独使用入侵检测、防火墙技术等网络安全解决方案已经不能满足当前的需 要,网络防御开始朝着全面、立体保护网络的方向发展。本文所涉及的入侵防御系统 ( i n t r u s i o np r e v e n t i o ns y s t e m ,i p s ) 是近几年新兴的一种主动防御入侵的系统,它综合 多种检测防御机制,弥补单一安全技术的不足,形成了动态的网络安全体系。 本文主要研究实现了一种基于联动的网络入侵防御系统。首先,根据网络安全的现状 总结了网络入侵防御系统的研究意义和发展方向,论述了与入侵防御相关的入侵检测和防 火墙技术的概念及分类,讨论了各自的优缺点。同时,分析了入侵防御系统的特点、种类、 方法及其面临的主要问题和发展方向。深入研究l i n u x 防火墙实现框架和扩展技术。然后 根据系统的设计原则,设计基于联动的网络入侵防御系统框架,并阐述了系统涉及的关键 技术问题。接着设计和实现网络入侵防御系统的各个模块,给出模块的算法流程以及一些 重要数据结构,在包过滤模块中对防火墙规则集进行优化。最后,总结本文所做的工作, 针对系统存在的不足,指出需要改进和完善的方面。 关键词:网络安全;入侵检测;防火墙;入侵防御系统 a b s t r a c t w i t ht h es p r e a do fn e t w o r ka p p l i c a t i o na n dt h ec o n t i n u o u sd e v e l o p m e n to fn e t w o r k a t t a c k t e c h n o l o g y , a l ls o c i a lc i r c l e sh a v ep a i dc l o s ea t t e n t i o nt o t h en e t w o r ks e c u r i t yt e c h n o l o g y n e t w o r kp r e v e n t i o nb e g i n st oa p p e a rm o r ec o m p r e h e n s i v ea n ds o l i db e c a u s et h es e p a r a t e n e t w o r ks e c u r i t ys o l u t i o nc a n ts a t i s f yt h en e e d i p si sar i s i n ga c t i v ep r e v e n t i o ns y s t e mw h i c h i n t e g r a t e sm u l t i p l et e c h n o l o g i e ss u c ha si n t r u s i o na n dp r e v e n t i o nt e c h n o l o g i e st om a k eu p f o ra d e f i c i e n c yo fas i n g l es e c u r i t yt e c h n o l o g y t h e r e f o r ei p sb e c o m e s ad y n a m i cn e t w o r ks e c u r i t y s y s t e m t h em a i nf o c u s e so ft h i st h e s i sa r et h er e s e a r c ha n di m p l e m e n t a t i o n o fi p sb a s e do n i n t e r a c t i o n f i r s t l y , i p s sr e s e a r c hs i g n i f i c a n c ei sc o n c l u d e da c c o r d i n gt ot h ec u r r e n ts i t u a t i o no f n e t w o r ks e c u r i t y c o n c e p t i o n s ,c l a s s i f i c a t i o n sa n dr e l a t i v em e r i t so fi n t r u s i o nd e t e c t i o na n d f i r e w a l la r ea n a l y z e d i p s sf e a t u r e ,c l a s s i f i c a t i o na n dm e t h o d sa rer e s e a r c h e d ,a tt h es a m et i m e t h ep r i m a r yp r o b l e m sa n df u t u r et f e n da r ed i s c u s s e d l i n u xf i r e w a l l sf r a m e w o r ka n de x p e n d t e c h n o l o g ya r er e s e a r c h e d t h e nt h ef r a m e w o r ka n db a s i cf u n c t i o nm o d u l e so fa n i d sw h i c h b a s e do ni n t e r a c t i o no fi d sa n df i r e w a l la r ep r o p o s e da c c o r d i n g t ot h es y s t e md e s i g np r i n c i p l e s i n t h i s p a r t o ft h et h e s i s ,t h ek e yt e c h n o l o g i e s a lee l u c i d a t e d ,f o l l o w e db yd e s i g na n d i m p l e m e n t a t i o no fe a c hm o d u l e t h em a i na l g o r i t h mp r o c e s sa n di m p o r t a n td a t as t r u c t u r e o f e a c hm o d u l ea r ed e s c r i b e di nd e t a i l r u l es e ti so p t i m i z e di nt h ep a c k e tf i l t e rm o d u l e f i n a l l y , s u m m a r yi s 舀v e n ,a n da c c o r d i n g t ot h es h o r t a g eo ft h i sn i d s ,s o m es u g g e s t i o n sf o ri m p r o v i n g a l ea l s op o i n t e do u t k e yw o r d s :n e t w o r ks e c u r i t y ;i n t r u s i o nd e t e c t i o n ;f i r e w a l l ;。n e t w o r k i n t r u s i o np r e v e n t i o n s y s t e m 武汉科技大学 研究生学位论文创新性声明 本人郑重声明:所呈交的学位论文是本人在导师指导下,独立进行研 究所取得的成果。除了文中已经注明引用的内容或属合作研究共同完成的 工作外,本论文不包含任何其他个人或集体已经发表或撰写过的作品成果。 对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 论文作者签名: 奎塑 日期: 加君弓撂 研究生学位论文版权使用授权声明 本论文的研究成果归武汉科技大学所有,其研究内容不得以其它单位 的名义发表。本人完全了解武汉科技大学有关保留、使用学位论文的规定, 同意学校保留并向有关部门送交论文的复印件和电子版本,允许论文被查 阅和借阅,同意学校将本论文的全部或部分内容编入有关数据库进行检索。 论文作者签名: 指导教师签名: 日 期: 武汉科技大学硕士学位论文第1 页 1 1 研究背景介绍 第一章绪论 在全球范围内,网络的应用日益普及,网络已逐渐成为各国在信息时代的基础设施, 并在政治、经济、军事、文化及生活等方面对人们产生深远的影响。在我国,互联网应用 正处于高速发展的阶段,根据中国互联网信息中心( c n n c ) 2 0 0 7 年7 月的一次调查报告显 示n 1 ,截至2 0 0 7 年6 月,中国网民人数已经达到1 6 2 亿,仅次于美国2 1 1 亿的网民规模, 位居世界第二。比2 0 0 6 年年末新增了2 5 0 0 万网民,与2 0 0 6 年同期相比,网民数一年内 增加了3 9 0 0 万人。网络与生俱来的开放性、交互性和分散性的特征使得人们快速、灵活 地交流和分享信息的需求得到满足,因此越来越多的企业、机构、甚至家庭将自己的内部 网络与互联网相连,以获取互联网上丰富的信息资源或服务,并对外发布内部信息。这充 分利用了互联网开放性和共享性的优势,但从安全角度看,过分自由的网络用户和网络应 用给互联网带来严重的安全隐患。网络安全成为网络发展中无法忽视的问题,网络安全防 护也受到世界各国包括普通民众的重视。 目前,从全球来说,各种网络安全产品很多,如:公钥基础设施乜1 、鉴别与认证b 1 、 防火墙h 1 、入侵检测系统畸1 、防病毒网关1 、虚拟专用网v p n 口1 、物理隔离卡阳1 等产品,其 中以防火墙和入侵检测系统应用最为广泛。但是面对日益严重的网络安全问题,传统的安 全解决方案一防火墙和入侵检测系统都存在不足。 防火墙通常放置在网络的入口处,能阻止外部对内部未公开的主机和端口服务的攻 击,限制对受保护网络的非法访问,实现对内部网络的保护。但是防火墙只能对数据报进 行粗颗粒的检查,不能对数据报含有的应用层信息进行过滤,黑客可以通过防火墙允许的 访问途径入侵网络。 入侵检测系统是解决黑客入侵的有效方式之一,它可以检查所有数据包中携带的应用 层信息,因此能及时发现有威胁的访问。但入侵检测系统有两方面的不足:第一是它检测 到入侵事件后只能采取记录、报警、日志等形式报告入侵,不能采取更有效地及时阻止入 侵行为的措施;第二是入侵检测系统容易产生误报和漏报1 问题,给网络管理员带来很多 困扰。 由于以上所讨论的传统解决方案的不足,人们提出了入侵防御系统的概念。入侵防御 系统( i n t r u s i o np r e v e n t i o ns y s t e m ,i p s ) ,是近年来的新生事物,概念还没有完全统 一,在此定义入侵防御系统( i p s ) 为任何能够检测已知或未知攻击并能够自动阻止攻击的 硬件或软件的设备n0 。i p s 是一种主动、积极的防范和阻止入侵的系统,它部署在网络的 进出口处,当检测到攻击企图后,它会自动地将攻击包丢掉或采取措施将攻击源阻断。i p s 作为一门新兴的网络安全产品,涉及到多种网络安令技术的思想和理论以及各种产品间的 协作,如防火墙、操作系统身份认证、力i l 密、漏洞 i 描、入侵检测、蜜罐等。i p s 通常采 第2 页武汉科技大学 硕士学位论文 用多种防御机制,能够精确、实时的阻断深层入侵行为,因此在研究意义上,入侵防御技 术具有重要的学术和应用价值。 1 2 国内外研究概况 入侵防御系统( i p s ) 的概念首先是由n e t w o r ki c e 公司在2 0 0 0 年首次提出的,并于 同年的9 月1 8 日推出了b l a c k i c eg u a r d 。这是一个串行部署的i d s ,能够直接分析网络 数据并实时对恶意数据进行丢弃处理。g a r t e r 对于i p s 进行了进一步的解释:“i p s 必须 结合多个算法阻塞恶意行为,可以基于特征阻塞已知攻击,同时还可以利用防病毒和i d s 使用的那些方法一致支持策略、行为和基于异常的检测算法。这些算法必须在应用层操作, 作为对网络层防火墙处理的补充。它也必须具备区别攻击事件和正常事件的智能。 2 0 0 2 2 0 0 3 年这段时期i p s 得到了快速发展。在国外市场越来越多的安全产品中具有 i p s 的功能,由于其定位不同,逐渐形成三大集团n 。第一集团是入侵检n 保护厂商。他 们对入侵检n 保护技术有深入研究,比较典型的厂商和产品代表有i s s 公司的p r o v e n t i a 系列、m c a f e e 公司的i n t r u s h i e l d 系列产品。第二集团是集成网关厂商。他们基于防火墙 的网关访问控制能力,在网关中加入多种功能模块,其中很重要的一个就是i p s 功能。代 表产品有n e t s c r e e n 公司的i d p 产品、s o n i c w a l l 公司的i p s 产品、安氏公司的l i n k t r u s t b o r d e rp r o t e c t o r 产品、启明星辰与港湾网络合作开发的天清汉马防火墙等。第三集团是 负载均衡厂商。他们基于对t c p i p 协议的七层分析,在其负载均衡产品中加入对某些攻 击的防御模块,比如t o p l a y e r 公司的a t t a c km i t i g a t o ri p s 系列产品、r a d w a r e 公司的 s y n a p p 产品。 相比较之下国内的完全拥有自主知识产权的国产i p s 并没有如此迅猛的发展。国内由 于对这类安全产品接触的较少、认知不同,对于攻击误报、串接方式、运行效率等问题还 存在疑问,一直处于争论观察期。直到2 0 0 5 年9 月才由绿盟科技推出了国内安全厂商的 第一款具有自主知识产权的i p s 产品n2 l 冰之眼网络入侵保护系统i c e y en i p s 。随着 2 0 0 6 年大量的国外i p s 产品进入中国市场,国内再一次掀起关于对于i p s 的研究和讨论热 潮。 纵观i p s 国内外的研究现状和持续观察讨论可以看出,入侵防御系统对于当今网络安 全防护非常重要,它的研究前景十分广阔。 1 3 课题研究内容及目标 本课题目标是在l i n u x 下使用入侵检测技术以及l i n u x 防火墙n e t f i l t e r 框架构建一个 基于联动的网络入侵防御系统。 课题的主要研究内容有: 1 研究分析网络入侵防御系统。 2 研究入侵检测技术。 武汉科技大学 硕士学位论文第3 页 3 分析研究s n o r t 软件及其插件技术。 4 研究l i n u x 防火墙技术,分析其实现机制,进而研究其扩展机制,并对防火墙规则集 进行优化。 5 参照利用上述内容,对网络入侵防御系统进行总体规划和设计,对联动模块的实现进 行详细探讨。 第4 页武汉科技大学硕士学位沦文 2 。1 动态安全模型 第二章网络入侵防御的相关安全技术 信息全球化给人类社会带来深刻变革的同时,也不可避免得带来许多安全问题。网络 安全技术在网络中攻与防的矛盾中成长,网络安全模型也从最初的二维、静态模型向多维、 动态模型发展【1 。1 。 动态网络安全理论模型从1 9 9 5 年开始逐渐形成,在此基础上国际互联网安全系统公 司( i s s ) 提出p p d r 模型,其模型如图2 1 所示。p p d r 模型由安全策略( p o l i c y ) 、防护 ( p r o t e c t i o n ) 、检测( d e t e c t i o n ) 和响应( r e s p o n s e ) 组成。p p d r 模型以安全策略1 5 。 为中心,在整体的安全策略的指导下,利用各种网络安全工具( 如防火墙、操作系统身份 认证、加密等手段) 的同时,利用检测工具( 如漏洞扫描、入侵检测系统等) ,在发现问 题时及时做出响应将系统调整到“最安全”和“风险最低”的状态,从而形成一个完整的、 闭环的动态安全体系。本文就是在此模型的基础上设计实现的。 安伞防护 p r o t e c t i o n 安全检测 d e t e c ti o n 安伞响应 r e s p o n s e 安全策略 p o l i c v 图2 。1p p d r 模型 p p d r 模型体现了防御的动态性和适时性川:它强调系统安全的动态性和管理的持续 性,以入侵检测、漏洞评估和自适应调整为循环来提高网络安全。在时问特性卜,该模型 引入实时检测的概念。p p d r 模型有严格的理论体系,有数学模型作为其论述基础。在模型 中有两个典型的数学公式: p t ( d t + r t )公式( 1 1 ) e t = ( d t + r t ) 一p t( p t d e v ,r t 一 u d s t d e v ,i p _ f o r w a r d f i n i s h ) ,执行i p _ f o r w a r d _ f i n i s h 后由i p _ s e n 函数转入数据包发送流程。 数据包发送流程:首先由i p _ r o u t e _ o u t p u t 函数决定路由信息,包括转发设备和目的 路由器,然后重建s k b ,并按照路由返回的结构设置好新i p 头,由于本地发送的报文可能 来自多个不同的高层协议,所以设置i p l o c a l o u t 钩子函数的函数调用点就比较多,这 些函数调用n f h o o k 宏后进入公用的i p 层发包函数i p s e n d ,检查s k b 数据长度是否超过 目的设备的m t u ,如果超过,则调用i p f r a g m e n t 进行分片,否则进入i p _ o u t p u t f i n i s h , 在该函数中调用n f _ h o o k ( p f _ i n e t ,n f _ i p l o c a l o u t ,s k b ,n u l l ,r t 一 u d s t d e v , i p _ f i n i s h o u t p u t ) ,最后将该数据包发送到网卡缓冲队列中。 通过以上的数据包处理流程的分析,可以看出n e t f i i t e r 和i p 报文的处理既紧密结 合,同时结构又完全独立,n e t f i l t e r 可以完全从协议栈中剥离,而不象原来的i p c h a i n s 散落在内核代码里,这是n e t f i l t e r 灵活高效的保证之一。 3 5n e t f i l t e r 的扩展技术 3 5 1 钩子函数的注册 n e t f i l t e r 框架在设计上充分考虑了呵扩展惟,它本身没有提供任何过滤报文的代码, 第2 0 页武汉科技大学硕士学位论文 但是允许防火墙开发者向某个协议栈的一个或多个h o o k 点注册,挂载自己编写的内核模 块到n e t f i l t e r 上,实现对数据包的操作,开发者无须过多涉及协议栈的改动洲。 挂载一个内核模块的过程就是注册一个数据包处理( h o o k ) 函数,这一过程需要调用 n f _ r e g i s t e r h o o k 函数注册新生成的n fh o o k o p s 结构,以便将该结构加入 n f _ h o o k s n p r o t o n f _ m a x _ h o o k s 数组的相应链表中。 n f _ r e g i s t e r h o o k 函数原型为:i n tn f _ r e g i s t e r h o o k ( s t r u c tn f _ h o o k o p s * r e g ) 。 参数中n f _ h o o k o p s 数据结构( 在i n c l u d e 1 i n u x n e t f i l t e r h 中定义) 非常关键,该数 据结构的定义如下: s t r u c tn f _ h o o k o p s s t r u c t1 i s t h e a dl i s t : 术此下的值由开发者填充木 n f _ h o o k f n * h o o k : i n tp f ; i n th o o k n u m : ah o o k 以升序的优先级排序木 i n tp r i o r i t y : 其中1 i s t 用于维护n e t f i l t e rh o o k 的列表,不是用户在注册h o o k 时需要关心的重 点,它总是初始化为 n u l l ,n u l l ) 。h o o k 成员是一个指向n f _ h o o k f n 类型的函数的指针, 该函数是这个h o o k 被调用时执行的函数,n f h o o k f n 原型同样在 i n l u d e l i n u x n e t f i l t e r h 中定义。p f 用于指定协议族,有效的协议族在 i n l u d e 1 i n u x s o c k e t h 中列出,但对于i p v 4 一般使用协议族p f i n e t 。h o o k n u m 这个成 员用于指定安装的这个函数对应挂载点,对应i p v 4 其值为表3 1 中第一列列出的值之一。 最后,p r i o r i t y 这个成员用于指定在执行的顺序中,这个h o o k 函数应当在被放在什么地 方。对于i p v 4 ,可用的值在i n l u d e li n u x n e t f il t e r i p v 4 h 的n f _ i p h o o k _ p r i o r i t i e s 枚举中定义。 防火墙开发者的工作就是编写不同h o o k 点的处理函数n f h o o k f n ,然后填充 n f h o o k o p s 结构,并用n f _ r e g i s t e r h o o k 将其注册到指定的h o o k 上。其中n f h o o k 的 原型为: t y p e d e fu n s i g n e di n tn f h o o k f n ( u n s ig n e di n th o o k n u m , s t r u c ts k b u f f * * s k b , c o n s ts t r u c tn e t d e vic e 木i n , c o n s ts t r u c tn o1 【l ( 、vic e * o u t , i n t ( * o k f 、n ) ( s tr i i ( 1 s kb u f f 术) ) : 武汉科技大学硕士学位论文第2 1 页 n f h o o k f n 函数的第一个参数用于指定表3 1 中给出的挂载点中的一个,其余参数对 应的情况可参见n f h o o k 宏的参数说明。下面给出一个示例: h :i c 安装一个丢弃所有到达的数据包的n e t f i l t e rh o o k 函数的示例代码 蠢 # d e f i n e k e r n e l # d e f i n em o d u l e # i n c l u d e # i n c l u d e # i n c l u d e # i n c l u d e 序用于注册我们的函数的数据结构木 s t a t i cs t r u c tn fh o o ko p sn f h o : 序注册的h o o k 函数的实现木 u n sig n e din th o o k _ f u n c ( u n sig n e din th o o k n u m , s t r u c ts k b u f f * * s k b , c o n s ts t r u c tn e t d e v i c e * i n , c o n s ts t r u c tn e td e v ic e * o u t , i n t ( * o k f n ) ( s t r u c ts k _ b u f f 木) ) r e t u r nn f d r o p ; a 丢弃所有的数据包:l c 木初始化程序木 i n ti n i tm o d u l e0 a 填充我们的h o o k 数据结构水 n f h o h o o k = h o o k f u n c : 水 n f h o h o o k n u m = n f _ i p p r e r o u t i n g : n f h o p f= p f i n e t : n f h o p r i o r it y = n l i p p r i f i r s t : n f _ r e g is t e r h o o k ( & n f h o ) : r e t u r n0 : 木清除程序木 v o i dc l e a n u p _ m o d u l e0 n f _ u n r e g is t e r h o o k ( & n f h o ) : 3 5 2n e t f il t e r i p t a b l e s 扩展 处理函数木 a 使用i p v 4 的第一个h o o k 衫 a 让我们的函数首先执行木 除了在内核钩f 函数有扩展性以外,n e t f i l t e r 作为舰则容器在相关规则构件上也具 有易于扩展的优势。在这方面可供扩展的还包括t a b l e 、m a t c h 、t a r g e t 等构件。因为l i n u x 防火墙还包十t ij f j ,、,卜问的规则管理程序i p t a b l e s ,它通过系统调将内核n e tf i1 t e r 的规则 第2 2 页武汉科技大学硕士学位论文 表传递到用户空间,对规则进行添加、修改、删除操作后再次使用系统调用将规则表传回 内核空间。因此所有扩展都应分为内核空间、用户空间两个部分,核内部分置于 k e r n e l n e t i p v 4 n e t f i l t e r 下,模块名为i p t 一n a m e o ;核外部分置于e x t e n s i o n s 下,动态链接库名为l i b i p t 一n a m e s o 。核外部分指的是n e t f i l t e r 的用户配制管理工 具i p t a b l e s 。 一般情况下,对表进行扩展的情形并不多,只要灵活使用m a t c h 和t a r g e t 就能完成 大多数报文处理功能。n e t f i l t e r 中表( t a b l e ) 包含着多条链,每条链对应着一个挂载点 ( h o o k ) ,每条链又包含多条规则,一条规则的构成首先是对被检查包的i p 头部的匹配, 也称为基本匹配,然后是零个或多个扩展匹配m a t c h ,系统默认的已有t c pm a t c h ,u d pm a t c h 和i c m pm a t c h 。最后是一个目标t a r g e t ,由t a r g e t 决定包的命运。 每条规则对应一个i p t e n t r y 结构,每一个i p t e n t r y 由三个说明部分组成: 一个 i p t i p 结构,用来说明匹配i p 首部,零个或多个i p t e n t r y _ m a t c h 结构,一个 i p t e n t r y t a r g e t 结构。其中为了方便,i p t e n t r y _ m a t c h 和i p t e n t r y _ t a r g e t 定义为 联合,可用于核内或核外,它们的内核部分分别定义了指针指向匹配结构i p t _ m a t c h 和目 标结构i p t t a r g e t 。所有i p t _ m a t c h 和i p t t a r g e t 结构各自形成两个双向链表,这样的 结构更加灵活,可以随时注册扩展匹配或目标结构,以上所有结构定义于 i n l u d e l i n u x l i n u x n e t f i l t e r i p v 4 i p t a b l e s h 。 核心用s t r u c ti p t _ m a t c h 表示一个m a t c h 数据结构: s t r u c ti p t _ m a t c h s t r u c t1 i s t h e a dl i s t : c o n s tc h a rn a m e i p t f u n c t i o n _ m a x n a m e l e n 一1 : u _ i n t 8 一tr e v i s i o n : in t ( * m a t c h ) ( c o n s ts t r u c ts k b u f f * s k b , c o n s ts t r u c tn e t d e v i c e * i n , c o n s ts t r u c tn e t d e v ic e * o u t , c o n s tv o i d * m a t c h i n f o , i n to f f s e t , i n t * h o t d r o p ) : i n t ( * c h e c k e n t r y ) ( c o n s tc h a r c o n s ts t r u c ti p t i p v o i d * m a t c h i n f o , u n s i g n e di n tm a t c h i n u n s i g n e di n th o o k _ m a * t a b l e n a m e , * i p , f o s i z e , s k ) : v o id ( * d e s t r o y ) ( v o i d * m a t c h i n f o ,u n s i g n e di n tm a t c h i n f o s i z e ) : s t r u c tm o d u l e * m e : : 其l f ll is t 成员通常初始化为 n u l l ,n u l l ,由核心使用。n a m e 数组说明m a t c h 的名字, 武汉科技大学硕士学位论文第2 3 页 同时也要求包含该m a t c h 的模块文件名为i p t 一n a m e 0 。m a t c h 就是匹配函数,返回非 0 表示匹配成功,如果返回0 且h o t d r o p 为1 ,表示报文立即丢弃。c h e c k e n t r y 调用时机 在使用本m a t c h 的规则注册进表中之前,进行有效性检查,如果返回0 ,规则就不会加入。 d e s t r o y 在包含m a t c h 的规则从表中删除时使用,与c h e c k e n t r y 配合可用于动态内存分配 与释放。最后成员m e 表示当前m a t c h 是否为模块( n u l l 为否) 。 定义好i p t _ m a t c h 结构后,可调用i p t r e g is t e r _ m a t c h 将m a t c h 注册到i p t _ m a t c h 链表中备用。 要使用核心自定义的m a t c h ,必须在用户级的i p t a b l e s 程序中有所说明。在i p t a b l e s 中,一个m a t c h 用s t r u c ti p t a b l e s _ m a t c h 来表示。在实际使用中,定义了i p t a b l e s _ m a t c h 之后,可以调用r e g i s t e r _ m a t c h 注册新m a t c h ,当命令中第一次指定该m a t c h 时( 比如 i p t x ) ,i p t a b l e s 主程序自动加载l i b i p t i p t _ x s o ,并执行其中的一i n i t 接口,所以 r e g i s t e r _ m a t c h 应该放在一i n i t ( ) 中执行。 自定义t a r g e t 的生成类似与匹配,内核部分编写好目标函数t a r g e t ,有效性检查函数 c h e c k e n t r y 后,填充i p t t a r g e t 结构,用i p t _ r e g is t e r t a r g e t 注册新结构到i p t t a r g e t 双向链表中。相应地在用户空间中定义i p t a b l e s t a r g e t 结构实例,并用一i n i t0 函数中 用r e g i s t e r _ t a r g e t 函数注册该实例。 第2 4 页武汉科技大学硕士学位论文 4 1 设计原则 第四章基于联动的网络入侵防御系统的总体设计 1 实时检测 实时捕获并分析网络流量,判断是否存在攻击意图或入侵行为,是实现网络入侵防御 的基础。只有尽早的发现入侵,才能将破坏控制在一定范围之内,并且根据攻击者的入侵 种类和真实位置给予相应的响应确保网络的安全。同时,系统能够记录所有从发现入侵开 始的攻击数据包,作为同后的分析资料和入侵证据。 实时检测避免了采用日志审计等技术产生的滞后性和种种限制,是入侵防御系统的最 基本的要求。 2 综合检测策略 目前基于特征规则匹配的入侵检测因为速度快而受到欢迎,但是如果攻击模式很常 见,就会产生很多误报,如果模式过于特殊,又会产生漏报。因此,网络入侵防御系统需 要超越基于规则匹配的检测机制,使用协议异常检测,或保持连接状态,只对已连接t c p 会话中的包报警,限制包接收发送速率等技术完成检测功能。 3 主动响应 根据检测结果采用不同的策略进行主动响应是阻止入侵行为的最有效的手段之一。原 有的入侵检测系统往往是注重检测出入侵,却缺乏制止入侵的能力。入侵防御系统就是要 在尽可能短的时间里,对攻击者的攻击行为做出反应,保护内部网络的安全。 4 阻断准确率较高 因为入侵防御系统能够实现主动响应,根据联动策略将主动阻断某些流量,这可能会 导致误报问题。这恰恰也是网络管理员对于是否采用入侵防御系统最为忧虑的问题,因为 阻断正常流量,对于一些机构来说,意味着商业损失或信誉损失等。因此,积极更新入侵 特征库,并制定相应的响应策略提高阻断准确率是十分必要的。 5 安全性与可用性 作为网络安全的保障方,入侵防御系统本身的安全性非常重要。现在有许多网络攻击 首先针对网络的安全防护系统,一旦安全防护系统崩溃,整个内部网络安全性能大大降低, 使得攻击者入侵内部主机的几率增高。对于入侵防御系统来说,由于一般采用内嵌式工作 模式,一旦系统崩溃,将会阻断所有网络流量,自身造成一个“拒绝服务”状况。因此, 加强系统本身健壮性,增加系统“f a i l - o p e n ”机制是非常重要的。 6 可扩展性 随着网络技术的发展,网络攻击技术也在不断发展。新的攻击技术、入侵 具层出不 穷,这要求系统能够住f i 改变既有的架构基础上,通过某种机制进行扩展,检测出新的攻 击,或采用新的响f 、v 模f 5 | | 断攻击。 武汉科技大学硕士学位论文第2 5 页 另外,网络入侵防御是一种网络综合防御体系,因此要求其整体的结构也要具有可扩 展性,以适应将来出现的扩展要求。 4 2 系统框架设计 图4 1网络入侵防御系统的系统框架图 本文提出的基于联动的网络入侵防御系统框架图如图4 1 所示啪1 。它包括初始化模块、 数据包捕获解码器、预处理器、检测引擎、日志审计管理模块、包过滤模块、入侵报警 模块和策略联动模块。其中,初始化模块、包捕获解码器、预处理器、检测引擎,实现 检测入侵的功能。系统中各个模块相互协作,组成一个入侵防御机制。 下面对各个模块的功能和特点做简要说明: 初始化模块:打开网卡接口,准备捕获网络数据包,对包捕获解码、预处理器、检 测引擎进行初始化工作。 包捕获解码器:数据包到达网卡,由该模块捕获网络数据包,然后对数据链路层的 原始数据包进行解码,解码成不同的高层协议,最后将数据存储到相应的结构中,为后续 工作做准备。 预处理器:预处理器采用插件模式,具备比如协议异常检测,包重组,h t t p 规范化, 以及其他一些无法用一般规则发现的攻击进行检测的能力。当然,该模块本身会消耗性能, 冈此用户可以根据需要进行灵活配置。 检测引擎:该模块基于特征规则的入侵检测技术,建立并解析规则,并对捕获的网 络数据包进行分析,提取有效特征,与规则进行匹配,判断是否是入侵行为。 入侵报警模块:根据入侵事件的危险等级,入侵防御系统有不同的响应方式,对于等 第2 6 页武汉科技大学硕士学位论文 级高的入侵,启动报警请求阻断响应的机制。入侵报警需要将定制的入侵信息用一个数据 结构传递给策略联动模块。在该模块中应注意高效性问题。 策略联动模块:接收入侵报警模块的入侵信息,并根据信息,制定阻断方式, 阻断时间,以此为基础,动态的改变控制访问策略,向包过滤模块添加、删除规则。 包过滤模块:主要用于阻断攻击流量,主动响应中的主要功能是数据包的过滤,同时 包括状态检测、透明代理和地址伪装的功能。 日志审计管理模块:对所有入侵事件的入侵信息进行纪录和审计管理。入侵信息包括: 入侵源i p 地址,源端口,攻击时间,攻击类型,危险等级等等。其目的是为了日后能够 对攻击事件进行关联分析或留做证据。 4 3 系统关键问题分析 1 联动方式 入侵检测和防火墙的联动通常包括以下两种方式: 开放接口方式实现联动,即防火墙或入侵检测系统产品开放一个接口供对方调用,按 照一定的协议进行通信、传输警报。防火墙可以行使第一层防御功能控制访问功能; 入侵检测系统可以行使第二层防御功能检测入侵,丢弃恶意通信,确保该通信数据包 不能达到目的地,并通知防火墙进行阻断。这种方式比较灵活,不影响防火墙和入侵检测 系统的性能。由于是两个系统的配合运作,所以要重点考虑防火墙和入侵检测系统联动通 信的安全性。 紧密集成实现联动,即把入侵检测技术和防火墙技术集成起来,在统一的操作系统管 理下有序地运行。所有的通过的包不仅要接受防火墙的检测规则的验证,还要判断是否有 攻击行为,以达到真正的实时阻断。由于入侵检测系统和防火墙本身规模都比较大,而且 无论是防火墙还是入侵检测,其规则匹配都需要大量的计算开销,除非是硬件实现,否则 合成后性能上会受到较大的影响。 - 两者紧密集成的方式容易增加系统复杂度,性能受到影响,另一方面将检测和防火墙 紧密结合不易实现。因此,本文设计的系统采用第一种方式,即开放接口使得入侵检测和 防火墙通过一个按照固定格式的协议交换信息,完成网络安全事件的传输。 2 动态策略管理 ( 1 ) 主动防御安全策略:网络入侵防御系统最为显著的特点就是具有强大的响应能力, 系统需要实时检测网络入侵,并根据入侵危险级别动态的改变控制访问策略,放行j 下常的 网络流量,阻断异常流量。在本系统中,入侵检测模块将检测到的入侵信息按照规定好的 格式传递给接警模块,入侵信息包括攻击源l p 地址( 端口) ,目的i p 地址( 端口) 以及报 警优先级。接警模块根据报警优先级选择响应方式及阻断方式等。 主动防御安全策略主要考虑以下两个方面: 防御的高效性要求对攻击行为进行分类。对于危险级别较低、影响不是很大的攻击行 为仅记录至同志,以免大量的报警阻断容易导致系统漏掉或延误一些重要报警。 武汉科技大学硕士学位论文第2 7 页 阻断的方式分为单向阻断和双向阻断两种。单向阻断是阻断源地址i p ( 端口) 到目的 i p ( 端口) 的连接:双向阻断是阻断源地址i p ( 端口) 和目的i p ( 端口) 的通信。阻断时 间= 报警优先级木单位时间( t ) 。报警优先级在入侵检测模块中规定。 ( 2 ) 用户手动修改安全策略:系统允许管理员用户手动修改控制访问规则。网络入侵 防御系统只能“尽可能”响应所有攻击并“尽可能”保证阻断准确率,但应该能够让管理 员分析入侵攻击,更改防御安全策略以应对可能出现的错误或系统问题。 ( 3 ) 高质量可更新的特征库:为达到高效检测深度防护的目的,系统必须建立丰富且 完备的入侵特征库。由于新的攻击手段不断涌现,系统应该支持更新入侵特征库的功能。 本系统基于开源代码s n o n ,可以在其官方网站更新入侵检测库,保证网络管理员能够得到 最新入侵攻击特征库,这样网络防御系统能够及时检测到具有最新入侵特征的攻击。 ( 4 ) 可扩展策略:入侵防御系统可以扩展其入侵检测模块或控制访问模块,增加、删 除、修改入侵检测部件或控制访问模式。 3 系统自身安全加固 要对防御系统所在的主机和所有数据进行全面的防护,对其操作系统进行加固,并对 用户权限作出明确限制。主机只运行所需服务,防止因提高其他服务而可能存在的漏洞。 在本系统中需要对运行入侵检测和控制访问的两台主机进行加固,在这两台主

温馨提示

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

评论

0/150

提交评论