学位论文 > 优秀研究生学位论文题录展示

防止跨站脚本攻击会话劫持的客户端解决方案研究

作 者: Christian Kanamugire(卡那姆)
导 师: 王伟平
学 校: 中南大学
专 业: 计算机科学与技术
关键词: 脚本语言 cookie 攻击者 用户浏览器 客户端 session 会话劫持 进程标识 web JavaScript 恶意代码 attacker 易受攻击 Web 访问权限 request HTTPS proxy 特权用户 攻击类型
分类号: TP393.08
类 型: 硕士论文
年 份: 2012年
下 载: 58次
引 用: 0次
阅 读: 论文下载
 

内容摘要


web应用在当今已成为在线服务的最主要提供方式。同时,它存在的漏洞也正逐渐被人们所发现,并且以惊人的速度显露出来。web应用一般存在利用JavaScript脚本代码来实现的部分,这些脚本代码嵌入在web页面中来支持客户端的动态行为。为了防止用户环境遭受恶意JavaScript脚本代码的破坏,研究人员开始利用一种输入净化机制,这种机制限制程序只能访问与它的原站点相关的资源。然而,不幸地是,当用户被诱使从中间人或可信站点下载恶意JavaScript脚本代码时,这些安全机制将无法发挥作用。在这种情况下,恶意脚本对属于可信站点的所有资源(如认证口令和具有会话进程标识的cookies)且有完全的访问权限。这种攻击被称为跨站点脚本攻击。万维网的驮马协议,HTTP协议和HTTPS协议有意地被设计成无状态的。这就意味着web应用无法在多个请求中追踪到用户,除非它在HTTP或HTTPS协议的顶端添加追踪机制。会话标识就是最被普遍使用的追踪机制。会话标识是随机数据的唯一字符串,一般来说由数字和字符组成,这个字符串由web应用生成并通过cookie的方式发送给用户。在会话标识被发送之后,每个用户发出的请求都在其它请求中包含了该应用发送给他的会话标识。通过使用会话标识,web应用能够识别不同的用户,区分并发的请求和及时追踪用户。会话标识是首要的攻击目标,因为成功的捕获并重演会话标识可以为攻击者提供易受攻击web应用的当即认证。根据窃取到的ID所属用户的访问权限,攻击者可以像普通用户,甚至是特权用户一样登录网站,并访问各种隐私数据,如email,密码,家庭住址,甚至是信用卡号码等。这就能使跨站点脚本攻击成为窃取会话标识的最普遍的方式。跨站点脚本攻击是一种使用范围非常广的攻击方式,整体来说也可以看作是代码注入攻击。在代码注入攻击中,攻击者输入一些数据,这些数据将被认为是代码并被正在运行的应用所执行。在跨站点脚本攻击中,攻击者欺骗用户浏览器以他的名义来执行Java脚本代码,并因此获得访问存储在浏览器中的敏感信息的权限。运行在用户浏览器中的恶意JavaScript脚本能够访问运行域中cookie的内容。而会话标识一般通过cookies来传播,所以被插入的JavaScript脚本能够读取这些会话标识并将其转移到受攻击者控制的服务器上。然后攻击者将用户的会话反馈给易受攻击的网站,这些网站以为他是正常用户并有效地进行授权。会话劫持是现今被广泛使用的跨站点脚本攻击类型之一,因为采用会话标识的web应用中每个关键任务都易受到这种方式的攻击。为了让脚本不被识别为恶意脚本,攻击者会用不同的编码方法对其进行编码,比如使用HEX。通过这种方法,Web站点就会像显示站点中的有效内容一样在页面显示恶意内容。如果Web应用程序没有验证输入,攻击者只需诱导用户选择恶意链接,然后Web应用程序就会从用户那里收集机密信息,这就让攻击者能够获取用户会话信息并窃取用户凭证,重定向到另一个Web站点上的网页,然后插入恶意代码来破坏cookie,公开SSL连接,访问受限或私人站点,甚至触发一系列这样的攻击。目前有一种机制能够从某种程度上在跨站点脚本漏洞中用来保护用户免受会话劫持——HTTP-Only。HTTP-Only是微软公司引进的一种网页浏览器特性,它可以为IE6及后续版本中的cookies提供防护措施。HTTP-Only是一种标记,它与包含敏感信息的cookie,如会话标识,一起由web应用发送给用户。它指示用户浏览器将cookie的值与任何运行在浏览器中的脚本语言隔离开来。因此,如果cookie被表示为HTTP-Only, Java脚本想要访问它时,只能得到一个空的字符串。因此,使用HTTP-Only cookie有助于阻止攻击者使用XSS漏洞实施会话攻击。但是这依然不是一种万能的解决办法,跨站点追踪(XST)是一种攻击技巧,有时候可以利用它来避开HTTP-Only cookie提供的保护,允许客户端代码访问标记为HTTP-Only cookie的值。这种技巧使用许多Web服务器默认激活的HTTP TRACE方法,它主要用于诊断目的。当服务器收到一个使用TRACE方法的请求时,它通过一条消息做出响应,消息主体包含服务器收到的TRACE请求的的原始文本,TRACE方法之所以可用于诊断目的,其原因在于,服务器收到的请求可能不同于客户发送出的请求,因为请求会被拦截代理服务器等修改。这个方法可用于确定请求在客户与服务器之间传送时发生了哪些变化。浏览器在HTTP请求中提交所有cookie,包括使用TRACE方法的请求以及标记为HTTP-Only的cookie。这样,请求和响应中都包含标记为HTTP-Only的cookie,这种行为为XST攻击提供了机会。如果可以使用客户端脚本提出一个TRACE请求,并读取这个请求的响应,那么这段脚本就能够访问到标记为HTTP-Only的cookie,即使通过document.cookie无法访问的到。当然,攻击还依赖于应用程序中存在的XSS漏洞,以注入恶意的脚本。在本文的研究中,我们设计了一种称为SessionImmunizer的系统。它是处于浏览器和服务器之间的一种代理,可以审查所有发出的请求和进来的应答。通过使用各种方法,它探测进来的HTTP头文件中的会话标识,将它们剥离出来并将它们的值存储在自己的数据库中。在每个发出的请求中,SessionImmunizer都会检查请求的域,并将之前剥离出来的值添加回去。当受到会话劫持攻击时,浏览器仍然会执行会话劫持代码,但是由于浏览器从未收到过会话信息,因此该信息不会被攻击者获取。本文提出的系统不会影响web用户和web服务器的任何功能应用,它单独运行在客户端,并且不依赖于web服务器和可信的第三方

全文目录


ABSTRACT  6-8
摘要  8-15
Chapter 1 Introduction and Motivation  15-21
  1.1 Introduction  15-16
  1.2 Goal and Scope of This Research  16
  1.3 Motivation  16-17
  1.4 Description of Session Hijacking Through XSS Attacks  17-18
  1.5 Related Works  18-20
  1.6 Contribution of Our Work  20
  1.7 Organisation of The Thesis  20-21
Chapter 2 Session Management and XSS Session Hijacking Concepts  21-34
  2.1 Introduction  21
  2.2 Typical Session Attacks  21-23
    2.2.1 Session Hijacking  21-22
    2.2.2 Session Riding  22-23
  2.3 Session ID Management Methods  23-30
    2.3.1 General Considerations  24-25
    2.3.2 COOKIES  25-27
    2.3.3 URL Parameter  27-29
    2.3.4 URL Path Portion  29
    2.3.5 Hidden Form Fields  29-30
  2.3 XSS Session ID Hijacking Scenario  30-34
Chapter 3 SessionImmunizer Componentts Design  34-42
  3.1 Introduction  34
  3.2 Problem Statement  34
  3.3 SessionImmunizer Core Functionality  34-37
  3.4 SessionImmunizer Architecture  37-42
    3.4.1 SID Search Engine  38-40
    3.4.2 Token Generator  40-41
    3.4.3 SID Data Warehouse  41-42
Chapter 4 Project Design,Implementation and Results  42-59
  4.1 Introduction  42
  4.2 Project Design  42-45
  4.3 System's Classes Overview  45-47
    4.3.1 Class Documentation  45-47
  4.4 SID Search Engine Implementation  47-51
    4.4.1 SID Framework based detection  47-49
    4.4.2 SID Entropy based detection  49
    4.4.3 SID Dictionary based detection  49-51
  4.5 SID-Token Inspector Overview  51-55
  4.6 SessionImmunizer UI  55
    4.6.1 Server Configuration panel  55
  4.7 Test and Results  55-59
    4.7.1 Expected Results  56
    4.7.2 Achieved Results  56-59
Chapter 5 Conclusion,Future Works and Challenges  59-61
  5.1 Conclusion  59-60
  5.2 Future Works and Challenges  60-61
Dedication  61-62
Acknowledgements  62-63
References  63-67

相似论文

  1. 抗重放和类型缺陷攻击认证协议的设计与分析研究,TP393.08
  2. 基于主观逻辑的无线传感器网络可信路由算法研究,TP212.9
  3. 基于DSR路由的Ad hoc网络入侵和基于身份的密码体制思想在Ad hoc网络安全中的应用,TN918.4
  4. 工矿企业信息系统访问控制方法的研究及应用,TP393.08
  5. 基于嵌入式Linux和ARM的小型路由器的研究,TP393.05
  6. 基于蓝牙技术移动终端接入网络的研究,TN925
  7. 基于Snort的校园网络入侵检测系统的研究与实现,TP393.08
  8. 防范TCP拒绝服务攻击的高速过滤器设计与研究,TP393.08
  9. 防御TCP DDoS攻击的算法研究及其在LINUX中的实现,TP393.08
  10. 基于校园网环境的Snort入侵检测系统应用研究,TP393.08
  11. 内蒙古电信公司翼支付手机客户端研究设计与实现,TP311.52
  12. 具有Web服务器功能的嵌入式集中器研究,TM76
  13. 统一身份认证系统的研究与实现,TP393.08
  14. 基于BS模式课程测评系统设计与实现,TP311.52
  15. 桌面云平台通信模块的设计与实现,TP311.52
  16. 基于着色时间工作流网的产品数据管理系统的研究,TP315
  17. 面向关系型数据共享的数据网格中间件研究,TP311.52
  18. 数字版权管理系统机理与关键技术研究,TP311.52
  19. 智能卡数据交互安全性的研究与实现,TP311.52
  20. 基于目录的普适计算资源管理模型,TP311.52

中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 计算机的应用 > 计算机网络 > 一般性问题 > 计算机网络安全
© 2012 www.xueweilunwen.com