(计算机科学与技术专业论文)基于模糊测试的xss漏洞检测系统研究与实现.pdf_第1页
(计算机科学与技术专业论文)基于模糊测试的xss漏洞检测系统研究与实现.pdf_第2页
(计算机科学与技术专业论文)基于模糊测试的xss漏洞检测系统研究与实现.pdf_第3页
(计算机科学与技术专业论文)基于模糊测试的xss漏洞检测系统研究与实现.pdf_第4页
(计算机科学与技术专业论文)基于模糊测试的xss漏洞检测系统研究与实现.pdf_第5页
已阅读5页,还剩64页未读 继续免费阅读

(计算机科学与技术专业论文)基于模糊测试的xss漏洞检测系统研究与实现.pdf.pdf 免费下载

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

文档简介

r e s e a r c ho na n di m p l e m e n t a t i o no fx ssv u l n e r a b i l i t ym i n i n g b a s e do nf u z z i n gt e c h n o l o g yb y l i u w e i b e ( x i a n g t a nu n i v e r s i t y ) 2 0 0 2 at h e s i ss u b m i t t e di np a r t i a ls a t i s f a c t i o no ft h e r e q u i r e m e n t sf o rt h ed e g r e eo f m a s t e ro f e n g i n e e r i n g 1 n c o m p u t e ra p p l i c a t i o n i nt h e g r a d u a t esc h o o l o f h u n a nu n i v e r s i t y s u p e r v i s o r p r o f e s s o rs u nx i n g m i n g j u n e ,2 0 1 0 湖南大学 学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所 取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任 何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡 献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的 法律后果由本人承担。 作者签名:未j 为 日期:加年月归日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意 学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文 被查阅和借阅。本人授权湖南大学可以将本学位论文的全部或部分内容编 入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇 编本学位论文。 本学位论文属于 l 、保密口,在年解密后适用本授权书。 2 、不保密团。 ( 请在以上相应方框内打“ ) 作者签名: 导师签名: e t 期:弘。年占月j p 日 日期:弘。 年6 月 日 , 硕j :学位论文 摘要 随着互联网技术的不断发展,w e b 应用变得功能更丰富、交互性更强。用户 既是网站内容的浏览者,也是网站内容的创造者。由于网站信息来源的多样化, 目前针对w e b 应用漏洞的攻击已超过所有安全漏洞攻击的三分之二。其中,跨站 脚本( c r o s s s i t es c r i p t i n g ,x s s ) 攻击已经上升为互联网中数量最多的攻击手段。 跨站脚本攻击者通过向网页插入恶意脚本代码,导致用户浏览网页时代码在浏览 器中秘密自动执行,从而窃取用户隐私信息。如何检测网站中潜在的x s s 漏洞, 是当前漏洞检测技术的研究热点。 现有的x s s 漏洞检测技术还不够完善,存在需要源代码公开、检测虚警率和 漏警率高、只能检测已知漏洞等缺点。因此,需要展开进一步的研究。本文对 x s s 漏洞的检测原理、实现技术和研究现状进行了深入的学习研究,完成的主要 工作如下: 首先基于模糊测试技术,设计了一种新的x s s 漏洞检测模型,该模型具有实 施方便、无源码限制、自动化程序高等优点;其次,针对目前难以检测未知漏洞 的问题,设计了一种基于服务器过滤删除机制的上下文无关文法测试数据动态生 成算法,能对预定义测试数据无法发现的未知漏洞进行有效检测;然后,设计了 一种结合h t m l ( h y p e r t e x tm a r k u pl a n g u a g ) 解析和a p i ( a p p l i c a t i o np r o g r a m m i n g i n t e r f a c e ) 挂接两种方式的目标网站实时检测方案,实现了检测系统的自动化操 作。 最后,使用p e r l 语言实现了一个基于模糊测试技术的x s s 漏洞检测原型系 统,实验证明,原型系统能对目标网站进行详尽的遍历搜索,有效的挖掘现实网 站中潜在的x s s 漏洞,且具有较高的智能化和自动化程度。 关键词:网络安全;漏洞发掘;跨站脚本;模糊测试 i i c u r r e n tv u l n e r a b i l i t yd e t e c t i o nt e c h n o l o g i e ss t i l la w a i tp e r f e c t i o nb e c a u s eo f s o m es h o r t c o m i n g ss u c ha sn e e d so fo p e ns o u r c e ,h i g hf a l s ep o s i t i v er a t ea n df a l s e n e g a t i v er a t ea n dl i m i t a t i o nf o ro n l yk n o w nv u l n e r a b i l i t i e s ,s ot h a tf u r t h e rr e s e a r c h i sn e c e s s a r y t h ep r i n c i p l e s ,i m p l e m e n t a t i o nt e c h n i q u e sa n dc u r r e n tr e s e a r c h e so f x s s v u l n e r a b i l i t yd e t e c t i o na r ed e e p l ys t u d i e di nt h i sp a p e r t h em a i nw o r k so ft h i s p a p e ra r ea sf o l l o w s :一 f i r s t l y ,an o v e lx s sv u l n e r a b i l i t yd e t e c t i o nm o d e li sp r o p o s e db a s e do n f u z z i n gt e c h n o l o g y ,w h i c hh a sa d v a n t a g e so fe a s et oi m p l e m e n t ,n os o u r c e r e s t r i c t i o n sa n dh i g ha u t o m a t i o n s e c o n d l y ,ad y n a m i cg e n e r a t i o na l g o r i t h mo ft e s t d a t af o rc o n t e x t f r e eg r a m m a ri sd e s i g n e db a s e do nf i l t e r i n ga n dd e l e t i n gm e c h a n i s m o fs e r v e r sa i m i n ga tt h ep r o b l e mt h a tu n k n o w nv u l n e r a b i l i t i e sc a nn o tb ed e t e c t e db y c u r r e n tt e c h n o l o g y t h e a l g o r i t h mh e l p st o d e t e c tu n k n o w nv u l n e r a b i l i t i e sb y g e n e r a t en e wt e s td a t ai n s t e a do fp r e - d e f i n e do n e s t h i r d l y ,ar e a l t i m ed e t e c t i o n s c h e m ef o rt a r g e tw e b s i t ec o m b i n i n gt h et e c h n i q u e so fh t m l p a r s e ra n da p ih o o k i sp r o p o s e d ,w h i c ha u t o m a t e st h ed e t e c t i o ns y s t e m a p r o t o t y p es y s t e mo fx s sv u l n e r a b i l i t yd e t e c t i o nb a s e do nf u z z i n gt e c h n o l o g y i si m p l e m e n t e df i n a l l yu s i n gp e r ll a n g u a g e e x p e r i m e n t a lr e s u l t ss h o wt h a to u r p r o t o t y p es y s t e mc a nm a k ea ne x h a u s t i v et r a v e r s a ls e a r c ho nt a r g e tw e b s i t ea n d i i i 硕f :学位论文 e f f e c t i v e l yd i s c o v e rt h ee x i s t i n gx s sv u l n e r a b i l i t i e si nw e b s i t e t h i sp r o t o t y p e s y s t e mi sp r o v e dt ob ei n t e l l i g e n ta n da u t o m a t i c k e yw o r d s :n e t w o r ks e c u r i t y ;v u l n e r a b i l i t ym i n i n g ;x s s ( c r o s s s i t es c r i p t i n g ) ; f u z z i n gt e c h n o l o g y i v 一 堆于模糊测试的x s s 漏j l | 4 榆测系统研究j 实现 日三王 口水 学位论文原创性声明和学位论文版权使用授权书i 摘 要i i a b s t r a c t i i i 插图索引v i i 附表索引v i i i 第1 章绪论一1 1 1 研究背景1 1 2 研究内容3 1 3 章节安排4 第2 章x s s 漏洞及研究现状一5 2 1w e b 应用漏洞及其危害5 2 2x s s 攻击技术研究6 2 2 1 x s s 攻击及危害一6 2 2 2x s s 漏洞的成因7 2 2 3x s s 漏洞的分类8 2 2 4x s s 的利用过程- 8 2 3x s s 漏洞研究现状1 0 2 3 1 漏洞挖掘技术1 0 2 3 2 攻击防范技术1 2 2 4 为何选择f u z z i n g 技术13 2 5 小结一l3 第3 章f u z z i n g 技术1 4 3 1f u z z i n g 的定义1 4 3 2f u z z i n g 的工作流程1 4 3 3f u z z i n g 的方法1 6 3 4f u z z i n g 的类型l7 3 4 1 本地模糊测试器j 一1 7 3 4 2 远程模糊测试器一1 7 3 5 小结18 第4 章系统的设计与实现1 9 4 1 漏洞检测系统设计19 4 2 网络爬虫的设计与实现一2 0 4 2 1 网络爬虫模块的设计思路一2 0 v 硕 :学位论文 4 2 2u r l h a s h 表结果及接口设计一2 2 4 2 3 遍历引擎的实现2 2 4 2 4 解析引擎的实现2 3 4 3 测试数据生成器的设计与实现2 6 4 3 1 预生成攻击向量2 6 4 3 2 自动协议生成攻击向量2 9 4 4 异常捕获器的设计与实现3 2 4 4 1h t m l 解析3 3 4 4 2a p i 挂接3 4 4 5 小结3 5 第5 章系统的测试与分析3 6 5 1 测试的目的与内容3 6 5 2 实验环境3 6 5 3 原型系统的功能测试3 6 5 3 1 对某政府网站进行遍历3 6 5 3 2 对待检测页面进行模糊测试3 7 5 3 3 检测结果的确认3 8 5 4 原型系统性能测试3 9 5 5 小结4 0 结论4 1 参考文献4 2 致 谢4 5 附录a 攻读硕士学位期间所发表的学术论文4 6 附录b 攻读硕士学位期间所参与的项目4 7 v i 皋f 模糊测试的x s s 漏洞榆测系统研究j 实现 插图索引 1 1w e b 应用攻击数量趋势图1 1 2 信息系统安全防范体系2 1 3 当前安全现状统计分析图【2 1 2 2 1 反射型x s s 漏洞的利用过程一9 2 2i b mr a t i o n a la p p s c a n 运行界面n 引1 1 2 3x s sf i l t e r 阻止攻击截图心引1 2 3 1f u z z i n g 迭代流程1 5 4 1x s s d 模块框架图1 9 4 2 网站节点结构图2 0 4 3 网络爬虫模块结构图2 1 4 4 遍历引擎流程图2 3 4 5 页面解析流程图2 4 4 6h a s h 表实时内容2 5 4 7 语法分析树举例3 l 4 8 攻击向量通过服务器变换3 2 4 9 脚本的提取与执行3 2 4 1 0 使用o l l y l c e 对k m e l e o n 调试一3 4 4 1 1a l e r t m e s s a g e 程序截图3 5 5 1 遍历引擎运行截图3 6 5 2 部分待检测页面地址3 7 5 3 部分检测结果3 7 5 4 攻击前网站页面一3 8 5 5 验证漏洞的网站截图3 8 5 6 已知漏洞的u r l 列表3 9 v 图图图图图图图图图图图图图图图图图图图图图图图图 表2 1 表4 1 表4 2 表4 3 表4 4 表4 5 表4 6 表4 7 表4 8 表4 9 表5 1 v i i i 硕上学位论文 1 1 研究背景 第1 章绪论 随着w e b 2 0 、s o a 、云计算( c l o u dc o m p u t i n g ) 、智慧的地球( s m a r t e rp l a n e t ) 等一项项技术和思想的革新,我们面临着一个快速变化的信息时代、网络时代。 它打破了传统的生产方式和经济格局。从技术角度来看,作为互连互通、共享智 慧的基础平台,w e b 应用的发展也已经从若干年前的探索期、发展期,快速进 入了具有明显时代特征的高峰期。在新技术的推动下,w e b 应用不再是企业的 附属产品,已经成为他们提供服务、全面竞争的主要手段;同时也不再是仅仅基 于简单技术构架的门户站点,它们很可能综合了多种交互技术、使用多种脚本语 言,构建在最新技术之上,同时还需要和遗留系统整合。这些综合技术,在提高 w e b 应用整体水平、使生活变得日益便捷的同时,也将应用安全问题推上了一 个新的高度。 图1 1 是赛门铁克公司( s y m a n t e cc o r p o r a t i o n ) 在2 0 10 年四月份的i n t e r n e t s e c u r i t yt h r e a t 报告中w e b 应用攻击数量的趋势图。从图中可以看出,自2 0 0 6 年开始,w e b 应用安全攻击数量就以非常快的速度在增长。 , 舢2 3 盈轮毒2 s 2 i ) a 晦 2 0 d 7 2 8 裂睡 l r l a a 图1 1w e b 应用攻击数量趋势图f 1 1 针对w e b 应用所面临的安全性挑战,企事业单位和各种团体采用一系列安全 措施来保证其信息系统的安全性。在现有的防范系统中,主要防御手段大部分是 针对网络服务器的漏洞来进行布置的。如图1 2 所示,针对w e b 应用的各个层 基于模糊测试的x s s 漏洞榆测系统研究j 实现 面,企业分别使用不同的技术来确保其安全性。( 1 ) ;x t j 了保护客户端机器的安全, 用户会安装防病毒软件;( 2 ) 为了保证用户数据传输到w e b 服务器的传输安全, 通信层通常会使用安全套接层( s e c u r i t ys o c k e tl a y e r ,s s l ) 技术加密数据;( 3 ) 各单位会使用防火墙和入侵诊断系统( i n t r u s i o nd e t e c t i o ns y s t e m s ,i d s ) 以及 入侵防御系统( 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 ) 来保证仅允许特定的访问,不 必要暴露的端1 2 1 和非法的访问,在这里都会被阻止;( 4 ) b p 使有防火墙,系统依 然会使用身份认证机制授权用户访问w e b 应用。 ii i 桌面 传输l 网络; w 用e b i 应 il 厂口 ii iu li & :址黔 ,:则lq : 同 ii l u il l 。 图1 2 信息系统安全防范体系 如图1 3 所示,根据i t 研究与顾问咨询公司g a r t n e r 的统计【2 1 ,9 0 的安全投 资用于构造以上所述的安全防范体系,主要针对网络服务器的漏洞进行防御。但 与此对应的是,仅仅只有2 5 的信息安全攻击是针对网络服务器的漏洞,大量的 防御投资支出却仅仅只能对很少一部分的信息安全攻击进行防御。 = 垂口 = 歪强 攻击绶生比例防护投瓷比例 图1 3 当前安全现状统计分析图1 2 1 2 硕一j j 学位论文 针对w e b 应用的信息安全攻击占所有攻击数量总数的7 5 ,而现有的安全防 御系统对此类攻击无能为力。即便有防病毒保护、防火墙和i d s i p s ,系统仍然 不得不允许一部分的通讯经过防火墙,毕竟w e b 应用的目的是为用户提供服 务,保护措施可以关闭不必要暴露的端口,但是w e b 应用必须的8 0 和4 4 3 端 口,是一定要开放的。可以顺利通过的这部分通讯,可能是善意的,也可能是恶 意的,很难辨别。这里需要注意的是,w e b 应用是由软件构成的,那么,它一 定会包含漏洞缺陷,这些漏洞就可以被恶意的用户利用,他们通过执行各种恶意 的操作,或者偷窃、或者操控、或者破坏w e b 应用中的重要信息。对于安全攻 击的最主要的目标w e b 应用,目前仅仅只有1o 的安全投资花在了如何防护此类 安全漏洞。 因此可以看出,目前的安全防御体系,还并不能真正保证w e b 服务的应用安 全: ( 1 ) 网络漏洞扫描工具:扫描工具根据网络服务器所运行的服务和开放的端 口进行扫描,根据现有漏洞信息生成一些特殊的访问请求或数据包发送 给目标服务器,在获取服务器的相应信息后进行分析。该工具将响应信 息与已知漏洞信息进行对比,一旦发现可疑之处即报出安全漏洞。但这 种工具对w e b 应用程序漏洞扫描能力不足。由于它仅仅用来分析网络层 面的漏洞,不了解应用本身,所以不能彻底提高w e b 应用安全性。 ( 2 ) 防火墙:防火墙具有访问过滤机制,能够防止一些重要的端口暴露在网 络之中。但是在w e b 应用中,由于8 0 和4 4 3 端口是必须要开发的服务,防 火墙不可能对阻止此类端口,并对这两个端口中通信的恶意数据并无鉴 别能力。 ( 3 ) s s l 通信:安全套接层对w e b 应用中通信内容进行加密,但是它仅仅保护 了在传输过程中数据的安全性,并没有保护w e b 应用本身。 传统的信息系统安全防范体系虽然能一定程度的保护w e b 应用程序安全,但 它们在面对日新月异的攻击手段时往往力不从心。只要可以顺利通过企业的防火 墙,w e b 应用就毫无保留的呈现在攻击者面前。只有加强w e b 应用自身的安全, 才是真正的w e b 应用安全解决之道。 1 2 研究内容 从目前的网络发展趋势和安全现状来看,w e b 应用的功能与应用范围不断扩 大,而与此同时w e b 应用的安全漏洞也是日益增加且更加严重。现有的网络安全 防范体系主要是针对服务器漏洞进行防御,而对w e b 应用程序中的漏洞考虑不 足,大量针对w e b 应用的攻击手段存在着极大的安全隐患。网络应用软件暴露在 安全形势日益严峻的互联网环境中,先于攻击者发现安全漏洞,并及时修补软件 3 = ; 露 基于模糊测试的x s s 漏洞检测系统研究与实现 开发的安全缺陷,对保障网络应用软件的可信性具有重要意义。 本文主要的研究对象是w e b 应用及其面临的最主要安全攻击一一x s s 跨站 脚本攻击。文中采用模糊测试( f u z z i n g ) 技术,针对w e b 网站中的x s s 漏洞进行 检测,设计并实现了一个基于客户端的跨站脚本漏洞检测系统,很好的克服了原 有的检测方法的缺陷,可以较好的应用于w e b 应用程序的开发、集成中的安全检 测中,能够快速高效找出w e b 应用中可能潜在的x s s 漏洞,具有一定的实用价值。 在本课题的研究过程中,作者主要完成了以下几项工作: ( 1 ) x s s 漏洞的原理、利用方式和危害的分析与研究,并对现有的漏洞检测 方法的优缺点进行了讨论和比较。 ( 2 ) 对f u z z i n g 模糊检测技术发展、应用进行分析,介绍现有的用于w e b 检测 的f u z z i n g 软件,并讨论了其自动化程度不高的缺陷。 ( 3 ) 设计并实现了一个基于客户端的x s s 漏洞检测系统。 ( 4 ) 实现并改进了网络爬虫技术,提高了网站遍历效率,采用预生成和自动 协议两种方式生成测试数据,并采用多种方式对网站反馈信息进行分析, 提高了检测系统的自动化程度。 ( 5 ) 将文中设计的系统原型检测现实网络环境中的网站,收集实验数据,验 证系统各模块的功能和整体检测效果。 1 3 章节安排 第一章:绪论。主要介绍了w e b 应用系统面临的严峻安全形势,指出仅仅使 用防火墙,i d c i p c 等工具组成的安全体系并不能阻止针对w e b 应用所发起的攻 击,指出了w e b 应用漏洞挖掘的重要性,并在此基础上提出了本文的研究内容和 主要工作。 第二章:x s s 漏洞及研究现状。首先介绍了十种主要的w e b 应用程序漏洞, 然后重点介绍了x s s 漏洞成因、分类和利用过程,并对现有的x s s 漏洞检测和防 范技术进行了整理与分析。 第三章:f u z z i n g 漏洞发掘技术。主要描述了f u z z i n g 技术的发展现状、基本 原理、类型,并对f u z z i n g 用于x s s 漏洞检测进行了分析研究。 第四章:x s s 漏洞检测工具的研究与设计。本章首先介绍了检测系统设计思 路:基于f u z z i n g 技术对网站进行检测以挖掘x s s 漏洞。接下来分别介绍各模块 的主要功能和实现思路。 第五章:系统的测试与分析。将本文的原型系统用于检测现实中的网站,验 证了原型系统的各模块功能,并测试了系统整体检测功能和效率。 最后总结了本文的主要工作及创新之处,以及下一步的研究内容。 4 硕卜学位论文 第2 章x ss 漏洞及研究现状 2 1w e b 应用漏洞及其危害 w e b 应用在现代社会中具有广泛性的特点,而针对w e b 应用的攻击又数量众 多。这些情况导致需要对w e b 应用攻击进行整理、归纳、分析并进行防御方面的 研究。在这个方面,w a s c ( w e ba p p l i c a t i o ns e c u r i t yc o n s o r t i u m ) 和o w a s p ( o p e nw e ba p p l i c a t i o ns e c u r i t yp r o j e c t ) 这两个组织起到了重要的作用。w a s c 是一个由安全专家、行业顾问和诸多组织的代表组成的国际团体。他们负责为 w w w ( w o r l dw i d ew e b s i t e ) 制定被广为接受的应用安全标准。w a s c 组织的关 键项目之一是“w e b 安全威胁分类”【3 】,也就是将w e b 应用所受到的威胁、攻击 进行说明并归纳成具有共同特征的分类。该项目的目的是针对w e b 应用的安全 隐患,制定和推广行业标准术语。w a s c 将w e b 应用安全威胁分为如下六类: ( 1 ) 验证( a u t h e n t i c a t i o n ) :用来确认某用户、服务或是应用身份的攻击手 段。 ( 2 ) 授权( a u t h o r i z a t i o n ) :用来决定是否某用户、服务或是应用具有执行 请求动作必要权限的攻击手段。 ( 3 ) 客户侧攻击( c l i e n t s i d ea t t a c k s ) :用来扰乱或是探测w e b 站点用户 的攻击手段。 , , ( 4 ) 命令执行( c o m m a n de x e c u t i o n ) :在w e b 站点上执行远程命令的攻击 手段: ( 5 ) 信息暴露( i n f o r m a t i o nd i s c l o s u r e ) :用来获取w e b 站点具体系统信息 的攻击手段。 。 ( 6 ) 逻辑性攻击( l o g i c a la t t a c k s ) :用来扰乱或是探测w e b 应用逻辑流程 的攻击手段。 w a s c 组织在此分类的基础上继续细分,将上述安全威胁类型分为2 4 d , 类。 并在w e b 安全威胁分类项目的基础上,经过多年实践经验总结的部分私有测试用 例,形成了一套完整的、行之有效的漏洞库,并及时更新,以确保w e b 应用扫 描结果的全面性。 o w a s p 组织致力于发现和解决不安全w e b 应用的根本原因。该组织在上 述分类的基础上进一步细化各种w e b 安全威胁的子类,并针对具体攻击手段进行 了研究。它们最重要的项目之一是“w e b 应用的十大攻击手段”【4 1 ,总结了目前 w e b 应用最常受到的十种攻击手段,并且按照攻击发生的概率进行了排序。这 5 基于模糊测试的x s s 漏涧榆测系统研究与实现 个项目的目的是统一业界最关键的w e b 应用安全隐患,并且加强企业对w e b 应用安全的意识。表2 1 中列举了w e b 应用中十大攻击手段及其负面影响和后 果。 表2 1w e b 应用中十大攻击手段【4 l 在w e b 应用最常受到的攻击手段中,跨站脚本攻击在数量上占据首位【4 1 ,同 时危害性和造成的后果都极其巨大。本文主要针对x s s 漏洞挖掘技术进行分析, 并研究采用f u z z i n g 的方法对此类漏洞进行挖掘。 2 2x s s 攻击技术研究 2 2 1x s s 攻击及危害 c e r t ( c o m p u t e re m e r g e n c yr e s p o n s et e a m ) 最早发现此类问题并对跨站脚 本攻击给出描述【6 1 。该漏洞是因为w e b 应用程序没有将用户的输入进行有效验证 和过滤,就将其插入到了响应中引起。一个没有足够输入验证和输出检查机制的 6 硕卜学位论文 交互式网站很有可能存在潜在的x s s 漏洞,因此攻击者则可以利用此类漏洞,将 恶意脚本代码注入到生成的网页中。而正常用户访问该网站时,会认为此页面是 可以信赖的,当w e b 浏览器下载该页面时,嵌入其中脚本就会被解释执行。恶意代 码可以直接作为提交信息进行嵌入,也可以采用调用的形式从其他网站嵌入。由 于同源策略对脚本的来源并无限制,则此代码可以绕过访问控制。攻击者由此获 得了敏感页面内容、会话c o o k ie ( s e s s i o nc o o k i e ) 、其它对象变量的访问权限。 简单的来说构成跨站脚本漏洞的主要原因是很多网站提供了用户交互的页 面,如检索、留言本、论坛等。凡是能够提供信息输入,同时又会将提交信息作 为网站页面内容输出的地方都可能存在跨站脚本漏洞。服务器程序对输入的信息 检查不严格导致了脚本嵌入的可能,而嵌入的脚本则拥有了对此网站文档的全部 访问权。 x s s 是针对特殊w e b 站点客户隐私的攻击,当客户详细信息失窃或受控时可能 引发彻底的安全威胁。利用x s s 漏洞可以窃取c o o k ie 、劫持账户、执行a c t i v e x 、 执行f l a s h 内容、强迫下载软件或者继续冒充用户与站点交互。x s s 漏洞的原因是 服务端输入和输出的缺乏验证,但是其攻击行为却发生在客户端浏览器中。此类玉 攻击具有极强的隐蔽性。服务器管理员只能获得很少的攻击信息,所以x s s 漏洞 的修补时间常常低于其他类型的漏洞。同时x s s 攻击具有发起攻击容易和影响范 围广的特点。 2 2 2x s s 漏洞的成因 w e b 浏览器中的j a v a s c r i p t 脚本语言极大的提高了w e b 应用的功能和易用性。 j a v a s c r i p t 语言可以对浏览器窗口、当前文档、c o o k i e 、网页控件等内容及其属 性进行交互和操作。在客户端的w e b 浏览器中,载入一个w e b 页面可能导致任意的 j a v a s c r i p t 代码在用户计算机上执行。安全的w e b 浏览器以各种方式限制脚本, 从而防止恶意代码读取私密数据、更改数据或者危及隐私。在客户端的j a v a c r i p t 有各种安全性限制,如不能以任何方式读取、写入和删除客户端计算机上的文件 和目录;不提供通用的网络原语,无法为主机打开一个s o c k e t 或者接受一个来自 其他主机的连接等等。在这些安全性限制中,其中最重要的一条就是同源策略【5 】。 同源策略是对j a v a s c r i p t 代码能够和那些w e b 内容交互的一条完整的安全限制。 当一个w e b 浏览器打开多个窗口或者一个w e b 页面中使用多个帧时,这一策略则会 发挥作用。同源策略管理一个窗口或帧中的j a v a s c r i p t 代码和其他窗口和帧的交 互。具体来说,一个脚本只能读取和包含这一脚本的文档来源相同的窗口和文档 的属性。 同源策略能够很好的防止恶意脚本窃取私有信息。但是此策略对脚本本身的 来源并无限制,相关的是脚本所嵌入的文档的来源。如一个来自域a 的脚本包含 7 基于模糊测试的x s s 漏洞检测系统研究与实现 到一个域b 的w e b 页面中,则此脚本可以完整的访问包含它的域b 的文档内容。但 是如果脚本打开另一个窗口并载入一个来自域a 的文档,同源策略就会发挥作用, 阻止脚本访问此文档。由于脚本本身的来源没有限制性,从而使得跨站脚本攻击 得以实现并用于攻击。 2 2 3x s s 漏洞的分类 x s s 漏洞根据其攻击方式和存在周期的不同,分为反射型x s s 、存储型x s s 和基于文档对象型x s s 7 - - 种不同的类型。 ( 1 ) 反射型x s s 反射型x s s ( r e f l e c t e dx s s ) 也叫做非持久型x s s ( n o n - p e r s i s t e n tx s s ) 如果一个交互式页面仅仅是简单的将提交内容( h t t pr e q u e s t ) 显示在输出页面 、 ( h t t pr e s p o n s e ) 上,则此页面存在一个反射型x s s 漏洞。针对此漏洞进行的攻 击则为反射型x s s 。一种最常见的情况就是站点检索系统,当将脚本代码作为需 要检索的内容输入网址页面并进行检索时,通常检索关键字需要显示在检索结果 页面中。在这种情况下,如果网站对用户的输入和输出没有进行安全性处理的话, 注入的脚本代码则会在检索结果页面中执行。 ( 2 ) 存储型x s s 存储型x s s ( s t o r e dx s s ) 也被称为持久型x s s ( p e r s i s t e n tx s s ) 。在此类 漏洞的攻击中,攻击者可以将恶意代码永久的存储在含有此类漏洞的网站中。这 些漏洞主要出现在网站服务器对客户信息进行收集并以数据库或其他方式进行 存储的过程中。恶意用户将脚本代码进行提交,而服务器在未经检查验证的情况 下就将此类信息存储,当服务器程序使用此类信息并嵌入到页面中时,则会出现 存储型的x s s 漏洞。一种典型的情况就是网站或论坛里面的短消息功能,如果用 户将恶意的代码作为消息内容发给网站的管理者。当管理者读到此类信息时,则 管理者的私有信息和c o o k i e 会被恶意攻击者获取。 ( 3 ) 基于文档对象型x s s 基于文档对象模型( d o c u m e n to b j e c tm o d e l ,d o m ) 的x s s 漏洞是一种特殊 的反射型x s s 漏洞。由于页面代码中错误或随意的使用一些文档对象的属性 ( d o c u m e n t u r l 、d o c u m e n t 1 0 c a t i o n 等) ,则此页面可能存在d o m - b a s e dx s s 漏洞。此类漏洞主要存在于w e b 页面中客户端脚本的不安全调用所引起的。当脚 本代码访问文档对象的u r l 属性并将其中内容输出到当前页面时,并没有对u r l 属性的内容进行安全性验证,从而导致恶意攻击者可以用恶意代码构造访问的 u r l 地址,并最终在当前页面中解释执行。 2 2 4x s s 的利用过程 反射型x s s 漏洞是最常见的x s s 漏洞,而同时针对此类漏洞的攻击数量也是最 硕十学位论文 多的。图2 1 为此类漏洞的利用过程。 图2 1 反射型x s s 漏洞的利用过程 在反射型x s s 漏洞的攻击过程中,整个攻击流程分为五个步骤: ( 1 ) 步骤一:恶意攻击者( 这里使用e v i l o r g 表示) 通过e m a i l 或即时通 信软件等方式将某银行的网址链接发给用户( 银行用b a n k t o m 表示) , 该链接中附加了恶意的脚本。 ( 2 ) 步骤二:用户访问发来的链接,并将嵌入的脚本当做数据提交,进入银 行网站。 ( 3 ) 步骤三:银行对提交数据进行处理,并嵌入在反馈页面中。用户下载此 页面后,嵌在链接中的脚本被用户的浏览器执行。 ( 4 ) 步骤四:恶意脚本在用户浏览器中执行后,获取了用户在银行网站的所 有操作,包括用户的c o o k i e 和s e s s i o n 信息,都被脚本收集到,并且在 用户毫不知情的情况下发送给恶意攻击者。 ( 5 ) 步骤五:恶意攻击者使用偷来的s e s s i o n 信息,伪装成该用户,进入银行 网站,进行非法活动。 在其他类型的x s s 漏洞攻击手段中,主要的区别在于恶意代码的不同嵌入方 式,而用户执行恶意代码、攻击者窃取用户信息等流程和反射型漏洞攻击流程相 同。 在w e b 应用中,有可被恶意攻击者利用执行脚本的地方,都存在极大的安全 隐患。攻击者如果可以让用户执行他们提供的脚本,就可以从用户正在浏览的域 中获取到用户的个人信息、可以完全修改用户看到的页面内容、跟踪用户在浏览 器中的每一个动作,甚至利用用户浏览器的缺陷完全控制用户的机器。 9 话 篆 l 基于模糊测试的x s s 漏洞检测系统研究与实现 2 3x s s 漏洞研究现状 由于x s s 攻击的普遍性和广泛性,针对x s s 的主要研究方向为x s s 的漏洞挖掘 掘和攻击防范两个方面。漏洞发掘主要应用在服务器端,其主要目的是在攻击手 段发生之前发现潜在的漏洞,并及时进行修补。攻击防范技术主要应用在客户端, 其主要思路是在x s s 攻击正在进行时发现并阻止攻击行为。 2 3 1 漏洞挖掘技术 w e b 应用程序的漏洞发掘可以通过许多不同的方式来完成,其中静态分析 ( s t a t c ia n a l y s i s ) 和动态分析( d y n a m i ca n a l y s i s ) 是两种主要被广泛采用 的方法。 ( 1 ) 静态分析 静态分析审核一个应用程序的源代码和二进位,分析这个应用程序的运行流 程,以及构建程序工作的数学模型。并通过分析那些模型来检查安全缺陷。与动 态分析方法相比,在静态分析中实际并没有任何的执行行为:整个分析师建立在 纯粹的数学模型基础上。静态分析通常被看做是一个白盒测试。在白盒中,应用 程序代码的所有内部是完全开放的。 “ 对于w e b 应用程序,安全静态分析最重要的类型叫做污染流分析。这个分析 主要是检查这个流和应用程序中不信任代码使用为目的。在执行污染流分析时, 检测器会在这个系统中为数据流建立模型。如果一个来自非信任源的数据在这个 应用中没有确认为非恶意情况下,进入一个敏感输出库,就认定为一个安全性漏 洞。在目前已经存在的许多w e b 程序的静态分析【8 1 4 】工具大部分采用此类分析 方法。如j o v a n o v i c 等实现的服务端源码静态分析工具p i x y 9 1 ,p i x y 采用数据 流分析的方法,检测污点数据是否在输出之前进行了足够的处理,从而发现可能 潜在的x s s 漏洞。而w a s s e r m a n n 等使用了另外的方法来对污点数据进行分析【l l 】。 在其论文中采用了两种方法检测可能的潜在漏洞,一方面采

温馨提示

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

评论

0/150

提交评论