论文部分内容阅读
跨站脚本攻击是当今Web应用领域危害最严重、最常见的威胁之一,该攻击根源于Web应用安全机制的薄弱环节:对用户输入缺乏足够的过滤处理。虽然在服务器端修复Web应用中的跨站脚本漏洞可以根本性解决该问题,但是由于安全补丁的更新速度慢,系统运维人员的安全意识薄弱等各种原因,仍有很多Web应用不能及时修复漏洞,从而导致用户在使用这些应用时处于遭受跨站攻击的风险下。因而为了提高用户面对跨站脚本攻击的主动防御能力,研究客户端的跨站攻击防御措施显得很有必要。论文的主要工作包括以下四个方面:首先,论述了Web应用的安全现状,分析了客户端现有的安全机制和承受的安全风险,这些安全机制都是跨站脚本攻击所要挑战、克服的。随后,依据形成原因不同对跨站脚本攻击进行了分类,并分别归纳各种类型跨站脚本攻击的特点。总结了跨站脚本漏洞挖掘技巧,包括跨站脚本编码方式以及防御策略绕过技巧。同时研究了跨站脚本在HTML界面中的触发机制。另外,搭建了一个虚拟的博客网站系统,针对窃取cookie隐私、跨站脚本钓鱼攻击、跨站脚本蠕虫攻击等跨站攻击方式,通过实例逐个演示了其具体攻击过程并验证其危害。简单探讨了键盘监测、访问本地剪贴板等其他攻击方式。最后,鉴于跨站脚本攻击的主要目的是窃取用户的敏感信息,其行为特征是未经用户的授权而将用户的敏感信息发送给第三方,本文设计了全新的跨站攻击防御方法,该方法在客户端浏览器以动态污点追踪为主,辅以静态污点分析,通过污点追踪对当前页面中的敏感信息传输进行监测,当敏感信息有异常操作时向用户发出警告,从而有效阻止客户端敏感信息的泄露,实现对跨站攻击的有效拦截。并通过对Javascript引擎Spidermonkey的扩展,在开源的Firefox上实现了基于该方法的插件xssCleaner,验证了防御方法的有效性和可行性。