(计算机科学与技术专业论文)web应用安全防护技术研究与实现.pdf_第1页
(计算机科学与技术专业论文)web应用安全防护技术研究与实现.pdf_第2页
(计算机科学与技术专业论文)web应用安全防护技术研究与实现.pdf_第3页
(计算机科学与技术专业论文)web应用安全防护技术研究与实现.pdf_第4页
(计算机科学与技术专业论文)web应用安全防护技术研究与实现.pdf_第5页
已阅读5页,还剩62页未读 继续免费阅读

(计算机科学与技术专业论文)web应用安全防护技术研究与实现.pdf.pdf 免费下载

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

文档简介

! r e s e a r c ha n d i m p l e m e n t a t i o no f w e b a p p l i c a t i o ns e c u r i t y p r o t e c t i n gt e c h n o l o g y i i i 1lii l li lli 1l lilll y 1719 4 91 s p e c i a l t y :一c o m p u t e r s c i e n c e & t e c h n o l o g y m a s t e r d e g r e ec a n d i d a t e : s u p e r v i s o r :一p r o f w e i p i n gw a n g c o l l e g eo fi n f o r m a t i o ns c i e n c e e n g i n e e r i n g c e n t r a ls o u t h u n i v e r s i t y c h a n g s h ah u n a np r c 原创性声明 本人声明,所呈交的学位论文是本人在导师指导下进行的研究 工作及取得的研究成果。尽我所知,除了论文中特别加以标注和致谢 的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不 包含为获得中南大学或其他单位的学位或证书而使用过的材料。与我 共同工作的同志对本研究所作的贡献均已在论文中作了明确的说明。 作者签名:生曼日期:生年羔月丑日 学位论文版权使用授权书 本人了解中南大学有关保留、使用学位论文的规定,即:学校 有权保留学位论文并根据国家或湖南省有关部门规定送交学位论文, 允许学位论文被查阅和借阅;学校可以公布学位论文的全部或部分内 容,可以采用复印、缩印或其它手段保存学位论文。同时授权中国科 学技术信息研究所将本学位论文收录到中国学位论文全文数据库, 并通过网络向社会公众提供信息服务。 作者签名:蕉璺 导师签名皿日期:堡垒年月耳日 摘要 随着互联网的广泛普及,w e b 应用平台已经逐渐成为互联网信息 交互的中心,随之而来的是w e b 应用面临的越来越严重的安全威胁, 如何保障w e b 应用安全已经成为一个重要的研究课题。针对w e b 应 用的攻击与传统网络攻击相比具有许多新特征,如采用正常的h 1 曙 协议携带恶意数据,使得传统的网络层防火墙和入侵检测系统无法识 别,必须从应用层的角度出发进行安全防护。 本文首先研究了w e b 应用安全产生的根源以及其面临的重要安 全威胁,并针对w e b 应用平台提出了一个安全解决方案。之后深入 研究了s q l 注入攻击和网页篡改攻击这两种影响最为严重的w e b 应 用攻击及其防护技术,并在理论研究的基础上对相应的安全防护机制 进行了设计与实现。 针对s q l 注入攻击,本文深入研究了其攻击行为及语法特征, 采用正则表达式对攻击特征进行了完备描述;在研究s q l 注入防护 技术的基础上,本文基于服务端过滤技术设计实现了一个w e b 服务 端s q l 注入攻击过滤器。该过滤器在h t l 阳请求未提交w e b 服务器 系统模块处理前分析请求数据,实时拦截攻击行为并告警;通过采用 基于攻击特征的正则表达式描述过滤规则,降低了过滤机制的误报率 和漏报率;同时结合了i p 访问限制功能,可以预防攻击者发起穷举 式s q l 注入攻击。 针对网页篡改攻击,本文深入研究了各种防御技术,分析比较了 各种技术的优缺点,最后结合l i n u x 文件操作系统和可加载内核模块 开发技术,设计实现了一个基于事件触发技术的网页防篡改内核模 块,在网页文件被修改时对修改文件的进程和用户进行权限核查,从 而实时阻断恶意修改行为。 测试结果表明,本文设计实现的攻击防御机制可以有效防御s q l 注入和网页篡改攻击,同时对服务器响应延迟和负载影响较小。 关键词w e b 应用安全,防护技术,s q l 注入,网页防篡改 a bs t r a c t w i t ht h ew i d e l ys p r e a do ft h ei n t e r n e t ,w e ba p p l i c a t i o n p l a t f o r mh a s b e c o m et h ec o m m u n i c a t i o nc e n t e ro ft h ei n t e r n e t b u ta tt h es a m et i m e , t h et h r e a t st ot h ew e ba p p l i c a t i o na r ev e r ys e r i o u s h o wt op r o t e c tw e b a p p l i c a t i o n s s e c u r i t y i s v e r yi m p o r t a n t t h e a t t a c k st ot h ew e b a p p l i c a t i o n ,c o m p a r i n gw i t ht r a d i t i o n a ln e t w o r ka t t a c k s ,h a v em a n yn e w f e a t u r e s ,s u c ha su s i n gh t t pp r o t o c o lt oc a r r ym a l i c i o u sd a t a ,w h i c hc a n n o tb ed e t e c t e db yt h ef i r e w a l la n di n t r u s i o nd e t e c t i o ns y s t e m s ow e m u s td e f e n s et h ea t t a c k sf r o mt h ea p p l i c a t i o nl a y e r i nt h i sp a p e rw e s t u d yt h eo r i g i n a n dc o m m o nt h r e a t so fw e b a p p l i c a t i o ns e c u r i t yf i r s t l y t h e nw er e s e a r c ha n di m p l e m e n tap r o t e c t m o d u l et op r o t e c tw e bs i t e sf r o ms q l i n je c t i o na n dt a m p e r i n gw e bp a g e t od e f e n ds q li n j e c t i o n ,w ea n a l y z et h ec h a r a c t e r i s t i co fs q l i n j e c t i o na n dc o n s t r u c tt h er e g u l a re x p r e s s i o nf o rt h e s ea t t a c k s t h e nw e d e s i g nas q li n j e c t i o na t t a c kf i l t e rm o d u l ei n s i d ew e bs e r v e r , w h i c hi s b a s e do nt h ef i l t e rr u l e su s i n g r e g u l a re x p r e s s i o n t h i sm o d u l ec a nd e f e n d c o m m o ns q li n j e c t i o n s ,w h i c hd e t e c t e st h ea t t a c k sb e f o r et h eh t t p r e q u e s t sh a n d l e db yt h es y s t e mm o d u l e s w i t ht h ei pl i m i tm e c h a n i s m , t h i sm o d u l ec a np r o t e c tw e bs e r v e rf r o me x h a u s t i v ea t t a c k sl a u n c h e db y h a c k e r s t od e f e n dw e bp a g ef r o mt e m p e r i n g ,w ec o m p a r et h ec o m m o n t e c h n o l o g i e s o fw e bp a g et a m p e r - r e s i s t a n t ,a n di m p l e m e n tap r o t e c t m o d u l eu s i n gt h ee v e n t - t r i g g e r i n gm e c h a n i s mw h i c hi sb a s e do nt h e l i n u xf i l e s y s t e ma n dl o a d a b l e k e r n e lm o d u l ed e v e l o p i n gt e c h n o l o g y t h i sm o d u l ec a nd e t e c ta t t a c k sw h e nt h ef i l e sa r eb e i n gm o d i f i e d ,w h i c h c a nb r e a ka t t a c k si m m e d i a t e l y t h et e s tr e s u l t ss h o wt h a tt h em o d u l e sc a np r e v e n ts q l i n j e c t i o n a n dp a g et e m p e r i n ga t t a c k se f f e c t i v e l y , w i t hv e r yl i t t l ei n f l u e n c et ot h e w e b a p p l i c a t i o np l a t f o r m k e yw o r d sw e b a p p l i c a t i o ns e c u r i t y , d e f e n s et e c h n o l o g y , sq l i n je c t i o n ,w e bp a g et a m p e r - r e s i s t a n t i l 目录 摘j 1 2 :i j 4 l 】j l s t r a c t i i 第一章绪论1 1 1 课题背景介绍1 1 2w e b 应用安全研究的现状及意义2 1 3 论文研究目的及章节安排3 第二章w e b 应用安全威胁及解决方案研究5 2 1w 曲应用安全产生的根源5 2 2w e b 应用安全面临的威胁6 2 3w e b 安全解决方案研究一8 2 3 1 基于应用层的安全防护技术8 2 3 2 综合性的w 曲安全解决方案9 2 4 本章小结1 0 第三章s q l 注入攻击防护技术研究与实现1 1 3 1s q l 注入攻击及防护技术1 1 3 2s q l 注入攻击特征分析1 2 3 2 1s q l 注入攻击行为特征1 2 3 2 2s q l 注入攻击语法特征1 5 3 3s q l 注入攻击特征的正则表示1 5 3 4 基于a p a c h e 平台的s q l 注入过滤器实现1 7 3 4 1a p a c h e 请求处理及模块开发技术1 7 3 4 2h t t p 请求数据分析2 0 3 4 3 过滤器架构设计2 2 3 4 4s q l 注入攻击过滤流程2 5 3 4 5i p 访问限制功能实现2 6 3 4 6 日志存储及后续处理2 9 3 5 本章小结2 9 第四章网页防篡改技术研究与实现3 0 4 1 网页防篡改技术简介3 0 4 1 1 外挂轮询技术3 0 4 1 2 核心内嵌技术31 i i i 4 1 3 事件触发技术3l 4 2 基于l i n u x 内核的事件触发机制研究3 2 4 2 1l i n u x 可加载内核模块开发技术3 2 4 2 2 基于l i n u x 内核的事件触发机制可行性分析3 3 4 3 基于事件触发机制的网页防篡改技术实现3 4 4 3 1 网页防篡改架构设计3 4 4 3 2 网页防篡改工作流程3 6 4 3 3 内核态与用户态通信技术3 7 4 3 4 日志存储及后续处理3 9 4 4 本章小结3 9 第五章系统部署及测试4 0 5 1 系统开发及测试环境4 0 5 2 系统部署4 0 5 2 1s q l 注入过滤器部署。4 0 5 2 2 网页防篡改机制部署4 1 5 3s q l 注入过滤机制测试4 3 5 3 1s q l 注入过滤器功能测试4 3 5 3 2i p 访问限制功能测试。4 3 5 3 3s q l 注入过滤性能测试。4 4 5 4 网页防篡改机制测试4 5 5 4 1 网页防篡改功能测试4 5 5 4 2 网页防篡改性能测试4 6 5 5 本章小结4 7 第六章结束语4 8 6 1 工作总结4 8 6 2 进一步工作展望4 9 参考文献5 0 墅i ( 谢5 4 攻读学位期间主要的研究成果5 5 i v 硕士学位论文第一章绪论 1 1 课题背景介绍 第一章绪论弟一早 珀。下匕 随着信息化建设的不断推广,企事业单位无论是构建内部的业务应用系统, 还是建设对外信息的发布平台,都离不开w e b 应用技术。w e b 应用技术不仅给 用户提供一个简单方便的交互平台,也给信息服务商提供了一种构建信息系统的 标准技术。然而随着w e b 应用平台普及越来越广泛,针对w e b 应用程序的攻击 也越来越多,w e b 应用安全【l 】正面临日益严峻的威胁和挑战。 美国互联网安全厂商c e n z i c 的分析报告显示,2 0 0 8 年网络攻击事件有8 0 都是针对w e b 应用平台发起的,到2 0 0 9 年这一攻击比例升至了8 2 【2 】。另据 c n c e r t c c 调查显示,2 0 0 6 年到2 0 0 7 年中国大陆网站恶意挂马事件增长了2 6 倍,被篡改网站数量增长了1 5 倍,2 0 0 9 年国内被篡改网站数量达到4 2 万个【”】。 这些攻击事件极大地影响了w | e b 应用平台的正常运行。 目前针对w e b 应用层的攻击已经多达上千种【2 】,最为常见的攻击包括:以 s q l 注入攻击为代表的各种注入攻击、非法篡改网站页面、网页恶意挂马、跨 站点脚本攻击等等。各种w - e b 攻击利用的漏洞与攻击手段不尽相同,甚至同一 种攻击都可以运用灵活多变的手法来达到攻击者最终的目的。 以s q l 注入攻击 6 - s 为例,如果w 曲应用开发者编写的代码没有判断用户输 入数据的合法性,攻击者便可以构造恶意数据库查询代码从而获得某些重要的数 据甚至获得服务器高级执行权限。同时,s q l 注入攻击可以利用h t t p 协议中 的g e t 方法、p o s t 方法以及c o o k i e 数据【3 】等多种途径发起,攻击者可以不 断调整攻击参数以达到最终目的。 ii li 。翥愚m e r n e t 融w e 警务鬻。嫠霎鬟 图1 - 1 当前典型的w e b 应用平台架构 图1 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 应用程序漏洞发起针对性 攻击时,防火墙和入侵检测系统就无能为力了【1 4 以7 】。网络防火墙能够针对端口实 现访问控制功能,但是防火墙必须允许h t t p 和h t t p s 协议数据通行以保证可 以对外正常提供w e b 服务。如果攻击代码被植入到h t t p 通信数据中,那么防 火墙便无法识别这些通信数据的合法性,从而无法防御此类攻击。例如s q l 注 入攻击便是借助合法的h t t p 通信数据,通过在h t t p 请求实体中嵌入恶意s q l 查询代码,从而安全地穿过网络防火墙,达到攻击内网数据库的目的。入侵检测 系统也工作在网络层上,并根据特征规则检测攻击行为,但是入侵检测系统对应 用层数据的解析能力同样有限。 由此可见,传统网络层的安全防护系统无法有效处理应用层协议数据,更无 法结合具体的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 2w e b 应用安全研究的现状及意义 目前防护利用h t t p 协议发起的w e b 应用攻击,主要采用的技术是对w e b 服务器的功能做扩展,通过在w e b 服务器软件中添加安全防护模块,可以在 h t t p 请求数据尚未被w e b 服务器系统模块处理之前进行安全检查,区分正常用 户访问和攻击者的恶意数据,这种技术称为“w e b 服务器扩展技术”或者“w e b 服 务器模块开发技术”,它能够实时防御诸如s q l 注入攻击等利用正常h r r p 通信 数据的攻击。然而单纯采用w e b 服务器扩展技术并不能防御所有类型的攻击, 各种攻击原理及模式的不同决定了相应的防护技术也必然会有所区别。 例如,防御s q l 注入攻击的关键是能识别出h t r p 请求中的注入字符串。 针对s q l 注入攻击的防护技术主要有静态检查、服务端过滤、s q l 参数化查询 等。另外华中科技大学周敬利提出了s q l 语法预分析技术【l 引,它是一种较新的 s q l 注入防护技术,它通过对用户提交的表单数据和上下文环境组装出一条s q l 语句,并对该s q l 语句的结构加以分析来识别攻击行为。这种技术在原有的字 符串过滤技术的基础上加以改进,为s q l 注入防护技术提供了一种新的思维。 2 硕士学位论文 第一章绪论 与s q l 注入攻击不同,篡改网页文件f 1 9 】的攻击不一定是通过h 1 呼通信数 据发起,当攻击者通过各种攻击手段获取系统控制权限后都可以实现对网页内容 的篡改,而针对篡改网页行为的防护技术的发展也经历了外挂轮询技术、核心内 嵌技术、事件触发技术三个阶段。 由于w e b 应用安全的威胁日益严峻,越来越多的国内外公司和科研机构开 始参与到w e b 应用安全防护技术的研究中来,使得w e b 应用安全防护技术不断 进步,各种研究成果不断涌现。国内外关于w e b 应用安全的代表产品主要有: 国内中创软件商用中间件股份有限公司以国家8 6 3 技术成果为基础研发的 i n f o g u a r d 网页防篡改中间件以及上海天存信息技术有限公司采用w e b 服务器扩 展技术研发的i w a l l 应用层防火墙【1 川;国外i b m 公司开发的应用层安全漏洞扫 描系统的r a t i o n a lw 曲a p p l i c a t i o ns e c u r i t ys o l u t i o n s t 2 0 - 2 1 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 应用访问客户的隐私和安全都有着重要意义。 1 3 论文研究目的及章节安排 l 、本文研究目的 在研究了大量的w e b 应用安全方面的产品和资料以后,我们选择了s q l 注 入攻击和网页篡改攻击两项影响最为严重的w e b 应用安全威胁作为研究对象, 对其攻击原理以及相关防护技术进行了深入的学习和研究。在理论研究的基础 上,设计实现针对两类攻击的防御机制,并通过测试验证防御机制的实用性。 总的来说,本文主要的研究目的为: ( 1 ) 研究w e b 应用安全产生的根源,了解常见的w e b 服务攻击技术及相关 防护策略,寻找并研究w e b 平台安全的整体解决方案。 ( 2 ) 深入研究s q l 注入攻击,对其攻击特征进行详细分析和归纳总结以便 制定灵活完备的防御策略;结合当前常见的s q l 注入防御技术设计实现w e b 服 务端s q l 注入过滤器,并研究如何定义过滤规则以实现对攻击特征的完备描述, 从而提高攻击过滤的识别率和准确率。 ( 3 ) 深入研究网页篡改攻击行为及其防御技术,分析比较各种防御技术的 3 硕士学位论文 第一章绪论 实现原理,并结合w e b 服务器平台的实际需要设计实现网页防篡改机制, 同时 尽量确保对服务器平台系统的影响较小。 2 、本文的结构安排 本论文共分为六章,其中第一章为论文绪论,第二章至第五章为论文主体, 第六章为论文结束语。 第一章介绍了w e b 应用安全的研究背景、研究现状和研究意义; 第二章主要讨论了w r e b 应用安全的起源以及常见威胁,并针对w 曲服务器 总体安全提出了一个解决方案; 第三章主要研究了s q l 注入攻击的行为、语法特征以及防御技术,通过使 用正则表达式对攻击特征进行了完备性描述,并结合服务端过滤技术设计实现了 一个w e b 服务端s q l 注入过滤器; 第四章分析了目前主流的网页防篡改技术,并结合l i n u x 操作系统可加载内 核模块开发技术,设计了一个基于事件触发技术的操作系统内核级网页防篡改机 制,用来实时防御网页篡改事件; 第五章介绍了防御机制的部署,并对防御模块的功能和性能进行了测试,对 测试结果进行了讨论; 第六章对本文研究工作进行了总结,指出了工作中存在的一些问题,并展望 了进一步的工作计划。 4 硕士学位论文 第二章w e b 应用安全威胁及解决方案研究 第二章w e b 应用安全威胁及解决方案研究 本章主要介绍w e b 应用程序安全相关的技术研究,首先对w e b 应用安全产 生的根源进行了深入分析,之后介绍了w e b 应用安全的常见威胁,最后介绍了 基于应用层的w e b 安全防御技术,并结合服务器平台安全,提出了一种综合性 的w e b 安全解决方案。 2 1 w e b 应用安全产生的根源 早期的万维网( w o r l dw i d ew e b ) 仅仅提供静态h t m l 【2 2 , 2 3 1 页面浏览服务, 多数站点不需要验证用户的合法性,不同的用户从w e b 站点上获取到的信息也 是完全相同的。在这种情况下,w e b 站点受到的安全威胁仅仅与w e b 服务器软 件及操作系统的漏洞有关。 如今万维网提供的服务与早期服务相比要复杂得多,许多w e b 服务站点上 运行的是动态解析的应用程序( 被称为w e b 应用程序) 。这些应用程序提供了用 户注册、登录、搜索、金融交易等与用户身份密切相关的服务,而这些用户专属 的服务需要在客户端和服务器之间进行双向数据交互才能完成,交互的数据中不 乏个人隐私数据和高度机密的信息。与其它应用程序一样,由于开发人员的疏漏 或者技术能力方面的原因,w e b 应用程序也会存在各种安全方面的漏洞【2 4 1 ,而 w e b 站点上运行应用程序的多样性,使得这些漏洞也不尽相同、各具特点;同时, 由于访问方式的便捷性,使得w e b 应用普及范围非常广,人们的日常工作和生 活对各种w e b 应用的依赖程度越来越高,一旦发生安全问题将产生巨大影响。 综合上述原因,当前的w e b 应用安全问题已变得至关重要。 w e b 应用安全的核心问题在于运行于服务器端的w e b 应用程序无法干预客 户端浏览器用户的操作。用户可以向w e b 应用程序任意提交各种各样的输入数 据,如果用户所提供的输入数据中含有恶意代码,便会使应用程序出现设计者无 法预料的错误或者异常状况。这种安全隐患具体表现在以下几个方面【2 5 之7 】: ( 1 ) 攻击者可以篡改客户端与服务器间交互的任何数据,包括请求参数、 c o o k i e 和h 1 r p 信息头,甚至可以巧妙避开客户端的安全控件【2 5 】。 ( 2 ) 攻击者通过构造恶意参数,导致用户输入与应用程序开发人员的最初 假设完全不同,从而引发应用程序错误或者异常【2 5 l 。 ( 3 ) 攻击者可用的攻击工具趋向多样化和智能化,这些工具或者整合在浏 览器当中,或者独立于浏览器运行,而且它们往往能够实现浏览器无法达到的效 硕士学位论文第二章w e b 应用安全威胁及解决方案研究 果,可以在瞬间迅速生成大量的请求,更易于查找并利用w e b 应用程序漏洞达 到自身目的【2 6 2 7 】。 为了保证w e b 应用的安全,w e b 应用程序必须假设所有的输入信息都是恶 意的,并采取必要的措施确保攻击者无法使用专门设计的输入破坏应用程序,干 扰应用程序正常的逻辑行为,或者非法访问重要数据f 2 8 】。但是下面的这些因素使 得仅仅依靠w e b 应用程序无法很好的解决上述安全问题: ( 1 ) 缺乏安全意识:与网络和操作系统这些发展时间更长的领域相比,人 们对w e b 应用程序安全问题的意识还远远不够成熟,很多w e b 应用程序的开发 人员对w e b 应用安全领域相关的核心概念并不了解,甚至存在误解,因此缺乏 应对这些安全问题的知识与经验。 ( 2 ) 设计缺陷多样:大多数w e b 应用程序都由企业自己的员工或者与外包 给其它中小型公司开发完成,加之滥用第三方程序模块,导致每个应用程序都存 在着独特的设计缺陷。这与使用业界一流产品并按照行业标准部署的典型基础架 构( 如操作系统、数据库系统等) 形成了鲜明的对比。 ( 3 ) 安全威胁更新快:新型的w e b 应用安全威胁出现得非常迅速,虽然在 项目开发初期处理了应用程序面临的安全威胁,但是很可能在应用程序开发完成 后会发现面临许多新的威胁。 ( 4 ) 缺乏高质量的安全测试:受到开发资源与时间限制等的影响,很多开 发团队只通过快速渗透测试发现明显的安全漏洞,而无暇考虑不是很明显的安全 问题,从而造成安全隐患。 2 2w e b 应用安全面临的威胁 o p e nw e ba p p l i c a t i o ns e c u r i t yv r o j e c t ( o w a s p ) 这一全球性开源组织长期 致力于发现并解决w e b 应用安全问题,它们最重要的项目之一是“w e b 应用的 十大安全隐患”【2 9 】,其中总结了目前w e b 应用最常受到的十种攻击,并且按照 攻击发生的概率进行了排序。该项目主要是为了发掘业界最重要的w e b 应用安 全隐患,并且加强企业对w e b 应用安全的意识。 该项目最新版本的报告是2 0 1 0r c l 版【3 0 1 ,虽然只是候选版本,但仍具有很 高的参考价值。表2 1 结合2 0 0 4 3 、2 0 0 7 t 3 2 】两年的数据与2 0 1 0r c i 版本中“十 大安全隐患”进行了比较,并按照威胁程度高低由上至下加以排列。从中我们可 以发现,在2 0 0 4 年的报告中,诸如缓冲区溢出、拒绝服务攻击等与系统漏洞相 关的攻击仍占很大比例,随着时间的推移,后期的攻击报告显示w e b 应用程序 本身漏洞造成的安全隐患正在占有越来越高的比率,其中s q l 注入攻击、跨站 脚本等威胁最为严重,在c e n z i c 公司2 0 0 9 年下半期的w e b 应用安全趋势报告 6 硕士学位论文 第二章w e b 应用安全威胁及解决方案研究 中,这两种攻击的数量分别占到了1 6 和1 9 的比例。 表2 - 1w e b 安全十大隐患发展趋势 下面本节对几类o w a s p 提到的w e b 应用安全威胁进行简要介绍: ( 1 ) 注入攻击1 2 4 ,3 0 】:该类漏洞往往是应用程序缺少对输入数据的合法性检 查引起的,攻击者把包含恶意指令的数据发送给应用程序解释器,解释器便会把 收到的数据直接转换成指令执行。常见的注入包括s q l 注入,o ss h e l l ,l d a p , x p a t h ,h i b e r n a t e 等等,攻击所造成的后果往往比较严重。其中s q l 注入尤为常 见,危害也最为严重,通过s q l 注入攻击可以窃取或者篡改整个数据库的信息, 甚至能够获得管理员级别的访问权限。命令注入利用了w e b 应用脚本可与操作 系统交互的特点,通过注入操作系统级a p i 获得服务器控制权限。 ( 2 ) 跨站点脚本攻击( c r o s ss i t es c r i p t i n g ) 2 4 ,3 0 - 3 2 】:由于w e b 应用程序生 成h t t p 响应的过程存在缺陷,攻击者可以利用该程序向返回给客户的w e b 页 面中插入恶意脚本代码。当客户端浏览该页面时,嵌入其中的脚本代码会被执行, 从而达到恶意用户的特殊目的。x s s 根据攻击手段分为反射型、保存型和基于 d o m 的x s s 攻击,相应的防御技术也有所不同。 ( 3 ) 请求伪造【2 4 ,3 2 l :也称为会话叠置,它是一种会话劫持攻击,分为本 站点请求伪造和跨站点请求伪造两种。本站点请求伪造常常与保存型x s s 漏洞 结合使用;跨站点请求伪造通过强迫受害者的浏览器向一个存在漏洞的w e b 应 用程序发送请求来达到攻击者的预期目的。 ( 4 ) 攻击验证机制和会话管理【2 4 0 - 3 2 1 :验证机制通过检查用户身份来达到 防御未授权用户访问的目的,然而w 曲应用程序存在的设计缺陷使得攻击者可 以突破这一防御机制成功获得访问授权。会话管理用来帮助w e b 应用程序从大 量不同的h t t p 请求当中确认特定的用户。攻击者通过窃听用户访问w e b 应用 程序时的用户名和密码,或者会话( s e s s i o n ) 数据,可以得到会话标识( s e s s i o n 7 硕士学位论文 第二章w e b 应用安全威胁及解决方案研究 i d ) ,进而冒充合法用户发起h t t p 访问。 ( 5 ) 重定向和转发攻击【3 0 l :在w e b 应用中重定向极为普遍,如果重定向 u r l 中带有用户输入参数并且应用程序未对这些参数加以验证,那么攻击者就 可以利用该漏洞引导用户访问某些恶意站点。转发普遍存在于对本地新页面的发 送请求实现中,同样如果未对参数加以验证,那么就可以被攻击者用来绕过认证 或是授权检查机制。重定向攻击会导致用户访问钓鱼网站或是恶意网站,而攻击 者利用转发攻击来达到绕过认证或是授权机制的目的。 针对上述安全威胁,最有效的防御技术是在w e b 应用程序中实现对输入数 据的合法性检测,对于非法的输入数据直接丢弃或者返回错误警告。基于w e b 服务器核心内嵌技术的防御机制,往往采用数据过滤的方式对恶意输入数据进行 识别和拦截。 除去上述o w a s p 和c e n z i c 公布的w e b 应用攻击之外,国家互联网应急 中心( c n c e i 刑c c ) 对两类w e b 应用攻击事件极为关注,它们是网页篡改事件 和恶意网页挂马p j 。 网页篡改是指攻击者利用网站漏洞恶意修改w e b 站点页面内容的攻击事件; 恶意网页挂马是指攻击者向正常页面中植入恶意代码,当客户端浏览这些页面 时,恶意代码便会通过多次跳转后从攻击者服务器下载木马程序并执行,从而窃 取客户信息或者对客户端主机造成破坏。由于互联网产业的迅速发展以及互联网 用户的广泛普及,使得这些攻击事件的影响非常深远。 与上述应用程序漏洞相比,这两种攻击的防御技术各有不同。网页防篡改技 术经历了从及时恢复到实时拦截的发展阶段;网页挂马可以通过服务端静态扫描 技术发现恶意挂马,也可以在客户端拦截跳转次数过多的h t t p 访问数据。 2 3w e b 安全解决方案研究 2 3 1 基于应用层的安全防护技术 在w e b 应用程序出现之前,企业主要在网络边界上抵御来自外部网络的攻 击,采取的主要措施是修补系统漏洞、强化对开放服务的安全管理,并在网络边 界上部署防火墙和入侵检测系统等安全设备。 但是这些传统的防御方式并不能有效拦截针对w e b 应用程序的攻击行为。 由于用户访问w e b 应用程序需要通过h t t p ( s ) 协议,因此部署在网络边界上 的防火墙必须允许这些协议通行。w e b 应用程序为了实现某些重要功能,必须同 内网中的数据库系统等进行交互。如果w e b 应用程序存在漏洞,那么公网上的 攻击者只需利用专门设计的数据便可攻破网络边界上的防火墙系统,从而窃取甚 8 硕士学位论文第二章w e b 应用安全威胁及解决方案研究 至破坏内网系统中的数据。而所有这些攻击数据在边界安全设备看来完全是正常 的w r e b 应用数据通讯流。 w e b 应用程序接收外网用户输入方式的多样性以及与内网重要系统数据交 互方式的多样性决定了必须在应用层更有针对性地对w e b 应用攻击行为实施防 御,以确保w e b 应用程序的正常运行以及内网数据安全。 为了保证w e b 应用安全,从应用层出发设计的防御策略需要考虑以下几个 核心因素【2 4 , 3 粥5 】: ( 1 ) 检测用户访问w e b 应用的权限,防止用户获得未授权的访问。 ( 2 ) 检测用户对w e b 应用的输入数据,防止恶意输入以及不良行为。 ( 3 ) 识别并拦截攻击行为,确保w e b 应用程序在受到攻击时能够正常运转, 同时采取适当的防御措施挫败攻击者的企图。 ( 4 ) 协助管理员监控w e b 应用平台的异常行为,并及时发出警告。 2 3 2 综合性的w e b 安全解决方案 除了w e b 应用程序面临的安全威胁之外,w e b 服务器主机平台也面临着大 量的安全威胁,如d d o s 攻击、端口扫描攻击等,因此一个完善的w e b 服务器 安全防御系统在设计时不仅要考虑w e b 应用的安全,也要考虑服务器平台的安 全。综合w e b 服务器系统平台以及w e b 应用程序的安全解决方案需要考虑以下 几个方面,以达到对w e b 应用平台的全面防护: ( 1 ) 结合实际的w e b 服务器平台和w e b 应用程序,可以防御常见的w e b 应用攻击,如s q l 注入、网页篡改、恶意挂马等攻击。通过部署在服务端,保 障w e b 服务器平台的安全,防御攻击者破坏平台或者窃取重要数据;同时保障 平台对外提供服务的正常运行,不影响访问客户的正常浏览。 ( 2 ) 可以获取服务器运行状态系统信息,以便于管理员了解系统当前运行 状态。可以获取的系统信息包括:系统软硬件基本信息、实时性能( 如c p u 利 用率、内存利用率和网络吞吐量等) 、进程实时运行状态、t c p 和u d p 网络连接 状态、w i n d o w s 系统服务等。这些信息对于管理员定位安全问题的来源也可以起 到一定的辅助作用。 ( 3 ) 可以实时监测系统运行的性能,当系统性能运行指标异常时,系统可 以告警并记录日志。同时,当受到如t c pf l o o d 等形式的d d o s 攻击时,系统性 能一般都会发生异常,可以结合历史系统性能、实时告警指标以及系统性能突变 程度等多种指标判别是否存在d d o s 攻击。 ( 4 ) 可以实时监测系统运行的进程,根据规则库智能识别恶意的木马或者 病毒进程,保证系统的安全平稳运行。 9 硕士学位论文 第二章w e b 应用安全威胁及解决方案研究 ( 5 ) w e b 服务器在部署完成之后,由于管理上的疏忽或者技术水平限制, 服务器往往存在着一些不安全的配置或者开启了一些不必要的服务,攻击者可能 会利用这些缺陷发起攻击。w e b 安全防护系统可以提供安全检测功能,对操作系 统以及w e b 服务器软件中存在的安全隐患进行扫描,并生成扫描报告。通过指 导管理员对发现的安全漏洞进行修补,可在一定程度上降低系统遭受攻击的概 率。 ( 6 ) 当网站数量比较多时,可以考虑实现网站的集中统一式管理。将网站 信息和攻击数据提交统一的数据服务器保存,同时可以考虑实现管理员对网站上 安装的w e b 安全防护系统的远程管理。 基于上述解决方案,我们设计实现了一个w e b 服务器安全监测系统,由于 篇幅原因,本文将重点阐述针对两种威胁最为严重的攻击s q l 注入攻击和 网页篡改攻击相关的研究成果,并在理论研究的基础上介绍相关防御技术的实 现。 2 4 本章小结 本章主要针对w e b 应用安全相关的关键技术进行了研究,首先介绍了w e b 安全的起因,之后介绍了w e b 应用安全所面临的常见威胁,最后结合w e b 应用 防御策略和系统平台防御策略,提出了一个w e b 服务器平台安全解决方案。 1 0 硕士学位论文第三章s q l 注入攻击防护技术研究与实现 第三章s q l 注入攻击防护技术研究与实现 本文第二章介绍了w e b 应用安全产生的根源及面临的主要威胁,由于w e b 应用攻击的种类繁多,不可能一一研究,因此本文选择了最具影响力的两种安全 威胁作为研究对象。本章将介绍s q l 注入攻击特征以及防御技术,并基于服务 端过滤技术设计实现了一个w e b 服务端s q l 注入过滤器。 3 1 s o l 注入攻击及防护技术 解释型语言( i n t e r p r e t e dl a n g u a g e ) 在运行时由解释器解释执行,开发w 曲 应用程序使用的许多核心语言都是解释型语言,由开发人员预设的语句和用户输 入拼接而成,如s q l 、p e r l 和p h p 等。注入攻击便是基于解释型语言执行方式 中存在的漏洞而产生,其中影响最大、危害最严重的是s q l 注入攻击。 s q l ( s t r u c t u r e dq u e r yl a n g u a g e ,结构化查询语言) 【3 ”7 】是专为数据库设计 的解释型语言,可用于读取、更新、增加或者删除数据库中保存的信息。在w 曲 应用程序中,s q l

温馨提示

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

评论

0/150

提交评论