论文部分内容阅读
近年,WEB漏洞已成为互联网上最严重的安全隐患之一。由该漏洞引起的WEB注入攻击案例层出不穷、屡禁不止。跨站脚本攻击正是这类注入攻击中影响范围最广、影响程度最深的攻击之一。2006年以来,跨站脚本漏洞一直位居WEB漏洞之首。因此,设计和开发一种有效的检测和防御跨站脚本攻击的方法尤为重要。本文在深入研究跨站脚本攻击特点的基础上,提出了一种新的基于序列匹配的跨站脚本攻击检测方法,该方法能有效的识别参数字符串的变种形式,并发掘服务器端过滤函数的检测遗漏。对于该算法中不能检测出的部分存储型的跨站脚本攻击,本文又提出一种基于Fuzzing测试的检测方法。最后,本文将基于这两种检测方法设计的工具整合为一个跨站脚本漏洞与攻击检测系统。实验表明,该系统能有效地检测出WEB网络中的绝大多数跨站脚本漏洞和攻击。本论文的主要工作包括以下四个部分:第一部分,分析了跨站脚本攻击的特点,深入研究了国内外跨站脚本攻击检测的方法以及当前检测方法存在的问题和未来的发展趋势。第二部分和第三部分介绍了本文设计的跨站脚本攻击和漏洞检测方法。其中第二部分,详细描述了基于序列匹配的跨站脚本攻击检测方法,主要包括HTTP请求参数、HTTP响应信息中不可信字符串的提取和两者之间的匹配两部分。该种方法先将用户提供的参数抽象为有限自动机的形式以识别参数字符串的序列组合,再将HTTP响应信息中的不可信字符串与有限自动机序列进行匹配,寻找那些同时出现在用户输入请求和服务器响应中的不可信字符串,对这些字符串进行恶意关键字和恶意网址的检查。第三部分,具体讨论了基于Fuzzing测试的跨站脚本漏洞检测方法。首先通过分析网站中网页链接间的特点,构造能够抓取整个网站网页的高效爬虫,然后准确识别网页的注入点并构造恶意字符串进行注入测试,最后通过识别响应信息来挖掘跨站脚本洞。第四部分,介绍了跨站脚本检测系统的设计和实现。