应用漏洞扫描器的设计与实现.docx
《应用漏洞扫描器的设计与实现.docx》由会员分享,可在线阅读,更多相关《应用漏洞扫描器的设计与实现.docx(46页珍藏版)》请在课桌文档上搜索。
1、摘要:如何及时、快速发现各种安全漏洞,并且修补安全漏洞,减轻或消除主机、URL、Web风险成为安全行业的重要课题。小型Web应用几十上百个页面,大型的Web应用成千上万个页面。如果靠人工的方式去检测每个页面的安全性,显然,这个成本是难以估计的。所以,就需要借助于自动化工具,帮助审计员去发现从主机到Web的安全漏洞。这些自动化工具就是漏洞扫描器。本次选题的目的是完成一个基于各种Web应用漏洞的的漏洞扫描器,设计思路主要是完成基于Python的脚本插件,其中要包含各种模块化的插件,通过各个模块的联动操作实现了一个完整的应用漏洞扫描工具。同时为了保证每一个功能相互独立又相互联动特地采用了模块化设计的
2、思路,实现了对需要验证的主机完成对主机URL或者Web应用完成漏洞扫描工作,最后输出一份可提供于安全工程师有迹可循且直观的漏洞扫描报告的过程,从而为安全工程师的安全工作提供完整、高效的漏洞情报。关键词:漏洞扫描技术;Web应用安全;扫描器;模块化扫描;Python脚本ImplementationofaBrowserBasedVulnerabilityScannerAbstract:Howtotimelyandquicklydiscovervarioussecurityvulnerabilities,andpatchthemtoreduceoreliminatehost,URL,andwebri
3、skshasbecomeanimportantissueinthesecurityindustry.Smallwebapplicationshavedozenstohundredsofpages,whilelargewebapplicationshavethousandstotensofthousandsofpages.Itisclearlydifficulttoestimatethecostofmanuallytestingthesecurityofeachpage.Therefore,torelyonautomatedtools,suchasvulnerabilityscanners,to
4、helpauditorsdiscoversecurityvulnerabilitiesfromhoststotheweb.Thepurposeofthisprojectistocompleteavulnerabilityscannerbasedonvariouswebapplicationvulnerabilities.ThedesignideaismainlytocompleteaPython-basedscriptplugin,whichincludesvariousmodularplugins,andrealizesacompleteapplicationvulnerabilitysca
5、nningtoolthroughthelinkageoperationofeachmodule.Inordertoensurethateachfunctionisindependentandinterrelated,amodulardesignapproachisadoptedtocompletevulnerabilityscanningworkforhosts,URLs,orwebapplicationsthatneedtobeverified.Finally,aprocessthatcanprovidesecurityengineerswithatraceableandintuitivev
6、ulnerabilityscanningreportisoutput,therebyprovidingcompleteandefficientvulnerabilityintelligenceforsecurityengineerssecuritywork.Keywords:Vulnerabilityscanning;Webapplicationsecurity;scanner;modularscanning;Pythonscript.第1章绪论11.1 选题背景意义11.2 漏洞扫描器的发展现状21.2.1 漏洞扫描技术分类21.2.2 常见漏洞扫描软件31.3 本课题研究意义41.4 论文
7、工作内容41.5 论文组织架构5第2章安全漏洞扫描技术72.1 安全漏洞研究72.1.1 漏洞定义与分类72.1.2 漏洞审查72.1.3 漏洞危害72.2 安全漏洞库82.2.1 安全漏洞库具体作用82.2.2 现有的安全漏洞库92.3 漏洞扫描技术92.3.1 漏洞扫描器工作原理92.3.2 漏洞扫描器的发展历史102.3.3 漏洞扫描器的发展趋势11第3章漏洞扫描器的系统分析123.1 漏洞扫描器概述123.2 可行性分析123.2.1 技术可行性分析123.2.2 经济可行性分析123.3 功能需求分析123.4 流程分析13第4章漏洞扫描器的系统设计与实现154.1 总体设计154.
8、1.1 设计目标154.1.2 设计平台154.1.3 具体模块分布154.1.4 模块联动系统164.2 模块设计164.2.1 用户界面模块设计164.2.2 目标选择模块设计174.2.3 扫描引擎模块设计174.2.4 漏洞检测模块设计184.2.5 漏洞管理模块设计204.2.6 扫描数据库模块设计204.2.7 漏洞报告模块设计204.3 模块实现204.3.1 用户界面模块204.3.2 目标选择模块224.3.3 扫描引擎模块254.3.4 漏洞检测模块264.3.5 漏洞管理模块354.3.6 扫描数据库模块364.3.7 漏洞报告模块364.3.8 其他使用说明37第5章漏
9、洞扫描器测试395.1 测试方式395.2 功能测试395.3 测试总结41结论42致谢43参考文献44第1章绪论1.1 选题背景意义漏洞扫描器,对于安全工程师而言它像是一把万能的工具,可以帮助评估主机和网络的安全性能,发现网络中潜在的安全漏洞,提高网络的抗攻击能力;但是作为一个工具,其也可能被网络攻击者所利用,作为收集网络主机信息的重要手段。随着网络化和信息化的高速发展,网络已经逐渐成为人们生活中不可缺少的一部分,但网络信息系统的安全问题也变得日益严峻。网络攻击、入侵等安全事件频繁发生,而这些事件多数是因为系统存在各种安全漏洞所引起。漏洞(VUlnerability)也称为脆弱性,在漏洞被验
10、证可使用的情况下,攻击者就可在未授权的情况下访问或破坏系统,轻则导致数据泄露,重则导致其系统瘫痪。不同的软硬件设备、不同的系统或者同种系统在不同的配置下,都会存在各自的安全漏洞。安全漏洞在网络安全中越来越受到重视。根据CNVD漏洞平台国家信息安全漏洞共享平台,从2022年年初开始漏洞出现量仍然极高:其中第一至第四季度分别发现漏洞3173、2774、2549、2338个。相应的,安全漏洞的出现就会带来一系列的网络攻击事件。为了保证网络系统的安全、合规、统一,国家也颁布了中华人民共和国数据安全法。在该法律的约束下,中国的安全产业也在快速发展,而对于漏洞的处理上防患于未然就成了重中之重。对于安全漏洞
11、引起的安全问题,采用事先检测系统的脆弱点、加固脆弱点,是必须要做的事情。漏洞的检测依赖于人的发现,因此它是一个动态的过程。一般而言,系统的规模、复杂度与自身的脆弱性成反比:系统越大、越复杂,就越脆弱。当发现系统的一个或多个漏洞时,对系统安全的威胁便随之产生。通常,黑客进行一次成功的网络攻击,首先会收集目标网络系统的信息,确定目标网络的状态,如主机类型、操作系统、开放的服务端口以及运行的服务器软件等信息,然后再对其实施具有针对性的攻击。而对目标系统信息及漏洞信息的获取,目前主要是通过漏洞扫描器实现的。漏洞扫描器是自动检测远程或本地主机在安全性方面脆弱点的程序。它通过模拟黑客攻击的方式对目标可能存
12、在的已知安全漏洞进行逐项检测。对于系统管理员来说,采用安全漏洞扫描技术,能够快速、及时地查看网络的安全状况,通过关闭不必要的服务、修补已经发现的漏洞等措施来加强安全。网络的安全风险是实时存在的,利用漏洞扫描器来进行实时检测、保障网络和系统不被非授权用户侵入是确保网络安全的一个重要环1.2 漏洞扫描器的发展现状1.2.1 漏洞扫描技术分类基于网络的的检测技术使用积极的、非破坏性的办法来检验目标是否有可能被攻击崩溃。它根据漏洞的不同特性,构造网络数据包,发给网络中的一个或多个目标服务器,以判断某个特定的漏洞是否存在。基于网络的漏洞扫描包含网络映射和端口扫描功能,一般由以下几个部分组成:(1)漏洞数
13、据库模块;(2)用户配置控制台模块;(3)扫描引擎模块;(4)当前活动的扫描知识库模块;(5)结果存储器和报告生成工具。基于应用的检测技术在现在Web应用使用机器宽泛的大环境下,安全漏洞的数量和应用也在逐步增大,所以单独的应用安全漏洞扫描器显得格外重要。其中的应用层漏洞存在且不仅限于中间件漏洞、Web应用本身漏洞、逻辑漏洞等。而基于应用的漏洞扫描技术就是专门为此而开发出的检测技术:网络爬虫技术:与网络检测技术不同的是,基于应用的检测不能只局限于对点IP、MAC、操作系统等基本信息,而是要完成对网站的信息点进行爬取,所以一个应用检测技术首先必要的就是一个深度挖掘的爬虫技术。中间件扫描技术:相关应
14、用程序的保护结构及元件,这是应用用于Web交互的重要部分,类似于APaChe等的中间件内容往往在不做过滤的情况下就直接与后端进行交互,这就导致了部分的越权行为存在,所以中间件的扫描也是基于应用的检测技术的重点之O通用漏洞发现:Web应用安全漏洞扫描器存在多个使用模块,实现对SQL注入、XSS漏洞的扫描功能,这些漏洞往往不存在特定性,所以应用扫描器需要带有对这些漏洞的通用载荷以完成安全性检测。基于主机的检测技术主机漏洞扫描是基于主机模式的一种扫描方法,也是基于漏洞数据库,通过扫描等手段对指定的远程或者本地计算机系统的安全脆弱性进行检测,发现可利用漏洞的一种安全检测(渗透攻击)行为。通过网络安全漏
15、洞扫描,系统管理员能够发现所维护的Web服务器的各种TCP/IP端口的分配、开放的服务、Web服务软件版本和这些服务及软件呈现在Internet上的安全漏洞。特定目标的检测技术使用主动手段,采取非破坏性的方法对网络、系统的漏洞进行检测。通过对已知漏洞、未知安全威胁进行对传输信息的算法进行检验,对文件的加密方式进行检验。通过不间断的不断地处理目标信息,产生检验数据、对检验结果进行对比。当发现信息数据的的不对称结果,及时的反馈给平台,从而做出应对措施。1.2.2 常见漏洞扫描软件 AWVS漏洞扫描速度较快,准确率较高,漏洞规则库较为全面。漏洞验证可查看请求响应代码,但无中文界面。报表功能完整。有多
16、重漏洞的验证工具。 Appscan漏洞扫描速度一般,准确率最高,漏洞规则库最全面。漏洞验证可查看请求相应代码,拥有较完整的漏洞修复建议。报表功能完整。全中文界面。 HPWebInspect漏洞扫描速度一般,准确率较高,扫描类型较多。报表功能强大。可查看请求响应代码。无中文界面。(占用内存大) WebCruiser此工具偏向渗透利用工具,扫描功能较弱。仅有轻量级SQL注入和XSS漏洞的扫描功能。具有SQL注入漏洞利用功能。 Nexpose扫描速度快,能扫描系统层和Web层2类漏洞,但web漏洞发现能力不如appscan,系统扫描能力不如Nessuso Nessus主要用于系统层扫描,扫描速度快,
17、准确率高,漏洞规则库全面,报表功能强大。1.3 本课题研究意义有效避免黑客攻击行为:通过对漏洞扫描,安全管理员能了解网络的安全设置和运行的应用服务,定时自我审视,及时发现安全漏洞完成漏洞修复工作。并且在项目实施过程中一般会联动防火墙和网络监视系统等被动的防御手段,为体系与系统安全同时提供主被动双重安全,将安全的权力完全掌握。明确漏洞修补目标:漏洞扫描报告明确了漏洞存在的点位和可用性(即脆弱性),安全人员不再需要花费大量的时间来分析哪些漏洞需要处理、处理的顺序和重要性,这既可以减少在缺陷分析过程中花费的时间,也可以把主要精力集中在缺陷修复上。安保意识:定期漏洞扫描能够及时地向安全人员提供近期系统
18、存在的安全漏洞,解决了由于管理人员忙于处理其他事务而没有时间进行漏洞扫描所造成的安全管理缺失问题。1.4 论文工作内容基于上述的需求以及痛点,该漏洞扫描需要对多项存在的Web应用漏洞进行模块化功能实现,其中包括且不限于SQL注入、XSS注入、XXE注入等。且为了保证扫描器存在可拓展性,对不同的漏洞实行模块化处理。漏洞扫描:使用通用的应用漏洞特征码对漏洞进行漏洞扫描工作。同时其中也存在部分的爆破口令或常见的后缀名从而完成对越权等行为的扫描工作。最后在扫描结束后生成一份HTML的扫描报告显示结果。具体本扫描器中己预置了多项应用扫描功能如:注入漏洞:bashi:检测bashi命令注入,破壳漏洞(Sh
19、enShoCk)blindsqli:检测SQL盲注bufferoverflow:检测缓冲区溢出检测crlf:检测Crlf注入即回车换行注入headersqli:HTTP的头信息header,检测是否可能存在SqI注入漏洞headerxss:检测Headers头信息中XSS漏洞htmli:检测html代码注入Idapi:检测LDAP轻量级目录访问协议注入Ifi:检测本地文件包含漏洞oscommand:检测操作系统命令注入漏洞PhPi:检测PHP代码注入漏洞sqli:检测SQL注入漏洞ssi:检测服务端包含注入漏洞xpathi:检测xpathxml路径语言注入漏洞XSS:检测XSS跨站点脚本漏洞x
20、xe:检测XXEXML外部实体注入漏洞xst:#检测XST跨站跟踪漏洞中间件漏洞:apache:检测APaChe相关配置页面phpinfo:检测phpinfo页面robots:检测robots.txt暴力破解:adminpanel:猜解可能的管理页面backdoor:检测可能的后门程序backupdir:检测可能的备份目录commondir:检测可能的通用目录,附带敏感信息检测Commonfile:检测可能的敏感文件params:检测可能的隐藏参数敏感信息检测:emails:检测页面Email信息findip:检测页面IP信息errors:检测错误响应页面中的敏感信息1.5 论文组织架构第一章
21、绪论:介绍本文的研究背景、意义及所做工作。第二章安全漏洞扫描技术:介绍漏洞和漏洞扫描技术的相关概念、安全漏洞数据库等。第三章漏洞扫描器的系统分析:系统开发前所做的准备工作,开发工具和平台,需求分析、概要设计等,漏洞扫描模块实现的具体流程,整个系统主要技术讲解。第四章漏洞扫描器的系统设计与实现:设计了应用漏洞扫描检测系统,阐述了该扫描器的总体设计思想,并详细给出了各个模块的实现方法。第五章漏洞扫描器测试:选择主机对漏洞扫描器进行功能测试,通过测试用例得出结论。后续为结论、致谢等第2章安全漏洞扫描技术2.1 安全漏洞研究2.1.1 漏洞定义与分类漏洞:计算机安全漏洞是指计算机系统中存在的可以被攻击
22、者利用的软件或硬件缺陷,这些缺陷可能导致计算机系统的数据泄露、篡改、破坏或者其他未授权的行为。攻击者可以利用这些漏洞来获取系统权限、窃取敏感信息或者对系统进行破坏。漏洞分类:计算机安全漏洞可以根据不同的标准进行分类,以下是一些常见的分类方式:漏洞类型影响范围包括代码注入、缓冲区溢出、跨站点脚本等。包括本地漏洞和远程漏洞。漏洞等级:通常分为高、中、低三个等级,根据漏洞的危害程度来划分。漏洞来源:包括软件设计缺陷、实现缺陷、配置错误等。发现方式:包括主动扫描、被动监测、漏洞报告等。漏洞利用方式:包括远程利用、本地利用、社交工程等。2.1.2 漏洞审查查找漏洞的方法有很多种,以下是一些常见的方法:漏
23、洞扫描:使用漏洞扫描工具对系统进行扫描,以发现系统中存在的漏洞。安全审计:对系统进行安全审计,发现系统中可能存在的安全问题。安全测试:对系统进行安全测试,模拟攻击者的行为,以发现系统中存在的漏洞。漏洞报告:收集用户和安全研究人员的漏洞报告,对报告进行验证和修复。安全更新:及时更新系统和应用程序的安全补丁,以修复已知的漏洞。需要注意的是,查找漏洞是一个持续不断的过程,需要不断地进行漏洞扫描、安全审计和测试,及时更新安全补丁,以保障系统的安全性。在其他操作之前,对漏洞的发现过程是必须的,所以在漏洞审查的过程中漏洞扫描就起到举足轻重的作用。2.1.3 漏洞危害漏洞的危害非常大,以下是一些常见的危害:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 应用 漏洞 扫描器 设计 实现
链接地址:https://www.desk33.com/p-923521.html