论文Web扫描器的设计.docx
- 文档编号:7562704
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:61
- 大小:528.41KB
论文Web扫描器的设计.docx
《论文Web扫描器的设计.docx》由会员分享,可在线阅读,更多相关《论文Web扫描器的设计.docx(61页珍藏版)》请在冰豆网上搜索。
论文Web扫描器的设计
Web扫描器SeachPlan的设计与实现
姓名刘红岗
2014年6月
中图分类号:
TP311.
UDC分类号:
004.
Web漏洞扫描器SeachPlan的设计与实现
作者姓名李波
学院名称软件学院
指导教师XXX
答辩委员会主席XXX教授
申请学位工程硕士
学科专业软件工程
学位授予单位北京理工大学
论文答辩日期2014年6月
DesignandImplementationofSeachPlanScanner
CandidateName:
libo
SchoolorDepartment:
SoftwareSchool
FacultyMentor:
XXX
Chair,ThesisCommittee:
Prof.XXX
DegreeApplied:
MasterofEngineering
Major:
SoftwareEngineering
Degreeby:
BeijingInstituteofTechnology
TheDateofDefence:
June,2014
论文题目北京理工大学
研究成果声明
本人郑重声明:
所提交的学位论文是我本人在指导教师的指导下进行的研究工作获得的研究成果。
尽我所知,文中除特别标注和致谢的地方外,学位论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得北京理工大学或其它教育机构的学位或证书所使用过的材料。
与我一同工作的合作者对此研究工作所做的任何贡献均已在学位论文中作了明确的说明并表示了谢意。
特此申明。
签名:
日期:
关于学位论文使用权的说明
本人完全了解北京理工大学有关保管、使用学位论文的规定,其中包括:
①学校有权保管、并向有关部门送交学位论文的原件与复印件;②学校可以采用影印、缩印或其它复制手段复制并保存学位论文;③学校可允许学位论文被查阅或借阅;④学校可以学术交流为目的,复制赠送和交换学位论文;⑤学校可以公布学位论文的全部或部分内容(保密学位论文在解密后遵守此规定)。
签名:
日期:
导师签名:
日期:
摘要
随着近代以来计算机技术与信息技术的迅速发展,Web应用愈来愈普及。
然而,伴随而来的Web的安全状态也发生了很大的变化。
虽然随着人们安全意识的提高,部分漏洞已经得到了修复,但是随着各种新技术的不断涌现,特别是Web2.0、HTML5、云服务以及无线互联网的推出,Web安全现状依然面对严峻的形势。
Web应用开发周倜短,而Web开发人员又缺乏充分的安全意识,这更加剧了Web应用的风险。
因此,如可评估Web应用系统的安全性,是Web安全领域的当务之急。
Web应用程序是基于HTTP(S)协议的,是一种应用层协议。
传统的防火墙和入侵检测系统是从网络层保护Web应用程序,而Web扫描器SearchPlan是从应用层保护Web应用程序,二者互补,更加固了Web应用程序的安全。
Web漏洞扫描器,是在Web产品正式发布之前对Web应用程序进行扫描检测。
借助Web漏洞的常见签名,对Web应用程序进行大量重复的安全检测。
从而提前发现应用程序中可能存在的漏洞,做到早发现、早预防,从而大幅度的降低Web应用程序的安全隐患和维护成本。
论文首先分析了Web应用程序的发展历程,然后分析了国内外Web安全的严峻形势,之后分析了Web漏洞产生的主要原因,并讲解了Web漏洞的分类与检测技术、总结了Fuzzing技术、SQL注入、XSS、路径遍历的漏洞检测方法;之后分析了漏洞扫描器的基本原理;在此基础之上,设计出了易扩展的、效率高的基于爬虫技术的Web漏洞扫描器SerachPlan,给出了漏洞扫描器的大致原型,并对原型加以实现,最后分析了扫描器SearchPlan的不足之处和下一步的工作。
关键词:
Web安全;漏洞检测;Web扫描器;爬虫技术;Fuzzing技术;SQL注入
Abstract
WithWiththerapiddevelopmentofcomputertechnologyandmodernhistoryofinformationtechnology,Webapplicationshavebecomemorepopular.However,anaccompanyingWebsecuritystatushasundergonegreatchanges.Althoughwiththeimprovementofpeople'ssenseofsafety,somevulnerabilitieshavebeenfixed,butwiththecontinuousemergenceofnewtechnologies,especiallyWeb2.0,HTML5,cloudservices,andtheintroductionofwirelessInternet,Websecuritystatusisstillfacingaserioussituation.WebApplicationDevelopmentWeekTishort,andWebdeveloperslackadequatesafetyawareness,whichisexacerbatedbytheriskofWebapplications.Thus,ascanassessthesecurityofWebapplications,andWebsecurityisapriorityarea.
WebapplicationsarebasedonHTTP(S)protocolisanapplicationlayerprotocol.TraditionalfirewallsandintrusiondetectionsystemstoprotectWebapplicationsfromthenetworklayer,whiletheWebscannerSearchPlanprotectWebapplicationsfromtheapplicationlayer,thetwocomplementeachother,moresolidsecurityofWebapplications.
Webvulnerabilityscanner,beforetheofficialproductlaunchWebWebapplicationscanningtodetect.WithcommonWebvulnerabilitiessignatureonalargeWebapplicationsecuritytestingrepeated.Thusearlydetectionofpossibleapplicationvulnerabilities,soearlydetection,earlyprevention,therebygreatlyreducingthesecurityrisksandmaintenancecostsofWebapplications.
ThesisanalyzesthedevelopmentprocessofWebapplications,Websecurityandthenanalyzedthegrimsituationathomeandabroad,aftertheanalysisofthemainreasonsWebvulnerabilitiesgeneratedandexplainedtheWebvulnerabilitiesclassificationanddetectiontechnology,summedupFuzzingtechniques,SQLinjection,XSS,pathtraversalvulnerabilitydetectionmethods;Afteranalyzingthebasicprincipleofthevulnerabilityscanner;Onthisbasis,todesignascalable,high-efficiencytechnology,Web-basedvulnerabilityscannerreptilesSerachPlan,giventhevulnerabilityroughlyprototypescanner,andtorealizetheprototype,thefinalanalysisofthescannerSearchPlandeficienciesandfuturework.
KeyWords:
WebSecurity;VulnerabilityDetection;Webscanner;Crawlertechnology;Fuzzingtechnology;SQLinjection
第1章绪论
1.1研究的目的与意义
随着互联网的迅速发展,Web应用也变得越来越广泛。
购物、银行、机票、论坛、微博等等。
Web应用的普及给人民生活带来了极大的便利,然而Web安全却容易被人忽视。
Web新技术的不断涌现,大大加快了企业以及个人开发Web应用的速度,可同时与这些技术相关的漏洞也在不断参入其中,对Web安全的研究,已经到了千钧一发的时刻。
Web应用系统开发周期短,而开发人员参差不齐,Web应用程序存在漏洞是在所难免的。
Web应用程序的安全问题,集中表现以下几个方面:
(1)不成熟的安全意识。
近年来,人们对Web应用程序的安全问题的意识有所增强,但与网络和操作系统这些发展更加完善的领域相比,人们对Web应用程序安全问题的意识还远远不够成熟。
虽然大多数IT安全人员掌握了相当多的网络安全知识,但他们对Web应用程序安全有关的许多核心概念仍然不甚了解,甚至存在误区。
(2)独立开发。
大多数Web应用程序都有企业的员工或者合作公司独立开发。
即使应用程序采用第三方组件,通常情况下也只是拼凑在一起。
在这种情况下,每个应用程序都各不相同,并且可能包含独有的缺陷。
(3)资源与时间限制。
由于独立,一次性开发的影响,许多Web应用程序受到时间和资源的限制。
Web应用是和我们的生活息息相关的,它不仅带给了人们娱乐,也方便了人们在互联网交易中的安全性,一个可靠的Web应用,是只管必要的。
基于以上分析,研究Web漏洞原理,开发一个自动的Web扫描器是十分必要的且有很大的实用价值的:
一方面,它可以身份准确的判断各种漏洞,这大幅度的减少了Web面临的威胁;另一方面,它可以快速高效的发送大量请求,与人工相比,它不仅效率高,而且避免了人为因素的原因。
Web扫描器SearchPlan是对Web应用程序的主动检测。
它是这样一种应用程序:
工作于HTTP协议上,模拟黑客的攻击技术,利用典型的Web漏洞签名,构造HTTP请求,主动向Web发送构造数据,然后从Web服务器的回应中检测漏洞签名的一种软件。
传统的防火墙、入侵检测系统是从网络层保护Web应用程序。
两者共同完成对Web应用程序的防护。
可以在Web受攻击前检测到潜在的Web漏洞,从而以最低的成本维护Web安全。
Web安全是网络安全中最严重的安全之一,是一项十分有意义的工作。
本课题的研究是设计一个具有可扩展、高效率的Web扫描工具,并作出准确的判断。
1.2国内外研究现状及发展趋势
1.2.1Web应用的发展过程
在Internet的早期阶段,万维网(WorldWideWeb)中只含有Web站点,而这些站点多数是仅含有静态文本的信息库。
后来研发商开发出Web浏览器,通过浏览器来检索和查看文档。
这些相关信息流都是由服务器向浏览器单向传送的。
由于单向传送的原因,多数站点是不验证用户的合法性,因为根本没这个必要。
万维网发展到今天,与早期的万维网已经完全不同。
Web上的大多数站点从本质上来说是应用程序。
这些应用应用功能非常强大,信息传送可以在浏览器和服务器之间进行双向传送。
而且支持注册和登陆、、购物、娱乐、搜索以及用户创作的内容。
然而同时,Web应用程序潜伏了重大的安全威胁。
Web应用程序各种各样,因此所包含的漏洞也各不相同。
许多应用程序是由开发人员独立开发的,然而这些开发人员却对他们所编写的代码可能存在的安全问题却只是略知一二。
为了实现核心功能,使Web应用更加强大,Web应用程序通常需要与各个计算机建立连接。
这些系统中保存着高度敏感数据。
这也就使Web应用程序前附着重大的危机。
1.2.2Web面对的严峻形势
随着信息技术和计算机科学的迅速发展,Web应用在各个领域得到了十分广泛的应用。
Web应用程序也进而成为当今安全的当务之急,也是十分值得关注的话题。
在网上交易领域、银行领域、政府领域,这一问题更是至关重要。
这里的相关领域包括因特网业务收入日益增长的公司、向Web应用程序托付敏感信息的用户,以及通过入侵银行账户或窃取支付信息偷窃巨额资金的犯罪分子。
因特网的发展很大程度上超过了人们的想象。
防火墙、操作系统安全和最新的补丁,都能被针对Web应用的简单绕过。
在GartnerGroup的报道上说,其中75%的攻击发生在Web应用程序层面上,对超过300个站点的审计显示出97%的站点都拥有会被攻击的弱点存在。
恶意攻击的新闻头条越来越常见,政府对伪电脑安全措施进行调查的情况越来越多。
然而现实是,绝大多数的企业将大量的投资话费在服务器和网络的安全上,可是并未切切实实的重视网络的安全,这恰恰给黑客以可乘之机。
根据2013年WASP(OpenWebApplicationSecurityProject)的Top10漏洞中,目录遍历漏洞占首位,XSS(CrossSiteScripting)漏洞位居第二位,SQLInjection(盲注)占第三问,SQLInjection占第四位。
近年来,国内的众多行业逐渐把主要业务转移到Web上,如银行、电力、金融、物流、购物等。
Web应用的比重越来越高,而Web安全的重视度却相对很低。
这也使得越来越多的黑客从攻击操作系统与服务器上逐渐转向对Web的攻击。
因此Web安全已经成为安全的当务之急。
虽然近年来Web安全也引起了人们的重视,比如通过使用安全套接层(SecureSocketLayer,SSL)技术来使应用程度更加安全,然而,事实上大多数的Web应用程序并不是安全的。
SSL虽然已得到广泛使用,虽然会定期进行PCI扫描。
可这些技术都不能再用户输入上得到良好的应用。
Web应用时基于HTTP(S)请求的,而这些请求,并不被防火墙,操作系统等仔细检查。
从长远的角度来看,应该在开发阶段消除安全隐患。
因此对Web漏洞扫描器的研究使用重要的理论意义和实用价值的,也是应该引起越来越多的研究者关注的。
1.2.3漏洞扫描器的未来发展趋势
漏洞扫描软件虽然最初只是专门为UNIX系统编写的一些只具有简单功能的小程序,可是发展到现在,已经出现了多个运行在各种操作系统平台上的、具有复杂功能的商业程序。
今后的发展趋势主要有以下几点:
1.使用插件或者功能模块技术。
在每个插件中都封装了多个漏洞的检测手段,主扫描程序通过递归的调用插件来执行安全扫描。
这种插件技术是通过不断添加插件,来达到扫描更多漏洞的。
更具插件的编写规范,用户或者第三方公司可以自己编写插件,通过这种手段来扩充软件的功能。
2.使用脚本语言。
这种技术实际上是一种更高级的插件技术,用户可以使用专用脚本语言来扩充软件功能。
这些脚本语言一般情况写语法比较简单易懂,可以通过简单的代码添加测试用例,进而为软件添加新的测试项。
脚本语言变得越来越普遍,这也简化了编写新插件的工作,这也使软件功能的扩充工作变相对容易了。
3.从漏洞扫描程序逐渐到安全评估专家系统。
早期的漏洞扫描程序仅仅是简单地把各个扫描测试项的执行结果罗列出来,之后再不经过任何处理的情况下把测试结果交给测试人员。
而如今较的扫描技术已经相对成熟,它会自动把扫描结果进行整理,形成报表,并且把一些典型的漏洞签名给出解决方案。
它的不足之处来自于网络的整体评估,对网络安全没有系统的解决方案。
对于将来的Web安全扫描系统,一方面要能够扫描Web存在的安全漏洞,另一方面还要能对Web安全给出安全评估,智能学习,并给出安全建议,成为一个安全评估专家系统。
1.2.4常见的Web漏洞扫描器
(1)WatchfireAppScan
WatchfireAppScan是一款商业级的Web漏洞扫描程序。
AppScan可以再应用程序的全部开发周期提供测试。
它可以寻找许多常见的漏洞签名,如SQL注入,XSS、HTTP响应拆分漏洞、隐式字段处理、参数篡改、缓冲区溢出、后门/调试选项等等。
(2)N-Stealth
它是一款商业级的Web服务器安全扫描程序。
和Whisker/libwhisker、Nikto等相比,它的升级频率更高,N-Stealth宣称含有“30000个漏洞和漏洞程序”并且“不断的增加大量的漏洞检查”。
(3)WebInspect
WebInspect也是一款强大的网站扫描程序。
SPIDynamics的这款应用程序安全评估工具有助于确认Web应用中已知的和未知的漏洞。
并且能检查Web服务器配置是否正确,并会尝试一些常见的Web攻击,如目录遍历攻击(directorytraversal)、跨站脚本、参数注入等等。
1.3论文研究的内容与目标
1.3.1研究内容
本论文是以Web安全漏洞的检测技术和常见的Web安全检测方法为主要内容,具体的研究内容如下:
(1)研究Web常见应用技术
(2)研究URL提取技术
(3)研究页面爬虫技术
(4)研究Fuzzing技术,对网站进行模糊测试,初步定位漏洞
(5)研究SQL注入技术,对网站再次测试,确定注入类型,和危险程度
(6)研究XSS技术,对网站再次测试,确定跨站注入点
(7)研究命令执行漏洞,对网站再次测试,确定命令执行发生点
1.3.2研究目标
本课题主要完成以下研究目标:
1.对Web应用程序进行无缝爬虫,全面的抓取Web页面、CSS、JavaScript脚本,并对其进行分析
2.对Web应用程序进行全面扫描,并能给出较为详细的测试报告,结果无误报与漏报
3.具有较高的运行效率,具有良好的扩展性,具有自学习能力
4.具有良好的用户交互界面
1.4论文组织结构
本文总共分为六章:
第一章:
第一章简要分析研究方向的国内外现状,安全背景,研究方向的选向,以及论文即将开始的工作。
第二章:
主要介绍了Web应用程序的安全现状,和Web安全检测技术的发展,Web应用程序的常见漏洞。
第三章:
主要介绍了扫描器SearchPlan设计中的关键技术,包括页面的抓取、数据分析与一些扫描器紧密相关的工具技术。
第四章:
主要介绍了SearchPlan的概要设计过程,分析了漏洞扫描器的基本原理和模块的设计。
第五章:
主要介绍扫描器SearchPlan的详细设计过程,包括配置文件的加载、线程驱动的实现、扫描模块的实现等。
第六章:
对论文的基本贡献和不足之处作出总结,并提出下一步的工作设想。
最后是致谢和参考文献
第2章
Web应用安全风险与检测技术
随着Web新技术的不断涌现,黑客攻击技术的日新月异,Web应用程序的安全现状令人堪忧。
到目前为止,Web应用程序的漏洞带来的危害性越来越多被企业认识。
这些常见的漏洞包括SQL注入、XSS(跨站脚本攻击)、系统(OS)命令执行、动态命令执行等等。
随着Web应用的越来越广泛,越来越多的安全漏洞也会逐渐被发现。
2.1Web应用程序的安全现状
随着Web2.0、AJAX(异步JavaScript和XML)、微博、BBS、社交网络等等这些新一代的互联网应用的的不断诞生,基于Web环境的Web应用也越来越广泛。
越来越多的企业把敏感信息架设在Web应用平台上,Web业务的迅速发展的前景也引起了Hackers的密切关注,随后就是Web安全威胁的变得越来越大,Hacker利用Web应用的系统漏洞漏洞和Web服务程序中的SQL注入漏洞等漏洞技术得到Web服务器的控制权,不仅可以篡改网页内容,更重要的是窃取敏感的内部数据,更为严重的是在网页中植入恶意执行代码,使得每一个访问网站的用户受到侵害。
正式这个原因使得越来越多的用户关注应用层的安全威胁,对Web应用安全的关注度也逐渐提高。
随着信息化的不断普及,越来越多的业务将托付给互联网,例如说网络购物、网上银行、网落游戏、互交网络等,其中很多攻击者是出于不良的目的或者利益目的对Web服务器进行攻击的,通过各种手段,各种方法获取他人的个人账户信息进而谋取黑色利益。
正是因为这些原因,Web业务平台逐渐变成了最容易遭受攻击的。
同时,对Web服务器的攻击也可以说是各种各样、种类繁多,常见的有网站挂马、SQL注入、跨站脚本攻击、缓冲区溢出、嗅探、利用IIS等针对web服务端的漏洞进行攻击。
一方面,由于TCP/IP的设计是没有考虑安全问题的,因此在网络上传输的数据得不到安全保证。
攻击者于是可以利用系统漏洞的缺陷,通过一定的手段,进而造成系统进程缓冲区溢出,攻击者还可能利用这种漏洞来获得或提升自己在有漏洞的Web应用上的用户权限,从而来运行任意程序,甚至还可以安装和运行恶意代码,窃取敏感数据。
而且应用程序开发过程中,对安全问题考虑过少,这就为程序存在漏洞埋下祸根,诸如SQL注入、缓冲区溢出、栈溢出等等广为人知的应用层攻击,这些都是企业在软件研发过程中疏忽了对安全的考虑形成的。
另一方面,由于人们对许多隐秘的东西带都存在一个强烈的好奇心,一些利用木马或病毒程序进行攻击的Hacker,他们往往就是利用了用户的好奇心理,然后将病毒程序或木马捆绑在一些漂亮的图片、免费软件、音视频等文件中,之后将这些文件置于网站当中,通过引诱用户去下载运行或单击。
或者通过和QQ、MSN、电子邮件附件等即时聊天软件,将这些捆绑了病毒的文件或木马发送给用户,利用用户的好奇心理引诱用户运行或打开这些应用文件。
浏览器成为各种Web应用的集中平台,对于用户来说这是一件好事,然而对于Web服务端也预示着Web将成为网络威胁的最大风险来源之一,Web安全威胁的头条也将越来越普遍。
从2010年开始到20012年底的三次《SymantecInternetSecurityThreatReport》统计数据可以看出,与WEB应用相关的漏洞比例飞速上升,占新增漏洞比例分别为48%,59%和69%。
根据《WebHackingIncidentsDatabase》的统计数据,2012年基于WEB的攻击次数是2011年的1.68倍。
2006年的WEB安全事件的榜首中,hotmail、google、yahoo等知名大型网站的名字已经数次出现。
图2-1是WHID2012年的有关攻击种类的统计数据。
2.2Web应用程序
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 论文 Web 扫描器 设计