A Client-Side Solution Against Session Hijacking through Xss Attacks

来源 :宁夏大学 | 被引量 : 0次 | 上传用户:Ares_Stray
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
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-Onlycookie有助于阻止攻击者使用XSS漏洞实施会话攻击。但是这依然不是一种万能的解决办法,跨站点追踪(XST)是一种攻击技巧,有时候可以利用它来避开HTTP-Onlycookie提供的保护,允许客户端代码访问标记为HTTP-Onlycookie的值。这种技巧使用许多Web服务器默认激活的HTTPTRACE方法,它主要用于诊断目的。当服务器收到一个使用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服务器和可信的第三方
其他文献
随着虚拟现实技术引起越来越多的关注,以及计算机图形学与计算机软硬件快速的发展,2016年被定义为VR/AR元年,广大虚拟现实技术的学者和计算机软硬件厂商都投入到了虚拟现实技
现代技术特别是高技术条件下的局部战争中,如何能够迅速、准确地获取瞬息万变的战场信息,已经成为决定战场胜负的重要因素。随着计算机和网络技术的迅速发展,作战指挥方式已从传
语音识别技术是机器学习领域的一个重要研究方向,在现实生活中有着广阔的应用前景。随着移动互联时代的到来,移动终端成为主要的人机交互平台,语音识别技术在移动终端上的应用越
特征选择和聚类算法是文本分类领域的两个重要问题,特征集的大小与好坏决定了信息处理的速度和精度,聚类算法决定了文本分类结果的正确率。但是,当前的特征选择算法存在着需要预
随着不确定数据的大量产生,如何从不确定数据库中进行Top-k查询成为一个急需解决的问题。由于不确定数据概率维的存在,使得它和传统的确定性数据在处理方法上有很大的不同,准确
激光雷达监测数据对于研究大自然的演变规律和气候变化有着不容忽视的作用,是预测和分析大气状况的宝贵资料。随着我国激光雷达监测网的建设,就需要各个监测站点之间交互和共享
随着智能水下机器人功能的不断扩充、地位的不断提升和完成任务的不同,对其可靠性要求越来越高。但是由于海洋环境本身的复杂性,对其进行较精确仿真是一项困难的工作。智能水下
随着硬件、移动平台和无线通讯技术的快速发展,智能手机逐渐集成了多种通信技术和大量传感器,变成了一个独特的普适计算设备,使人们能够通过手机与现实中的事物、地点和人等物理
利用计算机技术对织物结构的模拟,是当前纺织领域研究的热点之一。目前市场上三维模拟软件主要有AutoCAD、Lightscape和3ds Max。应用于织物结构和表面效果模拟的,目前主要是织
随着光场成像技术的不断发展,光场相机不停地运用在各个领域,目前越来越多的技术都不断以三维图像的形式出现在我们的生活当中,因此我们可以更好地感受现实场景的多元化。而2