(运筹学与控制论专业论文)入侵容忍的分布式web服务器模型研究.pdf_第1页
(运筹学与控制论专业论文)入侵容忍的分布式web服务器模型研究.pdf_第2页
(运筹学与控制论专业论文)入侵容忍的分布式web服务器模型研究.pdf_第3页
(运筹学与控制论专业论文)入侵容忍的分布式web服务器模型研究.pdf_第4页
(运筹学与控制论专业论文)入侵容忍的分布式web服务器模型研究.pdf_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

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

文档简介

学位论文独创性声明 本人郑重声明: l 、坚持以“求实、创新”的科学精神从事研究工作。 2 、本论文是我个人在导师指导下进行的研究工作和取得的研究成 果。 3 、本论文中除引文外,所有实验、数据和有关材料均是真实的。 4 、本论文中除引文和致谢的内容外,不包含其他人或其它机构已 经发表或撰写过的研究成果。 5 、其他同志对本研究所做的贡献均已在论文中作了声明并表示了 谢意。 作者签名:盘i 堇 日 期:! 点:生整 学位论文使用授权声明 本人完全了解南京师范大学有关保留、使用学位论文的规定,学 校有权保留学位论文并向国家主管部门或其指定机构送交论文的电子 版和纸质版;有权将学位论文用于非赢利目的的少量复制并允许论文 进入学校图书馆被查阅;有权将学位论文的内容编入有关数据库进行 检索:有权将学位论文的标题和摘要汇编出版。保密的学位论文在解 密后适用本规定。 作者签名: 盘。i 圭 日 期:丛:生堑 摘要 入侵容忍承认攻击的发生是不可避免的,并且系统无法完全依赖于防火墙、 入侵检测系统等传统的安全技术进行防御保护和检测入侵。入侵容忍主要考虑的 是在入侵存在的情况下系统的生存能力,所关注的是入侵造成的影响而不是入侵 的原因。入侵容忍的宗旨就是如何在入侵发生的情况下,保证系统服务的连续性。 它要求系统具有耐攻击的可操作性,当系统遭受攻击或入侵时,仍然能够连续地 提供所期望的服务;即使系统的某些组件已经遭受了破坏,系统也能继续提供降 级的服务。 本文提出了入侵容忍的分布式w e b 服务器模型i t d w 。该模型将一般类型的 w e b 服务( c o t s 组件建立起来的分布式w e b 服务) 作为保护的目标,目的是 模型中的某些组件在已经遭到了恶意入侵的情况下,系统能够通过入侵响应和入 侵掩盖两种方法,保证合法用户的合理请求,提供正常的w e b 服务,并能及时 对受损组件进行恢复和还原。本文详细介绍了其中的代理服务器模块、服务执行 模块和安全管理模块,着重解析了代理服务器的状态转换和有效性检测、w e b 服务器如何处理负载平衡以及如何实现多个服务器的一致性响应。文章利用中间 件技术,保证了异构服务器间的可靠通信,使系统能够负载平衡、服务能够协同 一致,尽早排除了系统中的可疑成分,对于保证系统的可靠性、服务的连续性以 及恢复受损组件起到了一定作用。 关键词:入侵容忍w e b 服务器代理服务器中间件负载平衡一致性 a b s t r a c t i n t r u s i o nt o l e r a n c ea c k n o w l e d g e st 1 1 a tt h eo c c u r r e n c eo fa t t a c k sc a n tb ea v o i d e d a n das y s t e m ss e c u r i t yc a n td e p e n do nt h ef i r e w a l l sa n di n t r u s i o nd e t e c t i o n s y s t e m sc o m p l e t e l y t h ee m p h a s i so fi n t r u s i o nt o l e r a n c ei s o nt h ec o n t i n u i t yo f o p e r a t i o n i nt h i sc o n t e x t , e f f e c t sa t em o r ei m p o r t a n tt h a nc a u s e sb e c a u s eas y s t e m w i l lh a v et od e a lw i t l la n ds u r v i v ea na d v e r s ee f f e c tl o n gb e f o r ead e t e r m i n a t i o ni s m a d ea st ow h e t h e rt h ec a u s ew a sa nm a l i c i o u sa t t a c k , o raa c c i d e n t a lf a i l u r e i n t r u s i o nt o l e r a n c em a k e ss y s t e mm o r ed e p e n d a b l e e v e nu n d e ra n ya t t a c k ,t h e s y s t e mm a yp r o v i d ec o n t i n u o u s s e r v i c e i fs o m ep a r t so ft h es y s t e mh a v eb e e n c o r r u p t e d ,i ts t i l lp r o v i d e sd e g r a d e ds e r v i c e t h i sp a p e rd e s i g n sai n t r u s i o nt o l e r a n tm o d e lf o rd i s t r i b u t e dw e bs e r v e r s ( i t d w ) t h i sm o d e lp r o v i d e sc o t sw e bs e r v e r sw i t hi n t r u s i o nt o l e r a n c ea b i l i t y i t s o b j e c ti st oa s s u r ct h ec o r r e c ts e r v i c eo fa n yc o r r e c tr e q u e s tf r o ml o g i c a lc o n s u m e r s e v e nu n d e rs o m ec o r r u p t i n g i tm a yb er e c o v e r e do rr e c o n f i g n r e df r o mt h ec o r r u p t p a r tb yi n t r u s i o nr e s p o n d i n ga n di n t r u s i o nh i d i n g t h i sd e s i g na n a l y z e st h ep r o x y s e r v e r s ,w e bs e r v e r sa n dt h es e c u r i t ym a n a g e ri nd e t a i l t h ee m p h a s i si n c l u d e st h e s t a t ec h a n g ea n dv a l i d i t yc h e c k e ro ft h ep r o x ys e r v e r s ,t h el o a db a l a n c e ra n dt h eg r o u p a g r e e m e n tp r o t o c o lo ft h ew e bs c r v c r s t h ec o m m u n i c a t i o nb e t w e e nr e d u n d a n ta n d d i v e r s i f i e dw e bs e v e r sn l a k et h ei t d ws y s t e ml o a db a l a n c e d , a n ds e r v i c ea g r e e dw i t h e a c ho t h e r t h i sd e s i g ne x c l u d e st h es u s p e c t e dp a r t sa ss o o na sp o s s i b l e d os o m eh e l p t os y s t e m s d e p e n d a b i l i t y , c o n t i n u i t ya n dr e c o v e r y k e yw o r d s :i n t r u s i o nt o l e r a n c ew e bs e r v e r p r o x ys e r v e r m i d d l e w a r e l o a db a l a n c e a g r e e m e n t 2 前言 入侵容忍是近期网络安全领域的研究热点。一个具有入侵容忍能力的系统 承认攻击的发生是不可避免的,并且系统无法完全依赖于防火墙、入侵检测系统 等传统的安全技术进行防御保护和检测入侵。与入侵检测技术不同,入侵容忍主 要考虑的是在入侵存在的情况下系统的生存能力,所关注的是入侵造成的影响而 不是入侵的原因。入侵容忍的宗旨就是如何在入侵发生的情况下,使系统仍能连 续地为合法用户提供预期的有效服务。它要求系统具有耐攻击的可操作性,当系 统遭受攻击或入侵时,仍然能够连续地提供正常的服务:即使系统的某些组件已 经遭受了破坏,系统也能继续提供降级的服务。 文章在分析了系统安全失败的过程后,总结了实现入侵容忍的两种方法: 入侵响应和入侵掩盖。前者仍然依赖于入侵检测系统,在检测到入侵后,对受损 组件进行隔离和恢复。但是由于目前的入侵检测系统存在过高的误警率和漏警 率,从而无法担当起入侵容忍触发器的重任。入侵掩盖的方法一开始就重新设计 整个系统,以保证攻击发生后对系统没有太大的影响。该方法的原理借助了容错 技术,在设计系统时制造足够的冗余,以保证当部分系统被攻击时,整个系统仍 旧能够正常工作。当然,入侵容忍的冗余技术应该保证各冗余部件之间具有复杂 的关系,是一种多样性的冗余。同时,入侵容忍与传统容错技术又有着很大的不 同,传统容错技术大都着眼于设计或实现阶段的静态故障,它们的故障模式相对 容易定义,容易恢复。而入侵容忍研究的故障行为是完全受到恶意控制的,其行 为是不可预知的,而且往往攻击本身并不构成一种显式的错误。 本文在对入侵容忍基础技术研究的基础上,将入侵容忍应用在w 曲服务器 的构建上,设计了入侵容忍的分布式w e b 服务器模型i t d w 。该模型将一般类型 的w e b 服务( c o t s 组件建立起来的分布式w e b 服务) 作为保护的目标,主要 利用了入侵掩盖的方法,目的是模型中的某些组件在已经遭到了恶意入侵的情况 下,w e b 服务器系统仍然能够向合法用户提供有效的w e b 服务,并能及时对受损 的组件进行恢复和还原。 文章介绍了基于该模型的入侵容忍w e b 服务器系统处理远程用户请求的基 本流程,主要解析了该模型各个模块的设计思路和实现方法。其中代理服务器模 块提供了请求和响应的转发以及有效性的检查,并且冗余的代理服务器之间可以 进行角色转换。w e b 服务器模块是真正执行服务的部分,i t d w 模型利用中间件技 术通过w e b 服务器的负载平衡和成员一致性协议实现入侵容忍,是本模型的重 点。安全管理模块综合了三种最基本的网络安全技术,在i t d w 中起到了入侵发 现、还原重构和审计控制的作用,属于入侵容忍的辅助模块。文章简单介绍了这 三个子模块的功能和实现方法,重点强调了它们之间的协调合作。 本文使用了传统的容错和安全技术,但更多考虑了多样性冗余服务器之间 的可靠通信,使系统能够负载平衡,并且使服务协同一致,尽早排除了系统中的 可疑成分,对于提高系统的可靠性、服务的连续性以及恢复受损组件起到了一定 作用。 4 第一章入侵容忍概述 第一章入侵容忍概述 1 1 研究背景 1 1 1 网络服务的安全现状 随着信息化进程的加快,电脑病毒、网络攻击等反面角色也铺天盖地的渗 透到网络的每一个细节中,网络安全问题已成为信息时代人类面临的共同挑战。 发生于2 0 0 4 年上半年的震荡波( s a s s e r ) 病毒,利用微软公布的l s a s s 漏洞进行 传播,开启上百个线程去攻击其他网上用户,造成机器运行缓慢、网络堵塞,在 短短一个星期时间之内就感染了全球1 8 0 0 万台电脑,成为全年当之无愧的“毒 王”,在全球带来的损失已超过5 亿美元【1 1 。2 0 0 4 年下半年的“网银大盗”以及 其a 、b 变种的出现曾一度引起人们对网上银行交易安全问题的恐慌,安全公司 不得不在那一时期内中断网上支付和交易活动。 我国的网络安全情况也极不乐观。据国家计算机网络应急技术处理协调中 心统计,2 0 0 4 年共收到网络安全事件报告6 4 ,6 8 6 件,为2 0 0 3 年的近5 倍。其 中,网页篡改占4 5 9 1 ,其余为垃圾邮件、蠕虫、网络仿冒、木马等 2 1 。数据 显示,安全事件的受害面逐渐扩大,从金融证券、商贸企业、教育科研、能源交 通到国防、电信、广电,政府网站成为攻击者最易选定的目标。 w e b 服务是i n t e r a c t 上提供的最多的、最丰富的服务,它能灵活的提供各种 格式的、内容丰富的信息,人们可以自由的利用w e b 服务查找、互通信息。w e b 服务越来越多的应用到各种领域,比如电子商务交互和行业内部信息发布管理 等。安全的w e b 服务器是构成安全的电子商务、可信的行业信息平台的核心功 能部件,对于保证w 曲服务系统的正常运行,保障行业安全策略的正确实施, 维护商务及信息的可靠性有着十分重要的意义。 w e b 服务器是w 曲网站提供对外服务的第一道关卡。它处于系统内部,但 对于外部用户却是开放的,被称为公共服务器,全世界的人都能访问公开的w e b 服务器。因此同其他服务器相比,各种w e b 服务器受到的攻击也是最多的,并 且大有愈演愈烈之势。诸如w e b 页面被恶意删改、脚本漏洞导致缓冲区溢出、 通过w e b 服务的后门上传木马、通过w e b 服务窃取私有信息甚至钱财、利用 w e b 服务作为跳板攻击内部重要数据库等,针对w e b 服务器的攻击在网络安全 事件中占了越来越多的比例。虽然路由器和防火墙安全技术在不断加强,但w e b 服务器仍然是攻击者的第一目标,需要更加特殊的安全考虑。 第一章入侵容忍概述 1 1 2 现有安全技术的不足 当安全工作者在设计和研究信息安全措施时,往往最先想到的是“保护”, 它假设能够划分明确的网络边界并能够在边界上阻止非法入侵,强调的是将攻击 者拒之f q # b ,这样的技术称为第一代信息安全技术口l 。常用的防火墙和访问控制 技术,就是通过严格的存取控制和加密来保护信息的完整性和机密性。 但是,并不是在所有情况下都能够明确地划分并控制网络边界,当i n t e r a c t 网络逐步扩展的时候,仅有的保护措施并不是在所有情况下都有效。比如:在正 常的数据中夹杂着可能使接收系统崩溃的参数;在合法的程序中夹杂着致命的病 毒;黑客冒充合法用户进行信息偷窃;利用系统漏洞进行攻击等等。以传统的防 火墙技术为例,它就暴露出了以下的弱点和不足: ( i ) 入侵者可以伪造数据绕过防火墙或者找到防火墙中可能敞开的后门 ( 如一些开放的端口,一些协议的漏洞等) ; ( 2 ) 防火墙完全不能防止来自网络内部的袭击,通过调查发现,将近6 5 的攻击都来自网络内部,对于那些对单位心怀不满或假意卧底的员工来说,防火 墙形同虚设: ( 3 ) 防火墙缺乏对网络数据包中数据内容的检测能力,即无法识别格式正 确、但数据区中包含恶意代码的数据包: ( 4 ) 防火墙是基于t c p i p 等协议来实现的,因此无法解决t c p i p 操作的 漏洞,不能防止本身安全漏洞的威胁。 信息空间的增长使边界保护的范围必须扩大,正如空间边疆的保护乃至太 空边界的保护无法通过修建长城解决一样,保护技术在现代网络环境下已经没有 能力全面保护信息安全。于是,出现了第二代信息安全技术。 第二代安全技术的基本假设是,如果挡不住敌人,但至少能发现敌人或者 敌人实施的破坏。比如,能够发现有人扫描网络,发现网络流量异常等等。针对 这些发现,可以采取一定的响应措施。第二代信息安全技术以检测技术为核心, 以恢复技术为后盾。 由于入侵检测技术是第二代信息安全技术的代表和核心,所有的响应、甚 至恢复都依赖于检测结论,入侵检测系统( i d s ) 的性能就成为信息保障技术中 最为关键的部分。i d s 可以弥补传统防火墙的不足,为网络提供实时的监控,并 且在发现入侵时采取相应的防护手段,不仅能检测来自外部的入侵行为,同时也 监督内部用户的未授权活动。经过近几年的发展,i d s 作为必要的附加手段,已 6 第一章入侵容忍概述 经为大多数组织机构的安全构架所接受。用户也开始认可i d s 在网络安全防御 中不可替代的作用。但是与此同时,i d s 的局限性也日益凸现: ( 1 ) 检测方法有限。存在较高的漏报率和误报率,不能检测到富有经验攻击 者发起的复杂隐蔽攻击等; ( 2 ) 检测和响应速度有限。检测分析入侵和响应的速度往往赶不上网络流的 传输速度; ( 3 ) 协作及处理能力有限。入侵检测系统和其他安全组件之间的共同协作还 很欠缺。 ( 4 ) 最重要的是,i d s 是以被动的方式工作,绝大多数i d s 只能检测攻击, 在攻击发生时被动地发出报警,不能实时阻止攻击。 虽然入侵检测技术已经取得了长足的发展,但是新的攻击技术不断出现, 很难对所有攻击行为给出一个精确的定义和描述,从而使保证入侵检测的正确性 和实时性非常困难,不断出现的新型的攻击对入侵检测系统是巨大的挑战。并且 即使入侵检测系统发现了入侵,其本身也无法完全屏蔽入侵所造成的损害。 计算机网络的发展带来了许多安全研究者不愿看到的问题。网络不断庞大, 连入网络的设各种类越来越多,网上应用种类和应用系统也越来越多,功能与实 现越来越复杂。这给网络安全研究带来了更多的困难,同时也带来了更多的机遇 与挑战。对一个复杂的网络应用来说,检查和控制系统的每一个细节、了解系统 的全部安全漏洞成为一个不可能实现的梦想。即便是已经使用的成熟的软件系 统,仍然不断爆出形形色色的安全漏洞。工作在开放环境下的计算机系统不可避 免的会受到来自内外的攻击和入侵。 1 2 入侵容忍介绍 1 2 1 入侵容忍思想的提出 入侵检测和阻止机制作为传统的安全技术方案,要达到的目标是发现并阻 止攻击。遗憾的是,在倾向于使用各种免费软件搭建网络应用环境的今天,现有 的安全技术方案由于繁多的软件漏洞以及不可避免的管理疏忽,已经无法满足对 安全日益增长的需求。对于w e b h 臣务来说,如何保证服务的连续性以及对入侵进 行快速响应,已经成为影响网站长期生存与持续发展的一个重要因素。 那么在检测系统发生漏检,也就是存在入侵的情况下,系统如何能继续为 台法用户提供基本的服务就成为一个重要问题。在不得不接受残酷现状的同时, 第一章入侵容忍概述 必须要选择新的途径来解决上面的安全问题。 自然界存在各种病毒和细菌,由于人体具有免疫系统,抵制和瓦解了大约 9 0 以上的进攻和入侵。换句话讲,由于人体的免疫系统可以容忍大约9 0 以上 的入侵,人体的免疫系统就构成了一个很好的容忍系统“1 。参考生物的免疫特性, 一种更深层次的安全技术入侵容忍( i n t r u s i o nt o l e r a n c e ) 技术已经成为国 内外网络安全领域研究的新热点。简单的讲,就是要增强现有系统的安全性,使 它们在面对攻击时具有弹性,即具有自动地恢复能力。 自从2 0 0 0 年以来,随着安全问题的日益严重和传统技术的无能为力,许多 重要的国际研究机构轰轰烈烈的开始了入侵容忍技术的研究。入侵容忍技术主要 考虑的是在系统遭受攻击的情况下,如何继续提供全部服务或者降级服务的能 力,也就是解决系统的生存问题。因此最新的第三代信息安全技术就是以入侵容 忍技术为代表的生存技术。 一些权威组织o 将三代信息安全技术做了比较,下图形象说明了它们之间的 关系: 入侵容忍入侵检测入侵防御 图1 1 三代安全技术对比示意图 ( 1 ) 入侵防御:防御的主要策略有防火墙、认证、访问控制、加密、消息过 滤、功能隔离等。客户访问时,首先要经过防火墙过滤,客户与服务器进行互相 认证,必要时对机密信息进行加密。 ( 2 ) 入侵检测:入侵检测系统( i d s ) 监视系统运行情况,通过匹配入侵特征 库、分析系统日志和应用程序日志来检测入侵,以确定入侵造成的影响以及相应 的恢复方案。 ( 3 ) 入侵容忍:入侵容忍主要考虑的是在入侵存在的情况下系统的生存能力 和提供连续服务的能力,保证系统关键功能的安全性和健壮性。 由上图可以很明显看出,入侵容忍是在入侵已经穿透外层防御机制,入侵 检测系统发生漏检,或者入侵检测已经报警但来不及对损坏的部分做恢复时,对 系统服务的安全保障措施。 8 第一章入侵容忍概述 入侵容忍系统( i n t r u s i o nt o l e r a n ts y s t e m ) ,简称i t s ,它与入侵检测系统 ( i n t r u s i o nd e t e c t i o ns y s t e m ,简称i d s ) 不同,它不是基于发现“异常活动”来 通知管理员的方式工作的,而是以攻击者即使攻破了系统中的多个组件,也不会 危害整个系统的安全和主要服务质量为目标的,同时能迅速恢复入侵所造成的损 害,这对大量的核心系统是非常关键的。 1 2 2 入侵容忍的基本假设 首先,入侵容忍技术是基于两个互相联系的基本假设: ( 1 ) 攻击者对系统的攻击是分阶段的; ( 2 ) 入侵检测系统起到一定的作用,但并不是完美的。 假设一个入侵容忍系统是由多个“安全域”构成的,这里所说的“安全域” 是指系统中存在的有攻击者难以穿越的安全边界的组件【6 】。例如,一台主机可以 是一个安全域,特别是在一个攻击者取得了一台主机的权限,并不能自动取得另 一台主机的权限的情况下。入侵容忍技术的第一个基本假设就是指对任意攻击者 来说,只能同时攻破一个或极其有限个安全域,不能同时攻破所有安全域。其中 的原因可能是因为攻击者需要时间来了解不同安全域之间连结的拓扑结构;或者 是因为安全域之间安全状况的不同使攻击者需要花费一定的时间等等。这个分阶 段攻击的假设给防御方提供了反击攻击的时间。这一点同时也说明入侵容忍技术 并不是万能的,就像任何容错系统都无法抵御所有硬件系统同时崩溃的情况一 样。 入侵容忍的目的是在系统被攻击时仍能提供安全的和保证质量的服务,同 时保证迅速恢复入侵所造成的损害。因此根据第一条假设,系统应保证当部分安 全域被攻破时,即使入侵检测系统出现漏报,也应保证未被攻破的安全域可以正 常地对外提供全部服务,并保证通过被攻破的安全域无法获得机密信息或破坏整 个系统。为了具备应对未知攻击的能力,一个系统在确定某一现象是恶意攻击还 是系统本身的失误之前就必须应对该事件并设法存活下来。因此入侵容忍主要将 保护作为目标,看重的是攻击给系统带来的影响,而不是攻击本身。而当入侵检 测系统发现了入侵之后,入侵容忍系统应能尽快地帮助系统恢复正常状态。对入 侵检测系统的假设是必须的,而且也是符合目前入侵检测系统现状的,否则一个 攻击者就可以分阶段地渗透所有的安全域,悄悄地控制整个系统,并同时发难。 而有了入侵检测系统,防御方就有了反击的可能。 9 第一章入侵容忍概述 1 2 3 入侵容忍的特点 入侵容忍系统技术认为攻击的发生是不可避免的,并且攻击数据与正常数 据是不能明确区分的。与入侵检测技术不同,入侵容忍主要考虑的是在入侵存在 的情况下系统的生存能力,所关注的是入侵造成的影响而不是入侵的原因。它要 求系统具有耐攻击的可操作性,当系统遭受攻击或入侵时,仍然能够连续地提供 所期望的服务。并且,即使系统的某些组件已遭受了破坏,系统也能继续提供降 级的服务0 1 。因此入侵容忍必须具有以下能力: ( 1 ) 自我诊断能力。入侵容忍依赖的检测或评估系统,称为入侵容忍的触 发器。通过触发器检测到局部系统的失效或估计到系统被攻击,然后调整系统结 构,重新分配资源,从而达到继续服务的目的。 ( 2 ) 故障隔离能力。如果诊断部分认为某种操作可能会严重影响后续的系 统运作,隔离机制会将可疑的操作隔离到特殊区域。针对被隔离的数据和操作, 当判决系统认为确实是攻击时,就将被隔离的操作删除掉。当判定不是攻击时, 就将这些隔离的内容融合到正确的系统中去。 ( 3 ) 还原重构能力。具有入侵容忍能力的系统必须修正所有被攻击影响到的 数据,而又不能采用简单的回退恢复。系统必须保证未被感染的部分不被恢复, 仅仅还原被感染的文件让用户的大部分工作得以保留。 入侵容忍系统能够限制一些原先攻击避免和预防手段无法检测的信息攻 击。系统将采取一些必要的措施来保证关键应用功能的连续性和正确性。这些措 施包括从限制被怀疑的代码和数据到重新配置硬件和软件资源等等。 1 3 本文的工作 本文将最新发展的入侵容忍技术应用到w e b 服务器模型的构造上来,目的 是使网站在遭受入侵的同时仍然可以为用户的请求提供正常的服务,同时无需人 工介入,自动恢复遭受攻击的w e b 服务器,从而大大提高网站在危机四伏的网络 环境中的生存能力。 本文第二章从入侵容忍的角度对传统概念重新进行了定义,分析了外来入 侵渗透到系统的各个状态;剖析了安全失败的过程和原因:区分了入侵容忍与传 统容错技术的不同;最后简单介绍了国外入侵容忍研究的现状。文章第三部分将 入侵容忍的概念和技术与w e b 服务器相结合,构造了具有入侵容忍能力的安全 w e b 服务器模型。第四、五、六章具体分析了该模型的三个模块,介绍了使用的 技术和实现的方法。最后对文章进行了总结并展望了今后的研究重点。 1 0 第一章入侵容忍概述 1 4 本章小结 在网络的广泛使用和不断发展中,w e b 服务器的重要性不可替代。w e b 服 务器自身的安全性成为网络安全领域一个备受关注的话题。以传统的防火墙和入 侵检测为代表的安全防护和检测技术已经不能满足w e b 服务器的安全需求。以 入侵容忍技术为代表的第三代生存技术成为近期研究的热点,也就是如何在入侵 发生的情况下,使系统仍能连续地为合法用户提供预期的有效服务。本文拟将这 种入侵容忍的思想应用在w 曲服务器的安全上,使w e b 服务器在遭受入侵的情 况下,依然能为用户提供正常的或者降级的w e b 服务。 第二章入侵容忍的实现研究 第二章入侵容忍的实现研究 2 1 系统安全失败的过程剖析 2 1 1 从系统本身的角度分析 一个系统因为有了种种故障( f a u l t ) ,才有了失效的可能。故障的形式及其产 生的原因是多种多样的。在开发过程中,由于规范的制定者、系统的设计者、编 程人员以及操作人员考虑的不周,系统底层软件或硬件固有的缺陷,都会导致故 障的产生,这些属于非恶意的故障,也称偶然故障。恶意的故障就是所说的攻击 或入侵。 故障是错误( e r r o r ) 生成的原因。当故障被激活的时候就产生了一个错误,否 则故障就是隐匿的。错误是一种系统状态,当错误改变了系统服务的时候就导致 了系统失败( f a i l u r e ) 。 一个系统包含了互相作用的一组组件,因此系统状态就是这些组件的状态 集。一个系统的失败,或者是因为它没有遵守预先制定的规范,或者是因为制定 的规范没有充分描述其功能职责。在某一状态下,故障被激活产生了一个错误, 但是只要这个错误不影响服务就不会导致系统失败。 有关故障( f a u l t ) 、错误( e r r o r ) 和失败( f a i l u r e ) 的关系,文献【8 】给 出了这样一条原因链,如图2 1 : o 一一 f a u l t e r r o r f a i l u r e 图2 ,1 原因链 其中,f a u l t :是e r r o r 生成的原因;e r r o r :是系统状态的一部分;f a i l u r e : 是背离运行系统功能应有的服务的一种状态。因此,可以说e r r o r 是系统状态中 f a u l t 的体现,而f a i l u r e 是e r r o r 向用户提供服务时的体现。 举例:由于程序员的一个失误,在编写的软件中就埋下了故障。调用该故 障所在的组件时,运行了有故障的指令就激活了这个故障,生成了一个错误。如 果该错误影响了所提供的服务( 比如信息内容或者服务时限) ,那么失败就发生 了。这个例子也适用予恶意故障,比如一个心怀不轨的程序员在编写的程序中埋 下了逻辑炸弹。这个故障一定是隐匿的,直到它被激活( 比如一个预先设定好的 时间) ,就产生了错误,如果该错误破坏了程序正常的功能,该系统也就失败了。 1 2 第二章入侵容忍的实现研究 一个组件的故障或错误是可传递的,一个组件的失败可能是另一个相关组 件的故障,这样恶性循环,就可能造成更大的损失,如图2 _ 2 : - 一一一一一- - - - - 一- 一一一一一。一一1 一一一一一一一。一一一一一一一1 r 一一一。一一一 c l;c 2;c 3 i f a u l t 婴竖一f a i l u r e j i f a u l t e r r o r f a i l u r e ji f a u l t 图2 2 原因链的循环 2 1 2 从入侵的角度分析 脆弱点( v u l n e r a b i l i t y ) 、攻击( a t t a c k ) 和入侵( i n t r u s i o n ) 是三种相关联的故障: 脆弱点:系统开发或操作过程中产生的故障,它可被利用生成入侵。 攻击:是一种恶意的有交互作用的故障,攻击者蓄意破坏一个或更多的 安全特性,是一种入侵的企图或者尝试。 入侵:由成功利用脆弱性的攻击带来的一种恶意的故障。 攻击在某种情况下会导致入侵,但它们是截然不同的概念。一个系统可以 被攻击( 可以来自外部,也可能是内部) 但没有任何得逞。在这种情况下,攻击 是存在的,但是被攻击的目标,那些保护的很好的系统或者资源并没有被损坏。 因此,攻击是一种入侵的尝试或企图,入侵是攻击的目标,是攻击成功或者部分 得逞时所导致的。入侵是一种恶意的、外部导致的故障,含有非法的渗透、不受 欢迎的意思。由内部人员发起的恶意故障的渗透也被认为是一种入侵,因为其目 的是执行一种资源拥有者不希望的行为。 事实上,任何入侵都是在下面两点前提下导致的: 设法破坏脆弱系统的恶意行为或者攻击。 至少有一个可被攻击者利用的脆弱点,该脆弱点可能是在系统的设计或 配置时引入的故障,也可能是与故障组件的通信而引入的故障,该故障可能是完 全非恶意的,比如设计或实现上因为考虑不周而导致的漏洞等:也可能是恶意的, 比如预先埋伏在目标系统中的木马程序等。 总之,一旦攻击者成功的利用了该系统任何机制相关的弱点,入侵就发生 了。如果系统对于该入侵导致的这些错误无可作为的话,就会导致该机制的失败。 这就形成了安全机制失败的基本序列:攻击+ 脆弱点一入侵一失败。1 。如图 2 3 所示: h a c k e r d e s i g n e r o p e r a t o r a t t a c k一一一j 图2 3 安全失败的基本序列 从该序列中,能够分析出一个给定系统的所有可能失败的途径,为消除这 些不安全的因素提供了依据。 2 1 3 阻止安全失败的方法 上面定义的安全失败的基本序列明确了系统失败的完整过程,因此可以在 每个阶段采用相应的技术来阻止其进一步发展。如图2 4 : 图2 4 阻止安全失败的方法 首先,在脆弱点一方,使用脆弱预防( v u l n e r a b i l i t yp r e v e n t i o n ) 来尽量减少系 统脆弱的程度,这需要对安全规格的制定、系统的设计及代码的编写进行严格的 规范,在使用阶段加强管理,包括对用户的培训等等。其次,阻止攻击的发生, 也能减少对系统的威胁,可以实旌攻击预防( a t t a c kp r e v e n t i o n ) ,比如利用防火墙 对系统的访问进行筛选,必要的时候需要施加社会压力,增强法律制裁的力度等 等。从图中可以看出,脆弱性和攻击同时发生才会导致入侵。因此攻击预防和脆 弱性预防的结合,就是入侵的预防。三者统称故障预防f f a u l tp r e v e n t i o n ) ,也就 1 4 第二章入侵容忍的实现研究 是阻止故障的出现和传入。然而,尽管各方都在尽力使系统更加完善,系统仍不 可避免的存在着这样或那样的脆弱性,况且借助于保护技术来阻止所有的攻击也 是不可能的,因此还需要有其他的方法。 如果能在入侵发生以前,对故障( 包括攻击、脆弱点以及入侵) 的数量、 可能影响的范围以及可能带来的后果做出预测,那么对于安全保护是非常奏效 的。主要包括预测潜在的系统缺陷,以及攻击者如果要利用它们需要克服的难点 等等,这就是故障预测( f a u l tf o r e c a s t i n g ) 。 如果入侵已经出现了,那么就要设法消除它。现在的很多系统都是在 c o t se 1 0 】组件的基础上搭建起来的,其中包含了很多潜在的脆弱性。因此如果不 能阻止攻击激活这些脆弱点,那么就要设法删除这些脆弱点。脆弱点的消除在系 统开发阶段,主要通过一些确认程序,比如模型检查和测试,识别那些可能被攻 击者利用的缺陷;在系统运行阶段,主要是指预防性的和纠正性的维护比如应用 安全补丁、更换密码、消除恶意的逻辑后门等等。入侵的消除也就是攻击和脆弱 点的消除,统称为故障消除( f a u l tr e m o v a l ) ,主要指如何减少故障的数量或者严 重程度。 上面提到的故障预防和消除有时是共同出现的,称为故障避免,也就是设 法避免入侵的发生。但是在很多情况下避免不一定适用。原因很明显:不可能预 防所有的攻击,因为并不是所有的攻击都是可知的,时常会有新的类型出现,并 不是所有的攻击能被检测出来。类似的情况也发生在对脆弱点的处理上,发现不 了脆弱点,脆弱点删除( v u l n e r a b i l i t yr e m o v a l ) 和脆弱点预防( v u l n c m b i l i t y p r e v e n t i o n ) 也就无从谈起了。因此,不能排除有很多的攻击最终激活了系统中 脆弱之处,从而导致了入侵。这时为了不使系统安全失败,阻止破坏的进一步发 展,就要进行入侵容忍( i n t r u s i o nt o l e r a n c e ) 。 入侵容忍也就是如何能在入侵已经存在的情况下,使系统安全不至于失败, 而是继续提供正确的服务。入侵容忍承认攻击、脆弱点和入侵的预防和消除方法 是不完美的,入侵容忍的目的是即使部分攻击已经得逞,也要保证关键系统的安 全服务。入侵容忍暗含着对脆弱点的容忍和对外来攻击的容忍。因为脆弱点将有 可能被利用形成入侵,如果没有攻击发生,就可以容忍脆弱点的存在,因此攻击 预防和消除也可以看成脆弱点容忍的一种形式。同样的,通过脆弱点的预防和消 除也可以达到对攻击的容忍。三者统称故障容忍( f a u l tt o l e r a n c e ) 。入侵容忍 是故障容忍的一个分支,是故障容忍中对恶意故障进行容忍的部分,是本文研究 第二章入侵容忍的实现研究 的重点。入侵容忍可以有很多形式,比如检测( 发现侵入帐户的行为、特洛伊木 马的活动) 、还原( 拦截然后消除入侵者的行为影响) 、掩盖( 在几个组件中投 票,其中包含少数几个被入侵的组件) 等等。 对应安全机制失败序歹0 的各个阶段,三种故障:攻击、脆弱点和入侵的安 全对策分别有预防、预测、消除和容忍四种方法,对比如表3 1 : v u l n e r a b i l i t y a t t a c ki n t r u s i o n f o r m a l s p e c i f i c a t i o n ,f i r e w d l s , = a t t a c k & r i g o r o u sd e s i g na n d a u t h e n t i c a t i o n , v u l n e r a b i l i t y p r e v e n t i o n m a n a g e m e n tl a w s ,s o c i a l p r e s s u r e ,p r e v e n t i o n & r e m o v a l e c r e ts e v i c e f o r m a l p r o o f , p 阳v e n t i v e = a t t a c k & m o d e l - c h e c k i n g , c o r r e c t i v e v u l n e r a b i l i t yr e m o v a l r e m o v a l p r e v e n t i o n & c o r r e c t i v e m a i n t e n a n c ea i m e da t m a i n t e n a n c e r e m o v a lo f a t t a c k a g e n 灯 a s s e s s m e n to f p r e s e n c e a s s e s s m e n to f = v u l n e r a b i l i t y f o r e c a s t i n g o f v u l n e r a b i h f i e sp r e s e n c eo f l a t e n t a t t a c k f o r e c a s t i n g a t t a c ka g e n 捃 = a t t a c k p r e v e n t i o n - - v u l n e r a b l :l i t y = e r r o rd e m c 矗o n r e m o v a , i n t r u s i o n p r e v e n t i o n & r e m o v a l ,r e c o v e r y , f a u l t t o l e r a n c et o l e r a n c ei n t r u s i o nt o l e r a n c e m a s k i n g , i n t r u s i o n d e t e c t i o n , f a u l t h a n d l i n g 表3 i 安全方法 2 2 实现入侵容忍的方法 入侵容忍技术是入侵已经发生的情况下的安全措施,主要考虑在入侵存在 的情况下系统的生存能力,实现入侵容忍有两种途径。第一种途径是入侵响应, 这也是比较容易想到的解决方案,通过改进检测系统,加快反应时间,从而将信 息安全上升到一种在攻击发生的情况下能够继续工作的系统。另一种则被称为入 1 6 第二章入侵容忍的实现研究 侵的掩盖【l l 】,意思是入侵发生了以后,整个系统好像没什么影响,其实是使用入 侵容忍技术掩盖了入侵对系统的影响。这两种实现方式各有优缺点。 入侵响应的入侵容忍技术仍旧依赖检测或评估系统,或称为入侵容忍的触 发器系统。通过检测到局部系统的失效或估计到系统被攻击,然后调整系统结构, 重新分配资源,从而达到继续服务的目的。 入侵响应的入侵容忍系统一般都包括一个基于风险概念的入侵预测系统、 一个具有很高正确率的入侵判决系统、一套系统资源控制系统和在线的修复管理 程序,有些入侵容忍的体系中还包括隔离机制。当入侵预测系统预计某些活动可 能是攻击时,就进行资源的重新分配以减缓这种可能是攻击的操作。如果预测系 统认为某种操作可能会严重影响后续的系统运作,则隔离机制会将这种可疑的操 作隔离到其他区域。最后,在入侵判决系统做出正确的判决以后,修复管理程序 再将攻击操作所导致的错误结果进行修补。 可以看出,入侵响应的入侵容忍技术非常依赖于入侵判决系统。但目前的 入侵检测系统拥有过高的误警率和漏警率,从而无法担当入侵容忍触发器的重 任。资源调整系统是入侵容忍系统中的重要环节。如何有效地调整资源,保证最 大程度地限制被破坏区域的扩大是该类入侵容忍系统所要研究的。已有的许多技 术可以作为资源调整系统的基础,如具有带宽调整功能的防火墙就可以将可疑攻 击的口地址的带宽限制在一定的范围内,从而保证其他用户的正常通信。通过 重新定向的技术可以把可疑的操作导向到一个隔离区域从而保护系统的正常运 转。修补系统是该类型入侵容忍技术中的一个难点。一旦最后的判决认为某个操 作确实是入侵,系统必须修正所有被该入侵影响到的数据。为了达到入侵容忍的 目的,修复系统首先必须搞清楚哪些数据或系统受到影响变坏了”;其次,就是 把这些“坏了”的设备或数据进行正确的修复。能够仅仅恢复被感染的文件,而让 正确的工作得以保留,这才是入侵容忍的宗旨。如何跟踪每个可疑的操作,如何 备份就成为这个体系中的重要内容。 入侵掩盖的方法就是一开始就重新设计整个系统,以保证攻击发生后对系 统没有太大的影响。该方法的原理可以用古老的容错技术进行说明。比如,在设 计时就制造足够的冗余,以保证当部分系统被攻击时,整个系统仍旧能够正常工 作。当然,入侵容忍的冗余并不是简单的容错中的冗余,应该保证各冗余部件之 间具有复杂的关系,并具有不一样的结构。多方安全计算的技术、门槛密码技术、 b y z a n t i n e 协议技术等成为入侵容忍技术的理论基础。这些理论都具有同样一个 1 7 第二章入侵容忍的实现研究 基本前提:就是计算环境是不可信的,要设计一种结构,使可信的部分系统能够 在不可信的环境中安全地合作,才能完成系统的使命。 2 3 入侵容忍与传统容错的关系与区别 容错,是悠久成熟的安全技术,一直以来被广泛使用。入侵容忍是建立在 入侵检测和容错等其他网络安全传统领域所做的先前工作的基础上的。比如在一 个容错系统中,处理某个错误一般涉及到的四个步骤:错误检测、破坏情况估计、 重新配置和恢复,同样可以用到入侵容忍上来。可以说,入侵容忍是容错的一种 延伸“”,但又与容错有着很大的不同,主要表现在: ( 1 ) 传统容错技术大都着眼于设计或实现阶段的意外故障。这个着眼点允 许对可预言的故障行为进行一些合理的假设。而表现为受到安全威胁的系统组件 的主动入侵,它的行为是完全受到恶意控制的,来自系统组件外部的入侵使得故 障行为不可预知。

温馨提示

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

评论

0/150

提交评论