(计算机软件与理论专业论文)基于网络的web漏洞检测系统的研究与实现.pdf_第1页
(计算机软件与理论专业论文)基于网络的web漏洞检测系统的研究与实现.pdf_第2页
(计算机软件与理论专业论文)基于网络的web漏洞检测系统的研究与实现.pdf_第3页
(计算机软件与理论专业论文)基于网络的web漏洞检测系统的研究与实现.pdf_第4页
(计算机软件与理论专业论文)基于网络的web漏洞检测系统的研究与实现.pdf_第5页
已阅读5页,还剩58页未读 继续免费阅读

(计算机软件与理论专业论文)基于网络的web漏洞检测系统的研究与实现.pdf.pdf 免费下载

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

文档简介

摘要 计算机技术的一项非常伟大的变革就是w o r l dw i d ew e b 即w e b 的诞生,w e b 改变了一切。w e b 服务器的服务程序,它允许远程客户端访问服务器硬盘上特定 的部分,w e b 彻底改变了我们共享文件和传递信息的方式:w e b 浏览器,用于访 问世界各地的服务器上越来越多的网页。w e b 技术所能提供的远远不止是静态的 w e b 页面,更多的是动态的w e b 的交互方式,如c g i 技术实现的动态交互。这 些技术使得w e b 开始大众化。 随着w e b 应用越来越广泛,针对w e b 服务器以及w e b 应用程序漏洞发动的 攻击在各种攻击事件中所占比例越来越高,引起了普遍的关注。 目前的w e b 漏洞检测系统存在只能够探测已知漏洞、扫描不全面、检测盲目 性大、对网络缺乏综合性评估等缺点,还不够完善。基于网络的w e b 应用程序漏 洞检测系统是网络风险评估系统的一个功能模块,它结合插件技术与扫描漏洞库 技术从模拟攻击的角度出发探测w e b 服务器、以及w e b 应用程序漏洞,具有检 测范围较广、检测结果详细、使用方便、易于升级、速度较快等优点。因此,开 展本课题的研究具有重要现实意义。 论文首先根据项目设计的广泛背景、跟踪国内外现状,研究w e b 漏洞以其检 测相关方面的资料;然后提出基于网络的w e b 漏洞检测的概念,并研究探讨了基 于网络的w e b 漏洞检测系统设计的基本原则和框架、提出其完整的概念、探讨研 究了其实现原理;在此基础上设计了一个基于网络的w e b 漏洞检测系统,并实现 了系统原型;接着对系统原型进行了测试,证实了设计的可行性与合理性;最后 分析了系统的不足以前未来的发展。 关键词:w e b 安全w e b 漏洞漏洞库攻击 a b s t r a c t t h ed e v e l o p m e n to fw o r l dw i d ew e b ,i e w e b ,w e bi sag r e a te n o v a t i o no ft h e c o m p u t e rt e c h n o l o g y , w e bh a v ec h a n g e da l lt h et h i n g so nt h en e t w e bs e r v e rs o f t w a r e , a l l o w st h er e m o t ec l i e n t sh a v et h ea c c e s st oac e r t a i np a r to ft h es e r v e rh a r dd i s k ,h a v e c h a n g e dt h ew a yo ff i l es h a r ea n di n f o r m a t i o nt r a n s m i s s i o nc o m p l e t e l y ;w e bb r o w s e r , w i t hw h i c hw ec a ni n t e r v i e wm o r ea n dm o r ew e bp a g eo nt h en e t w e bt e c h n o l o g yi s m o s t l yo nt h eb a s i so ft h ed y n a m i cw e bi n t e r v i e w , b u tn o tw i t ht h es t a t i cw e bp a g e t h i sm a d ew e b p o p u l a r w i t ht h ea p p l i c a t i o no fw e bb e c o m i n gm o r ea n dm o r ep o p u l a r , t h e r ec a u s e d i n c r e a s i n ga t t a c k o fw e bb a s e do nt h ew e bs e r v e ra n dt h ew e ba p p l i c a t i o n v u l n e r a b i l i t i e s ,a n dt h i sa r o s em o s tp e o p l e sa t t e n t i o n t h ec u r r e n td e t e c t i o na n da t t a c k i n gt o o l sa r ei m p e r f e c ti nd e t e c t i n gu n k n o w n v u l n e r a b i l i t i e s ,t r a v e r s i n gt h et a r g e ts y s t e mc o m p l e t e l y , o v e r a l la s s e s s m e n to fat a r g e t n e ta n de t c 。t h ew e bd e t e c t i o ns y s t e mb a s e do nt h en e ti sap a r to ft h en e te v a l u a t i o n s y s t e m u s i n gt h et e c h n o l o g yo fp l u g - i n sa n dd e t e c t i o nd a t a b a s e s ,t h ed e t e c t i o ns y s t e m c a nf i n dt h et a r g e t sw e bs e r v e ra n ds o m ew e ba p p l i c a t i o n sv u l n e r a b i l i t i e s ,f r o mt h e a t t a c k e r se y e s t h i sk i n do fd e t e c t i o ns y s t e mh a ss o m es t r o n gp o i n t s t h ef w s ti th a sa b r o a dd e t e c t i o ns c o p e t h ec e c o n di se a s yt ou s ea n df l e x i b l et ou p g r a d e t h et l l i r dl i e s i nt h ed e t e c t i n gw a yt h a ti ss i m i l a rt ow h a tt h eh a c k e r sd o t h e r e f o r e ,t os t u d yt h i sk i n d o fs c a n n i n gs y s t e mi ss i g n i f i c a t i v e f i r s tt h i sp a p e rf o l l o w e dt h ed o m e s t i ca n di n t e r n a t i o n a lp r e s e n tc o n d i t i o nt os t u d y t h e c o r r e s p o n d i n gd a t aa c c o r d i n gt ot h e e x t e n s i v e b a c k g r o u n do ft h ep r o j e c t d e s i g n a t i o n ;t h e ng a v et h ec o n c e p to fd e t e c t i o no ft h ew e bv u l n e r a b i l i t i e s s t u d i e da n d d i s c u s s e dt h eb a s i cp r i n c i p l ea n df r a m e so ft h ed e s i g n g a v et h ei n t e g r a t ec o n c e p to f t h eb a s i cp r i n c i p l ea n df r a m e so ft h ed e s i g n w i n lt h ek n o w l e d g e ,i nt h ep a p e r , aw e b v u l n e r a b i l i t yd e t e c t i n gs y s t e mb a s e d - o nn e t w o r ki sd e s i g n e da n di t sp r o t o t y p ei s i m p l e m e n t e d l a s t l ya t e s ti sc a r r i e do u tt ov a l i d a t et h ef e a s i b i l i t ya n dr a t i o n a l i t yo ft h e d e s i g n k e y w o r d s :w e bs e c u r i t yw e bv u l n e r a b i l i t y v u l n e r a b i l i t yd a t a b a s e sa t t a c k 创新性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果:也不包含为获得西安电子科技大学或 其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做 的任何贡献均已在论文中做了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名: 焦遣纽 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究生 在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。本人保证毕业 离校后,发表论文或使用论文工作成果时署名单位仍然为西安电子科技大学。学 校有权保留送交论文的复印件,允许查阅和借阅论文:学校可以公布论文的全部 或部分内容,可以允许采用影印、缩印或其它复制手段保存论文。( 保密的论文在 解密后遵守此规定) 本学位论文属于保密,在年解密后适用本授权书。 本人签名: i 奎热蕴 导师签名: 日期】g 2 。2 3 日期2 d 甜2 2 9 第一牵绪论 第一章绪论 l 。1 研究背景 w e b 的诞生改变了人们的生活与工作方式,使得通过网络信息的共享、传输 以及交互变得比以往任何时候、任何方式都要方便,特别是动态网页技术。隧着 w e b 使用的普及、各种动态w e b 技术的使用,尽管越来越多的个人或组织越来越 关注他们宣已黢w e b 站点豹安全,但是利用w e b 漏洞进行的攻击事件还是在逐 年大幅度的递增。总的来说w e b 漏洞攻击事件的成因主要有以下几个方面: ( 1 ) w e b 服务器通常都很繁忙,这就使得网络攻击可以隐藏在大量的数据 流中; ( 2 ) w e b 开发周期短,缺少以往的软件工程的经验; ( 3 ) w e b 雳户都楚匿名的,足乎所有翦东西都可以被欺骗或伪造,这绘管 理带来了很大的困难; ( 4 ) w e b 是无状态的且w e b 本身并不包含任何安全控制,需要建立一种人 工的机制,完成对状态的管理以及安全管理。 2 0 0 6 年c n c 邵咧c c 接收2 6 4 7 6 件非扫描类安全事件报告( 基中包括从2 0 0 6 年8 冀启用的盘主研发的篡改圈页监测系统发现的数据) ,与2 0 0 5 年摆跑增长了 两倍左右。w e b 服务器、文件错误或缺陷引发的攻击占了所有安全事件报告的很 大比率,c n c e r t c c 报告统计仅在中重大陡共发生2 4 4 7 7 徉w e b 站点攻击事捧。 2 0 0 3 年至2 0 0 6 年c n c e r t c c 报告在中国大陆共发生的w e b 站点攻击事件如图 1 1 所示l l 】。 3 0 0 0 0 2 5 0 0 0 2 0 0 0 0 1 5 0 0 0 1 0 0 0 0 5 0 0 0 蠡 2 4 4 7 7 一 =立 2 基于网络的w e b 漏洞检测系统的研究与实现 外部的攻击行为【2 】。但首先防火墙是设置在不同网络( 如可信任的企业内部网和 不可信的公共网) 之间的一系列部件的组合,它是内部网和外部网之间信息的唯 一出入口,能根据企业的安全策略控制( 允许、拒绝、监测) 出入网络的信息流, 且本身具有较强的抗攻击能力。但是防火墙也存在众多局限性,例如存在不能很 好的防范来自内部网络的攻击、无法对不经过防火墙的数据进行检测等缺点,为 了进一步保证系统安全,人们使用了入侵检测系统。入侵检测系统是防火墙的合 理补充,帮助系统对付网络攻击,尤其是能够预防来自于防火墙内部的恶意攻击 其次入侵检测系统从计算机网络系统中的若干关键步收集并分析信息,查看网络 中是否有违反安全策略的行为和遭到袭击的迹象。入侵检测被认为是防火墙之后 的第二道安全闸门,在不影响网络性能的情况下能对网络进行监测,从而能够动 态防止从内部和外部发动攻击。但是,配置防火墙和入侵检测系统只能是网络安 全策略的一部分,功能是有限的,并不能完全杜绝黑客的攻击行为,例如它们对 黑客利用w e b 服务器、w e b 应用程序漏洞发动的攻击就无能为力。利用应用程序 漏洞发动的攻击同样导致巨大的破坏,例如黑客可能会进行电子欺骗、篡改数据、 偷窃信息、特权升级等,这些攻击的后果将是十分严重的。因此,如何有效地利 用安全技术和安全产品对目标网有一个整体的认识以保障系统与网络的安全,已 经成为当前信息安全领域的研究热点之一。 漏洞扫描系统正是针对防火墙、入侵检测系统不可能做到完全拒绝攻击而诞 生的。漏洞检测系统可以发现当前计算机网络系统存在的不足以及给出网络的改 进措施,但漏洞检测系统最重要的是对整个网络系统以全面的扫描以获得系统的 概括,这使得用户能对他们的网络系统有一个较为系统的了解,同时可以对漏洞 进行补足,做到防火墙无法做到的事情。 黑客常常利用w e b 服务器、w e b 应用程序漏洞来实施攻击,系统应该力求 所有部分的安全,一个小的安全漏洞可能会此起连锁反应,导致安全措施的失效 但目前看来,人们对应用安全的考虑远没有像网络安全和数据传输安全那样全面 细致,w e b 安全是容易被忽略的,因而也是最容易带来严重问题。图1 2 显示了 常用的三类安全保护机制【3 】。 i 没有安全框架的应用 i防火墙加密和认证以及 i 商业产品、公共软件等 图1 2 三类安全保障机制 第一章绪论 使用加密技术与认证技术能够进行安全数据传输,防止信息在传输过程中被 窃取,用防火墙可以阻止网外用户的非法访问,那么当用户以合法身份使用系统 提供的服务而其提交的参数又具有攻击性时,加密技术、认证技术、防火墙对阻 止这类攻击无能为力。 在这种情况下迫切的要求管理员、用户或网络设计人员可以准确的知道他们 的网络系统面临的威胁程度、可以采用什么机制及策略来应对网络安全问题,使 得他们的网络系统更安全、更可靠。所以,一个基于网络的w e b 检测漏洞系统对 大多数用户来说是非常必要的。 信息系统安全漏洞是各种安全威胁的主要根源之一。2 0 0 6 年c n c e r t c c 共整理发布和我国用户密切相关的漏洞公告8 7 个,同比2 0 0 5 年增长了1 6 ;其 中的部分漏洞严重威胁互联网的运行安全,更多的漏洞则对广大互联网用户的系 统造成严重威胁。w e b 是互联网用户的门户,2 0 0 6 c n c e i 刑c c 接收的国内2 6 4 7 6 件非扫描类网络安全事件报告中就有2 4 4 7 7 件是由于w e b 引起的【l 】。 因此,建立一个完备的w e b 漏洞检测系统,以求尽早的发现漏洞以进行修 补,并给相应的系统安全性提供一种参考,是有必要的。基于网络的w e b 漏洞检 测系统就是起这样作用的一类工具,是一个非常值得研究的课题。 1 2 课题研究的目的、内容和目标 1 2 1 研究目的 就目前w e b 系统的安全状况而言,w e b 服务器以及w e b 应用程序存在漏洞 是难免的,因此也就有潜在的安全威胁。w e b 漏洞检测系统是运用一种积极的办 法来探查w e b 服务器、w e b 应用程序的缺陷,它工作在应用层,进行静态的安全 检查,利用了一系列的检测请求模拟对系统进行攻击,并对结果进行分析,确定 问题所在,给出改进建议以及缺陷的危险等级。w e b 应用程序漏洞检测系统与防 火墙、入侵检测系统是互补的,它的工作是防火墙、入侵检测系统无法替代的, 它们共同组成了w e b 系统的安全屏障。 , 因此,无论网络服务系统是否建立了完善的防护体系,都应该对w e b 系统 实施严格、完整的安全性检测,只有经过客观深入的扫描才能真正建立起w e b 系 统的安全基线。通过网络扫描可以及时发现漏洞,并采取适当的处理措施修补缺 陷,就可以有效地阻止入侵事件的发生,做到防患于未然。通过对w e b 系统漏洞 进行安全评级,就可以给用户一个透明的网络,从而针对具体情况进行安全管理 w e b 服务器以及w e b 应用程序是网络系统安全中具有挑战性的部分,进行 4 基于网络的w e b 漏洞检测系统的研究与实现 w e b 系统漏洞检测是一项十分有意义的工作。本文在分析现有w e b 漏洞检测技术 及特点的基础上设计并实现了一个基于网络的w e b 系统漏洞检测系统,对确保 w e b 系统的安全具有重要的意义【4 】。 1 2 2 研究内容 本课题的主要内容包括: ( 1 ) 对w e b 漏洞检测理论和技术的发展和现状进行了广泛的分析与研究; 阅读大量的文献,了解了各种类型的漏洞检测机制,并进行比较,分析其各自的 优缺点;着重研究了w e b 服务器以及w e b 应用程序漏洞检测的主要原理及关键 技术; ( 2 ) 研究w e b 系统的特点,研究和提出了一套针对w e b 系统的、较为行之 有效的模拟攻击方法,设计和实现了基于网络的w e b 漏洞检测系统的原型,并验 证设计的合理性。 1 2 3 研究目标 本课题的研究目标包括: ( 1 ) 基于网络的w e b 漏洞扫描系统能够扫描探测多种类型的w e b 系统漏洞, 特别是与w e b 服务器以及w e b 应用程序相关的漏洞; ( 2 ) 基于网络的w e b 漏洞扫描系统具有可扩充性,可以方便的更新各个功 能部件; ( 3 ) 基于网络的w e b 漏洞扫描系统的运行效率较高,并且检测结果具有较 高的检测准确性; ( 4 ) 基于网络的w e b 漏洞扫描系统能够给出详细的w e b 应用安全漏洞检测 报告及相关修改建议; 1 3 论文结构 全文共五个章节,各章节组织如下: 第一章:绪论介绍了课题的研究背景,提出了课题研究的方向,并对课题研究 工作进行整体介绍。 第二章:w e b 安全及相关漏洞基础介绍了信息安全的现状、w e b 服务基础以及 十多种主要的w e b 服务器以及w e b 应用程序相关的漏洞。 第三单:漏洞检测技术分析了漏洞检测系统的研究现状、检测原理与实现技术。 第一章绪论 通过分析指出了已有w e b 漏洞检测系统的有待改进的地方。 第四章:基于网络的w e b 漏洞检测系统的设计与实现提出了一种基于网络的 w e b 漏洞检测系统设计思想,以w e b 服务器漏洞检测、跨站点脚本检测 为例详细阐述了基于网络的w e b 漏洞检测系统的原理和实现细节。最后 对系统进行了测试与测试结果分析。 第五章:总结与展望对本课题所实现的w e b 漏洞检测系统的贡献以及不足进行 了总结,同时提出了本课题下一步工作的设想。 第二章w e b 安全漏洞 7 第二章w e b 安全漏洞 2 1 信息安全概述 随着计算机及网络通信技术的迅猛发展,如今的互联网已经成为触及全球任 何角落的开放的网络,借助网络带来的实时性、方便性及低成本性,任何团体或 个人都可以利用遍布全球的网络资源方便地传送并获取各种各样的信息。不过, 也应该看到,由于计算机系统及网络安全防护能力薄弱,再加上法律及道德规范 的不健全,使得互联网在迅速发展的同时也存在着极大的安全风险和隐患。 为了消除网络上弥漫的不安定因素,遏制黑客肆无忌弹的攻击行为,人们一 直没有中断过对网络安全问题的研究。针对系统及数据的安全,对密码学技术的 应用逐渐成熟了起来;针对网络入侵,防火墙技术、入侵检测系统得以发展和完 善;为了消除系统隐患,人们又采用了各种主动审核技术,包括漏洞扫描、动态 响应等。随着人们对网络安全问题的日益重视,网络安全技术的发展也逐渐形成 了完整的体系。 完整体系的角度,典型的信息安全技术应该包括物理安全技术、网络安全技 术、数据加密技术、认证授权技术、病毒防护技术、灾难恢复与备份技术等【5 】, 下面就简单地分别将以介绍: ( 1 ) 物理安全技术:物理安全,是保护计算机网络设备、设施以及其它媒体 免遭地震、水灾、火灾等环境事故以及人为操作失误及各种计算机犯罪行为导致 破坏的过程,它主要包括三个方面:环境安全、设备安全、媒体安全,保证物理 安全可用的技术手段很多,这方面有许多可以依据的标准,例如,国家标准 g b 5 0 1 7 3 93 电子计算机房设计规范、国标g b 2 8 8 7 8 9 计算机场地技术条件) 、 g b 9 3 6 1 8 8 计算机场地安全要求,以及其它诸如防辐射防电磁干扰的众多标准, 当然,要保证物理安全,人员素质管理也非常重要。 ( 2 ) 网络安全技术:网络安全技术包括网络隔离、访问控制、加密通道、入 侵检测、安全扫描等。网络隔离可以通过网段隔离、交换网络、v l a n 等技术来 实现;访问控制则通过包过滤、应用网关、状态检测等防火墙技术来实现;加密 通道包括链路层加密( l 2 f ,p p t p ,l 2 t p ) 、网络层加密( i p s e c g ) 、传输层加密 ( s s l ,t l s ,s s h ,s o c k s ) 、应用层加密( s h l 曙,s m i m e ,p g p 等) ;入侵检 测包括基于主机和基于网络检测两种技术;安全扫描则是一种较为主动的安全防 基于网络的w e b 漏洞检测系统的研究与实现 护机制,包括基于主机、基于网络和基于应用三种。 ( 3 ) 数据加密技术:数据加密是一项有着悠久历史的技术,其核心内容就是 密码学( c r y p t o g r a p h y ) 。具体的加密途径有两种,一种是硬件加密,其效率高、安 全性好,但适应性差;另一种是软件加密,其优点是灵活、方便、实用、经济, 但安全性不如硬件加密高。数据加密技术的基本功能,一是实现身份认证,二是 实现数据的机密性( 可信性) ,三是实现数据的完整性。加解密过程通常是在密钥 的控制下进行的,并有加密密钥和解密密钥体制,典型的有d e s 、3 d e s 、r c x , i d e a 等算法。后来又出现了加密强度更高的非对称密钥体制,其加密密钥和解 密密钥是不同的,通常被称作公开密钥加密( p u b l i ck e y e n c r y p t i o n ) ,最典型的 就是r s a 算法。 ( 4 ) 认证授权技术:数据加密技术解决的是数据在传输过程中保密性的问题, 而身份认证,则是对通信方进行身份确认的过程。通常身份认证和授权机制联系 在一起,提供服务的一方,对申请服务的客户身份确认之后,就需要向他授予相 应的访问权限,规定客户可以访问的服务范围。常用的认证技术包括口令认证、 基于第三方的s s o 认证( 例如获至宝k e r b e r o s ) 、基于证书的认证等。 ( 5 ) 防病毒技术:病毒问题,是比网络安全问题更早引起世人关注的问题, 随着网络技术的发展,反病毒技术更是朝着网络化的方向发展,以往的单机防病 毒技术,已经不适应目前网络安全建设的需要了。现在采用的整体防病毒体系, 针对网络中所有可能的病毒系统配置,使企业网络免受病毒的入侵和危害。 ( 6 ) 灾难恢复和备份技术:灾难恢复技术,也称为业务边疆性技术,是信息 安全领域一项重要的技术。它能够为重要的计算机系统提供在断电、火灾等各种 意外事故发生时,甚至在如洪水、地震等严重自然灾害发生时保持持续运行的能 力。对企业和社会关系重大的计算机系统都应当采用灾难恢复技术予以保护。进 行灾难恢复的前提就是对数据的备份,之所以要进行数据备份,是因为现实世界 中有种种人为因素造成的意外的或不可预测的灾难发生。一个完整的备份及灾难 恢复方案应该从必须的硬件、软件、策略以及灾难恢复计划等多方面入手,才能 保证快速、有效的数据备份及恢复。 以上介绍的,就是一些目前被广泛采用的典型的信息安全技术。 必须承认的是,解决网络安全的问题并没有一劳永逸的万全之策。技术在发展, 系统和网络涌现出许多新的问题,黑客的攻击手段不断地更新变换,而相应的防 御技术也在不断发展。 第二章w e b 安全漏洞 9 2 2w e b 安全漏洞基础 2 2 1w e b 安全漏洞分析 w e b 安全漏洞可以分为两类:一类包括平台的安全漏洞,另一类是应用自身 的安全漏洞。 2 2 2w e b 平台的漏洞 平台自身的安全漏洞许多w e b 应用程序共享的部分,例如l i n u x 、 w i n d o w s 、a p a c h e 和o r a c l e 等。它们扮演着以下角色【8 】: 一w e b 服务器这一部分为用户浏览器提供w e b 页面。最常用的例子就是 a p a c h e 和s 。每种w e b 服务器都有一系列安全漏洞。 ,一应用服务器这一部分替用户操作、解释、提供数据。应用服务器可以是 w e b 服务器的一部分,例如p h p 和a p a c h e ,或是a s p n e t 和s 就是这样。另 一方面,应用服务顺可以是物理上独立的服务器,例如t o m c a ts e r v l e t 引擎。每种 w e b 应用服务器同样有一系列安全漏洞。 数据库这一部分存储应用所需的全部数据。尽管用户能够与w e b 和应 用服务器交互,但他们通常不能直接访问数据库服务器。大多数情况下,应用服 务器代理用户和数据库之间的数据,并格式化数据使之正确存储。每种数据库服 务器也都有一系列安全漏洞。 对平台的安全检测这是漏洞检测的第一步,基于平台的漏洞一般发生在已知 漏洞基础之上,所以了解目标网络的平台情况是进行其它相关工作的前提和基础, 表2 1 是一个平台概括表用来存储所获取的平台信息【9 】【l o 】: 表2 1 平台概况表 步骤( 对每台服务器重复执行) 后续步骤及潜在的攻击 识别服务器的角色它的功能是什么? ( w e b 、应用程序、数据库、防火墙、代 理、管理) 、它处理什么数据? 它和哪个服务器交互? ( 例如,w e b 服务器直接和数据库 联系吗,还是有其应用程序服务器作为中介7 ) 确定操作系统及其版本 由标语信息、合理的推测和“n m a p - - o ”的结果来识别操作 系 统。 确定操作系统和应用程序的补丁访问操作系统和误码用程序开发商的站点,查 l o 基于网络的w e b 漏洞检测系统的研究与实现 级别 扫描开放的端口 记录开放的服务器的类型,补 丁的级别和所用的其它组件 研究已知的安全漏洞 看有关最新的补丁信息 扫描t c p 和u d p 端口、应用程序服务器端u i ( 7 0 0 0 、8 0 0 0 等) 、管理端口( 2 2 、2 3 、2 3 0 1 、3 3 8 9 、1 0 0 0 0 ) 、代理端口( 8 0 8 0 ) 、 系统端u ( 7 9 、1 1 l 、1 3 9 、4 4 5 、5 1 2 ) i r i s 系统的i s a p i 过滤器 这些信息对找出已知的安全漏洞、测试功能性( 例如 w e b d a v ) 以及搜索常见的h t m l 文件很有用处 p a c k e t s t o r m s e c u r i t y o r g 和w w w s e c u r i t y f o c u s c o m 站点上提 供了很好的资源,另外w w w c g i s e c u t i r y , e o m 一站点上则提供 应用程序级的安全漏洞信息。 2 2 3w e b 应用程序漏洞 w e b 应用自身的安全漏洞,即w e b 站点中的编程错误引起的暴露用户的详细 信息、允许恶意用户执行任意的数据库查询,甚至允许通过远程命令行访问服务 器。基于w e b 的应用程序漏洞是错综复杂的,常见的w e b 应用程序漏洞有以下 几大类。 1 、物理路径泄露漏洞 物理路径泄露即攻击者可以利用此漏洞得到的信息对系统进行进一步的攻 击,提供w e b 、f t p 、s m t p 等公共服务器都可能出现物理路径泄露的问题。导 致w 曲服务器路径泄露的原因有很多,可能是w e b 平台本身、脚本语言解释器、 引擎插件、组件、辅助程序等一些原因错误导致的。很多时候w e b 服务器路径泄 露漏洞是由于w e b 服务器处理用户请求出错导致的,如通过提交一个超长的请 求,或者是某个精心构造的特殊请求,或者是请求一个w e b 服务器上不存在的文 件。这些请求都有一个共同特点,那就是被请求的文件肯定属于c g i 脚本,而不 是静态h t m l 页面。比如,对于很多c g i 论坛来说,提交一个不存在的c g i 文 件请求,或者提交一个没有输出的c g i 文件的请求,请求返回结果将会把网站本 身所在的物理路径给暴露出来。 一 另一种类型的w e b 服务器路径泄露漏洞是由于w e b 服务器的某些显示环境 变量的程序错误输出了w e b 服务器的物理路径。 、 2 、源代码泄露漏洞 源代码泄露漏洞的产生是由于输入验证错误引起的。 以i i s 为例,i i s 是通过文件扩展名来决定将一个文件内容直接显示出来还是 作为脚本执行的。对于a s p 文件,如果请求中的扩展名是“a s p 那么s 可以正 确处理。如果将扩展名后面加一个“8 1 。,i i s 将不认为这是一个a s p 文件,也 第二章w e b 安全漏洞 就不会执行。但是文件系统会忽略文件名后的“8 1 ”,可以正确找到文件。 例:请求u r l 为 h t t p :w w w m e g a m o n e y c o r p c o m g e t r e p o r t a s p ? i t e m = q1 - 2 0 0 5 h t m 则可以构造u r l : h t t p :w w w m e g a m o n e y c o r p e o m g e t r e p o r t a s p ? i t e m = g e t r e p o r t a s p 以显示源代码。 3 、目录遍历漏洞 w e b 服务器程序( w e b 应用程序也是如此) 就是向用户提供包含动态或者静 态页面,这些页面都存储在w e b 服务器中。w 曲服务器和w e b 应用程序的作用 就是对这些页面进行处理并将其发送到客户机上,同时将正在访问的用户限制在 表示w e b 内容的文件中,而且还需要阻止攻击者浏览和执行w e b 服务器上的任 何其它文件。 目录遍历攻击指的是恶意用户找到受限文件的位置并且浏览或者执行它们。 攻击者浏览受限文件,如读取了密码文件就会破坏隐私甚至引发安全问题。另一 个严重的问题就是执行受限的文件,攻击者就可以根据自已的意愿来控制或修改 w e b 站点【1 2 】。 目录遍历主要使用猜测文件是否存在的方法进行。 例:假如有u r l 、 h t t p :w w w m e g a m o n e y e o r p e o m g e t r e p o r t a s p ? i t e m = q1 - 2 0 0 5 h t m 首先,可以推断出h t m l 文件q 1 2 0 0 5 h t m 在w e b 中是允许用户读取的,应 用程序就正在载入文件,并且将其中的内容显示给用户。 其次将u r l 地址简单的改为: h t t p :w w w m e g a m o n e y e o r p c o m g e t r e p o r t a s p ? i t e m = q 2 - 2 0 0 5 h t m 如果存在同名的文件( q 2 。2 0 0 5 h t m ) ,并且服务器对于文件的访问权限没有 进行限制的话,就可以看到其中的内容了。可以通过这种猜测的方法,获取在 w 曲服务器上本不该允许我们访问的文件。 另外,也可以借助于操作符 s l 1 2 ,让应用程序到父目录中查找文件,例如 上例中g e t r e p o r t a s p 请求并不成功时,则g e t r e p o r t a s p 文件一定会在w 曲服务器 上的另外某个目录下,因为正常输入产生的请求可以成功,也就是说g e t r e p o r t a s p 这个文件不过是存在于其他某个地方罢了。此时就可以利用。操作符就可以让应 用程序到父目录中查找文件: h t t p :w w w m e g a m o n e y c o r p c o m g e t r e p o r t a s p ? i t e m = g e t r e p o r t a s p 可以继续这样连续两个。、三个。操作符会使在目录树中的位置上升四个等 级。就算目标文件不在那里也可以通过不断的尝试,根据返回的错误信息最终找 到其位置。 1 2 基于网络的w e b 漏洞检测系统的研究与实现 4 、执行任意命令 在w e b 发展的早期,程序员利用c 语言或者p e r l 语言编写w e b 应用程序, 存放于u n i x 服务器上。这个理念就是编写短小的应用程序,并且将他们连接起 来,完成更复杂的功能。在安全方面,当数据被传送到一个不同环境的其他组件 中时,会对w e b 服务器造成很大的安全漏洞,使得攻击变得异常的容易。这种攻 击背后的思想就是运行自已输入的命令,而不是按照开发人员预期的那样,执行 某个指定的程序。 攻击这种漏洞的目标是发送到服务器上的操作系统命令或者可执行程序的用 户输入【8 】。这些输入域的一部分会常出现在应用程序的参数中,这些参数可能是 页面中包含的一些被引用的文件,也可能是其他程序的参数。任何需要操作系统 协助才能完成的功能如创建用户、修改文件、收集主机数据等等一都需要 通过某种接口和外部的程序进行交互。如果这些程序中的任意一个不能对发送来 的数据进行验证,就会是系统中很容易受到攻击的弱点环节。 在测试时,首先应该简单的尝试的是通过分号或者新的换行符( ) ,附加 在其它命令后执行自已的程序,对于操作系统而言,这些操作符意味着上一个命 令的结束和下一个命令的开始。可以使用符号i ( 管道) 和 ( 大于号) 使得输出 重定向到其他的文件或者程序中。另一个具有扩展含义的元字符是”。这些符 号都会告诉u n i x 执行元字符之间的命令,并且将返回的结果写回。 5 、缓冲区溢出漏洞 缓冲区溢出是针对w e b 应用最严重的一种攻击,当程序无法检查正在处理的 数据输入量时就有可能发生缓冲区溢出问题,如果输入的数据量超过了程序为其 分配的内存空间的大小,它就会侵占其他程序堆栈的内存空间,这些内存中原有 的其他数据就会被覆盖【8 1 。大多数情况下,这些被覆盖的数据会导致软件崩溃。 不是所有w e b 应用程序都会受到缓冲区溢出的影响【1 3 】,缓冲区溢出攻击的广 泛应用和针对它的研究使得开发人员拥有了大量可靠的编程语言和防御措施,也 使得很多w e b 应用程序甚至是操作系统的有关部分都具备对这种攻击的防御能 力。 分析w e b 应用程序的执行文件的名称,如果是j a v as e r v l e t s ( 其u r l 路径通 常为s e r v l e t ,后缀名为j s p ) 、n e t 程序( a s p x ) 或是p 肿程序( p h p ) ,则不需 要考虑这个问题,因为它们的后台管理代码对于大多数类型的缓冲区溢出攻击都 是免疫的,这些运行环境能够仔细检查对内存和数组的访问,并在需要的时候重 新分配缓冲区。 缓冲区溢出测试的主要目标是以c x o 、d l l 、或是c g i 为后缀的本地代码。 6 、拒绝服务攻击 拒绝服务攻击思想是【1 4 】代码的执行总是需要时间的,每次调用函数,或者是 第二章w e b 安全漏洞 由w e b 服务器或者是由应用程序或者是由数据库,函数执行的过程中总要耗费一 定的处理器周期。如果执行过程需要很长的时间,并且操作系统无法将其切换到 其他的程序上,服务器就会被束缚在为一个请求进行服务的过程中。 所以,现在多数的w e b 服务器都采用了多线程,即多任务的思想系统中 同时存在多个任务,如果其中的某_ 个任务占用了过长的时间,影响了其他任务 的执行速度,操作系统就可以进行切换执行另外的任务。例如,a p a c h ew e b 服务 器默认支持系统中同时存在十个进程处理发送来的请求。这就存在一种潜在攻击, 如果将大量的请求快速提交到w e b 服务器上,并且都是很多耗时的服务,就可以 阻止其他用户正常访问w e b 站点,这就是所谓的拒绝服务( d o s ) 攻击。 以m i c r o s o f ti i s5 0 为例,它在处理以“i d a 为扩展名的u r l 请求时,它会 有两种结果 1 5 1 1 1 6 1 。一个可能的结果是服务器回复“u r ls t r i n gt o ol o n g 的信息或 类似“c a n n o t f i n d t h es p e c i f i e d p a t h ”的信息。另一种可能就是服务器上服务停止, 并返回“a c c e s sv i o l a t i o n ”信息( 即成功的实现了对服务器端的拒绝服务攻击) , 当远程攻击者发出类以如下的请求时, h t t p :s o m e u r l 2 5 k bo f 】i d a 服务器会崩溃( 导致拒绝服务攻击) 或返回该文件不在当前路径的信息( 暴露文 件物理地址) 。 7 、c g i 漏洞攻击 c g i 程序是交互性的,它允许用户把自已的数据按照一定的格式发送给服务 器,然后由服务器对其进行解释,之后再把解释的结果传给用户,如果用户提交 了一些非正常的数据,那么服务器在解释这些数据时可能会绕过i i s 对文件名所 作的安全检查,在某些条件下,攻击者可以执行任意系统命令【1 8 1 。 8 、站点脚本攻击 w e b 页面经常在应用程序的某个地方对用户的输入进行回显【1 8 1 。一般在预先 设计好的某个特定域中输入纯文本才能被回显,但是h t m l 并不仅仅支持纯文 本,还可以包含多种客户端的脚本代码,以此来完成许多操作,诸如验证表单数 据,或者提供动态的用户界面元素。 对本地计算机而言,客户机的脚本多是良性的。其执行的环境受到某些特定 操作的限制,即所谓的“沙箱。这样,仅仅是访问了恶意的w e b 页面,远程的 用户也无法利用跨站点脚本漏洞。但允许用户向被用作客户机上脚本的应用程序 提交输入,是非常危险的。x s s 意味着攻击者输入了正在其他用户的计算机上执 行的脚本。 尽管“沙箱”避免了用户利益遭受严重的损害,客户机上的代码仍然需要能 够完成某些操作,对受限资源进行存取也就是受攻击用户的浏览器在使用的文件 和资源。这是非常危险的,因为当脚本执行时,就获得了对当前页面和其中所有 1 4基于网络的w e b 漏洞检测系统的研究与实现 信息的存取权限。这就是意味着恶意攻击可以通过x s s 来盗取用户的c o o k i e ( 从 而可以伪装成此用户) ,将用户引导至其他的恶意页面,并且向其提供虚假的内容, 诱导用户在其中输入私人信息。 主要有两种方法,可以利用容易攻击的页面进行x s s t l 9 】: 第一种:存储好的x s s 政击者最常检查的x s s 漏洞就是那些让用户输入 信息,以供其他浏览此页的用户进行查看的地方。包括留言、书评、用户登录框 或者是博客上的评论。如果将来其他用户浏览此w e b 页面,应用程序就从存储单 元中搜集数据,并且将其显示出来。采用这种回显静态数据的方法通常是有害的, 但是攻击者可以用脚本代替静态的数据。在这种情况下,攻击者通常将脚本直接 输入到被攻击的站点的表格域中。此时,脚本代码被留在被攻击的服务器上。当 其他用户访问这个页面时,这些脚本就开始执行。 第二种:反射的x s 卜将脚本嵌入到u r l 的地址的c g i 参数中。此时, 攻击者可以通过电子邮件将一个链接发送到潜在的受害者,当被攻击者单击链接 时,页面被下载,但是其中的内容被嵌入在u r l 中的脚本修改了。这种情况不需 要将脚本存放在受攻击的站点中,因为脚本是在用户不幸的单击了那个被篡改过 的链接时,页面载入过程中才完成执行的。 跨站点脚本攻击过程如图2 1 所示1 2 0 2 1 : 图2 1 跨站点脚本攻击过程 h t m l 支持了很多种将脚本嵌入页面中的机制,最常见的就是使用 第二章w e b 安全漏洞 标签,其他标签还有 、 、 、 i 、 、 i f r a m e 、 、 、 、 以及 , 都可能会引发跨站脚本漏洞问题。 9 、s q li n j e c t i o n 攻击 s q l 命令就是前端w e b 和后端数据库之间的接口,使得数据可以传递至w e b 应用程序,也可以从其中发送出来。很多w 曲站点都会利用用户输入的参数动态 的生成s q l 查询要求,攻击通过在u r l 、表格域,或者其他的输入域中输入自 已的s q l 命令,以此改变查询属性骗过应用程序,从而可以对数据库进行不受限 的访问

温馨提示

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

评论

0/150

提交评论