Web应用系统漏洞检测技术研究与实现
发布时间:2017-06-07 23:03
本文关键词:Web应用系统漏洞检测技术研究与实现,由笔耕文化传播整理发布。
【摘要】:随着Web技术的发展,网站给人们带来的体验越来越好。特别是Web 2.0,告别了沉重的请求-返回的模式,采用更轻便的局部刷新模式,让用户体验得到极大的提高。其中,Ajax技术在Web2.0中占据了主导地位。然而Ajax技术将一部分逻辑处理从服务器端转移到客户端,暴露了更多的接口,增加了许多针对Web应用程序的安全威胁,其中严重程度最高的就是SQL注入攻击和跨站脚本攻击。国际开源安全组织公布的十种最严重的Web应用程序安全漏洞排行榜中可知,SQL注入攻击和跨站脚本攻击一直处于前三的位置。这些漏洞可在用户毫不知情的情况下进行攻击,威胁性很大。就目前而言,采取较多的行为都是被动的防范措施,比如防火墙等。这样做明显忽略应用程序级别的安全问题,使之在高层面缺乏有效的防范方式。因此依据XSS跨站脚本和SQL注入等常见漏洞的产生原因和检测方法,设计并实现Web应用安全漏洞自动检测系统作为辅助工具,提早发现应用程序级别的安全问题可以防患于未然。本文所做的研究工作包括以下的几个方面:(1)重点分析Web应用程序的工作流程和可利用的各种安全漏洞。针对跨站脚本攻击和SQL注入的攻击原理及其分类进行综述,并给出漏洞检测的研究现状,同时对前人所研究的内容进行比较分析。(2)分析不同种类的网络爬虫过程中存在的问题,设计一个高效并合适本系统的网络爬虫,然后通过对XSS跨站脚本漏洞和SQL注入漏洞攻击手段的研究,创新性的提出了攻击向量的功能类型拆分与随机组合以及变形规则来提高系统检测的准确性。(3)提出基于页面代码行为的漏洞检测算法和基于JavaScript中的XMLHttpRequest检测算法,根据网络爬虫提取到的输入点,注入错误数据,运用动态检测技术,细粒度的检测Web应用中存在的XSS跨站脚本漏洞和SQL注入漏洞。(4)对系统进行详细的设计,运用C#实现漏洞检测工具SXFINDER。详细说明整个系统的流程和各个功能子模块的设计。(5)将系统运用到真实的项目中,对系统进行了详细功能模块测试和性能测试,并与其它安全漏洞检测软件进行对比,验证本文提出的算法具有可行性、设计的软件具有可靠性。本文提出的方法中主要有以下创新点:(1)对网络爬虫进行改进,主要在三方面:①合适的爬虫搜索策略;②正确的URL合法性要求;③高效率的去除重复URL。(2)提出了一种攻击向量的拆分与随机组合以及变形规则的方法来生成攻击向量。主要思想是将攻击向量按不同功能类型拆分到不同的模板库,再通过模板库之间随机组合与加入变形规则来生成大量的,多变化的攻击向量。(3)提出了一种基于页面代码行为的Web应用的漏洞检测方法,实验证明有较低的误报率和较小的时间开销。(4)提出了一种基于页面JavaScript代码中XMLHttpRequest对象分析算法,实现了针对Ajax Web应用程序更全面的检测。(5)运用C#编程技术,设计并实现了用于检测XSS跨站脚本漏洞和SQL注入漏洞的系统原型SXFINDER。
【关键词】:XSS漏洞 SQL注入漏洞 网络爬虫 漏洞检测 规则
【学位授予单位】:广东工业大学
【学位级别】:硕士
【学位授予年份】:2016
【分类号】:TP393.09
【目录】:
- 摘要4-6
- ABSTRACT6-14
- 第一章 绪论14-21
- 1.1 研究背景14-16
- 1.2 国内外研究现状16-18
- 1.3 Web应用系统简介18-19
- 1.4 论文的研究内容19-20
- 1.5 论文的结构20
- 1.6 本章小结20-21
- 第二章 Web应用安全相关技术分析21-37
- 2.1 Web应用漏洞概述21-22
- 2.1.1 Web应用系统漏洞概念21-22
- 2.2 网络爬虫22-25
- 2.2.1 网络爬虫的定义、流程22-23
- 2.2.2 网络爬虫的搜索策略23-24
- 2.2.3 网页分析方法24-25
- 2.3 漏洞挖掘技术25-28
- 2.3.1 漏洞挖掘技术分类25
- 2.3.2 漏洞挖掘分析技术25-28
- 2.4 模糊测试技术28-29
- 2.5 XSS跨站脚本漏洞29-34
- 2.5.1 XSS跨站脚本漏洞原理29-30
- 2.5.2 XSS跨站脚本漏洞分类30-33
- 2.5.3 XSS跨站脚本漏洞危害33
- 2.5.4 XSS跨站脚本漏洞检测方法33-34
- 2.6 SQL注入漏洞34-36
- 2.6.1 SQL注入原理34
- 2.6.2 S QL注入漏洞分类34-35
- 2.6.3 SQL注入漏洞危害35-36
- 2.6.4 SQL注入漏洞检测方法36
- 2.7 本章小结36-37
- 第三章 系统需求分析37-40
- 3.1 需求概述37
- 3.2 功能需求37-38
- 3.2.1 数据爬取功能37
- 3.2.2 漏洞检测功能37-38
- 3.3 性能需求38
- 3.3.1 扫描速度38
- 3.3.2 数据的准确性38
- 3.4 其他需求38-39
- 3.4.1 友好性38
- 3.4.2 可扩展性38-39
- 3.5 本章小结39-40
- 第四章 系统的总体设计与关键技术解析40-56
- 4.1 总体框架设计40-41
- 4.2 系统的工作流程41-42
- 4.3 关键性技术解析42-55
- 4.3.1 改进的网络爬虫技术42-45
- 4.3.2 漏洞检测参数的设计45-51
- 4.3.3 漏洞攻击向量模板组合51-54
- 4.3.4 攻击向量变异处理54
- 4.3.5 漏洞检测算法54-55
- 4.4 本章小结55-56
- 第五章 系统的详细设计与实现56-68
- 5.1 主模块56-57
- 5.2 网络爬虫模块57-61
- 5.2.1 网络爬虫的功能函数57-60
- 5.2.2 多线程爬虫技术60-61
- 5.3 漏洞检测模块61-67
- 5.3.1 插件化模式61-63
- 5.3.2 XSS跨站脚本漏洞检测插件63-65
- 5.3.3 SQL注入漏洞检测插件65-67
- 5.4 本章小结67-68
- 第六章 实验与结果分析68-73
- 6.1 测试方案设计68
- 6.2 测试环境搭建68
- 6.3 测试过程与结果分析68-72
- 6.3.1 系统功能测试68-71
- 6.3.2 系统性能测试71-72
- 6.4 本章小结72-73
- 总结与展望73-75
- 参考文献75-80
- 攻读硕士学位期间发表的论文及著作权80-82
- 致谢82
【相似文献】
中国期刊全文数据库 前10条
1 ;漏洞检测代表产品[J];每周电脑报;2003年46期
2 杨阔朝,蒋凡;模拟攻击测试方式的漏洞检测系统的设计与实现[J];计算机应用;2005年07期
3 龙银香;一种新的漏洞检测系统方案[J];微计算机信息;2005年05期
4 贾永杰,王恩堂;一种新的漏洞检测系统方案[J];中国科技信息;2005年09期
5 刘完芳;;基于网络的漏洞检测系统的设计[J];湘潭师范学院学报(自然科学版);2006年03期
6 金怡;蔡勉;王亚军;;基于中间件的漏洞检测系统设计[J];信息安全与通信保密;2007年04期
7 花青;高岭;张林;;分布式漏洞检测系统的设计与实现[J];东南大学学报(自然科学版);2008年S1期
8 张林;高岭;汤声潮;杨e,
本文编号:430550
本文链接:https://www.wllwen.com/guanlilunwen/ydhl/430550.html