手记

软件工程-毕业设计开题报告

本科毕业论文(设计)开题报告

题 目 网络漏洞扫描工具的设计与实现
学 院 软件学院
专 业 软件工程
学生姓名
学 号 年级
指导教师

教务处制表
二Ο一七年十月三十一日

义 漏洞是在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,从而可以使攻击者能够在未授权的情况下访问或破坏系统。现今漏洞分析技术主要涉及漏洞发现,漏洞的评估和管理三个研究领域。具体介绍如下:
一、漏洞发现
是指测试、检测和识别软件系统中的漏洞。
漏洞发现技术主要分为两类:特征匹配方法和插件攻击方法。
其中,特征匹配方法,实现方式是通过与目标主机的开放端口建立连接并请求特定服务,根据目标主机返回的应答,与由安全专家和一些权威机构建立起来的安全漏洞库里记录的特征进行匹配来确认漏洞是否存在。由此可见,漏洞扫描技术是基于端口扫描技术和远程操作系统的识别技术而实现的,且系统中建立的漏洞库的完整性和有效性决定了该漏洞扫描系统的性能。
端口扫描技术是通过向目标主机的端口发送TCP/UDP连接信息,通过信息的反馈来确定目标主机系统开放的服务。通过端口扫描技术可以缩小搜索漏洞的范围。而漏洞扫描分析技术正朝着扫描的全面性,隐蔽性以及灵活性方向发展,扫描技术的全面性的基本要求就是能够发现计算机系统内数量更多,种类更全面的安全漏洞。现今在各种操作系统和应用软件越来越多的情况下,迫切需要可靠的端口扫描技术将系统中所存在的服务更加完整全面的检测出来,以此才能正确的进行漏洞分析技术。现有的安全扫描技术大都会被防火墙或入侵检测系统发现,故针对特殊安全扫描方面的应用,对隐蔽性要求也越来越高。所以我们需要研究采取何种端口扫描方式来对一个系统所开放的服务进行扫描,并对结果进行融合,以保证前期工作的正确性。
漏洞库包含了系统安全漏洞的信息及其相关信息,用户可以通过漏洞库更好的抵御并解决系统的安全问题。虽然目前大多数系统都包含了漏洞数据库,然而,不同的数据库之间的包含的信息各不相同,所以当不同数据库指向同一个问题,往往不能得到一个统一的有效的解决方案。由此便导致了不同数据库与工具间的通用性降低。且不同的安全工具的漏洞库的评估并没有一个标准化的规范,所以我们需要研究怎样建立一个信息有效且通用的数据库,可以实现与其他数据库的通用,使得在漏洞扫描以及漏洞评估方面更加有效的进行。
二、漏洞评估
是指对漏洞带来的系统危害进行评估。
通过评估系统中存在的漏洞的威胁程度和对系统的影响的程度,提出解决方案,以使系统风险能够降低到可令人接受的范围内。目前国内外的风险评估方法众多,信
息冗杂,由此,我们需研究如何建议一个可信度较高的风险评估方案,使用户能够更加清晰明了的了解系统中存在的安全风险。
三、漏洞管理
是指管理软件对系统中存在的漏洞进行记录和发布。

    随着网络应用的发展,越来越多的客户们对部署方便,无需安装额外的客户端,且在任何电脑上可使用的要求越来越大。作为广泛流行的C/S架构,对客户端硬件的配置要求较高,而开发的软件需要不断的升级,同时需要配套的硬件能够满足软件升级的需求,使得开发成本越来越高。且C/S架构平台因其可移植能力要差,开发者需要根据不同的系统而开发不同的客户端,也造成了开发成本的增加。而B/S架构的提出,即采用Web浏览器作为客户端的架构使得用户只需通过通用浏览器便可进行软件相应的操作,简化了客户端,甚至整个系统的开发和维护,有助于系统的扩展和升级,适用于网络发布,使得C/S架构产生的问题得到解决。目前,多数网络漏洞扫描软件都为C/S架构,所以我们需要研究B/S架构开发软件的可操作性。

就目前的漏洞扫描技术而言,自动化的漏洞扫描还无法得以完全实现,漏洞的数目也在持续增加,因此网络漏洞扫描技术仍待更进一步的研究和完善。所以,设计应用系统安全漏洞的扫描分析工具的设计是非常有必要的,且有必要建立一套有效的漏洞分析流程,能够向用户显示有效的分析结果。
本系统是设计和实现一个网络漏洞扫描器,故将对漏洞发现,漏洞分析以及漏洞管理三个领域的国内外现状进行概述。
漏洞发现:
目前在漏洞发现领域,国内外大多采用特征匹配方法和插件攻击方法。特征匹配方法主要是通过与目标主机的开放端口建立连接并请求特定服务,根据目标主机返回的应答,与由安全漏洞库里记录的特征进行匹配来确认漏洞是否存在。使用插件模拟攻击方法是通过模拟IP欺骗、缓冲区溢出等攻击方法向目标主机发起攻击,其中,插件即为攻击的代码测试模块。扫描程序通过调用插件对可能存在的漏洞进行检查来发现漏洞的存在性。较为出名的使用插件技术的Nessus创建了一种.nasl属性的文件,作为插件攻击的文本存储。目前,国内外漏洞发现技术已经很成熟。
在端口扫描方面,目前的端口扫描技术分为三类:开放扫描,隐蔽扫描和半开放扫描。有TCP-connect扫描,TCP-FIN扫描, TCP-Xmas扫描,TCP-NULL扫描,TCP-分段扫描,TCP-SYN扫描,TCP-间接扫描,UDP扫描等。这些扫描方式的功能和作用各不相同,并且在针对不同的系统时,返回的结果会有不同,各种扫描方式都带有不同程度上的局限性。目前流行的远程操作系统扫描技术主要有应用层探测技术和网络堆栈特征探测技术。该技术在漏洞发现之中被广泛应用,已很成熟。
漏洞评估:
漏洞分析领域内,在对漏洞威胁方面,国内外各大评分系统各不相同。国外有通用的CVSS将漏洞的危害程度以低、中、高三个层次,从时间,环境,基本信息三个层面进行分析;SANS的漏洞评价系统通过回答相应的问题进而确定漏洞的危险程度;CERT通过1~180的数字确定漏洞的风险系数。国内的中国国家漏洞库在描绘漏洞信息中以危害、高、中、低四个层次评估漏洞的威胁等级,国家信息安全漏洞共享平








述 台和启明星辰漏洞库均以高中低三个层次评估漏洞威胁等级。由此可见,在漏洞风险评估中,国内外的评估方式各不相同。目前,国内外对漏洞风险评估方法不统一,有采取层次性分析法的漏洞评估,有从时间和空间的分布情况对漏洞进行评估,还有提出攻击图分析的风险评估模型,实际应用中普遍采用的是定量分析的方式。
漏洞库的建立是对漏洞的数据进行管理,其中包括漏洞信息,来源,对系统造成的影响,安全危害级别等信息。在欧美国家,漏洞库的建立比较早,美国在建立漏洞信息管理中心方面投入了很多,国家漏洞库NVD的建立,支持公共数据中心US-CERT,NIST, 非盈利机构Mitre,OSVDB等的发展,还鼓励商业公司IDefense,Symantec公司等。澳大利亚有着Aus-CERT,丹麦的Secunia以及法国的VUPEN。在国内,因国内的漏洞分析技术起步较晚,大多主流应用产品还不能完全摆脱对国外技术的依赖,因此漏洞分析也就成了国内信息安全领域的一大课题。目前,我国在2009年后,漏洞库的建设有了很大的提升,较为出色的漏洞库有中国国家漏洞库,国家信息安全漏洞共享平台,国家安全漏洞库,还有安全公司因自身需求而建的绿盟科技漏洞库和启明星辰漏洞库。通过对比各大漏洞库,发现各大漏洞数据库所包含的信息各不相同,且国内漏洞信息大多援引国外著名的各大漏洞库信息,首次发布的漏洞信息比例小,并缺乏对漏洞库信息的应用,在安全审计,风险评估方面的应用较少。
漏洞管理:
在国内的漏洞管理领域,大多数安全公司首先比较的是各自拥有的漏洞数量,其次,才考虑到安全评估机制。这些公司虽含有漏洞管理的功能,但大多不是专业的漏洞管理工具,对用户关注的扫描结果和处理,漏洞平台的完整做的还不够。在国外,很多公司已经对漏洞管理进行研究,如VeriSign Vulnerability Management Service,它提供一整套完整的识别应用程序和系统漏洞的级别的服务,SecuiScan为企业提供专门的漏洞评估工具以及扫描工具。目前,漏洞扫描技术虽然已经成熟,但是各种商业或者开源的扫描器有太多杂乱的信息和各种各样的警告,用户对于这些信息的不了解,也不了解修复漏洞的必要,对漏洞管理工具只处于检测阶段的处理。
另外在软件工具的实现方面,主要有两种体系结构,一种是C/S结构,另一种 B/S 结构。在B/S中,用户使用浏览器通过 Web 服务器向后台的漏洞存储数据库提交对漏洞相关数据进行发布、更新、查询、删除、使用等的请求,Web 服务器将处理的结果以动态 Web 页面的方式返回给用户。主机终端模式由于硬件选择有限,硬件投资得不到保证,已经被逐步淘汰。而文件服务器模式只适用小规模的局域网,对于用户多、数据量大的情况就会产生网络瓶颈,尤其对多用户请求、共享数据的应用无法提供足够充分的服务。在国内外,这两种方式已经作为主流的工具实现方式,其中B/S架构以其简单配置,更新方便,通用性较强的优点,在各类软件产品中逐步发展起来。目前,虽然B/S架构已经成熟,但国内多数漏洞扫描软件更多的采用C/S架构模式,在国外B/S架构发展迅猛,像SecuiScan已采用浏览器的方式对企业提供服务。





容 1、研究现有的端口扫描技术,设计扫描策略,为设计系统提供技术支持。
(1)分析并比较现有的端口扫描方式,确定系统所要采用的多种端口扫描方式。
(2)分析并比较已选择的多种端口扫描方式,确定一种相对最佳的端口扫描方式,用来作为系统的默认扫描方式。
(3) 研究如何对多种端口扫描方式的结果的融合,最大限度的检测到系统所开放的服务。

  1. 研究如何建立可用的漏洞库数据库,为漏洞扫描和漏洞分析提供依据。
    (1)研究现今各大漏洞库数据库,确定系统所要采用的多种数据库。
    (2)研究所采用的数据库的建表规范,确定系统所建立的数据库的通用性。
  2. 研究如何建立风险评估系统,为用户提供可信的风险的风险评估报告。
    (1)分析现今存在的各种漏洞风险评估手段。
    (2)研究并确立一种可行的风险评估手段,可以进行较为准确的风险评估。
  3. 研究B/S架构的原理,使系统可以实现通用性。
    (1)研究并实现LAMP结构作为服务器端处理数据的可行性。
    (2)研究并实现在B/S架构下漏洞扫描系统的实现。
    拟采用的研究思路(方法、技术路线、可行性论证等) 系统结构图

系统分为两个部分:基于Web浏览器的客户端部分和基于Linux系统下的服务器端部分。
客户端:
用户主要通过基于Web浏览器的客户端,发送漏洞扫描指令,对扫描结果进行查看。主要实现的功能有:登录系统功能,漏洞扫描指令发布功能,参数设置功能,日志查看功能和结果显示功能。

登录系统功能:

未注册的用户需要在网站进行注册后才能执行系统的所有功能。用户进行登录操作后,才能查看到以前的扫描记录,系统保存的系统的相应信息。
漏洞扫描功能:

用户可以针对单个或多个IP地址,发布漏洞扫描指令,使系统开始运行。s

通过在这个模块,用户可以观察到各个主机的漏洞扫描的进度。
参数设置功能:

用户通过该模块设置端口扫描的方式,是进行默认扫描还是进行融合方式扫描。
用户通过该模块设置扫描端口的范围。
用户通过该模块设置扫描的安全漏洞的种类。
用户通过该模块设置其他各种漏洞扫描参数。
日志查看功能:
用户通过日志查看功能,可以查看历次登录信息。
用户通过日志查看功能,可以查看历史扫描信息,例如扫描时间,扫描范围以及扫描结果。
结果显示:
用户通过结果显示模块,查看当次漏洞扫描的结果。
用户通过结果显示模块,可以选择相应的文本存储格式将结果保存在本地。

服务器:

服务器基于Linux系统下实现,采用Linux+Apache+MySQL+PHP的方式实现。
控制模块:
该模块是服务器调用各项操作的集成模块,可以通过逻辑通信模块传递的信息向扫描模块传递扫描参数。
可以调用用户信息数据库,将用户登录后可查看的日志信息等用户信息返回给逻辑通信模块,由它返回给用户。
扫描模块:
通过控制模块传递的扫描参数,创建线程池,通过线程对目标主机进行扫描。
首先对目标主机进行存活性扫描,使用Ping扫描,确定目标主机是否在网络中。
根据扫描策略,在端口扫描模块设置扫描策略,是多种扫描方式融合还是默认扫描。进行端口扫描,确定目标主机开放的端口以及开放的服务。
通过端口扫描返回的数据,根据协议栈指纹技术,确定目标主机系统的信息。
将结果保存,传递到漏洞分析模块。
漏洞扫描:
初步采用特征匹配的方法,根据探测到的主机操作系统信息以及开放的服务信息来查找系统漏洞库得出可能存在的漏洞信息,通过与目标主机特定的开放端口建立连接并请求特定服务,根据目标主机返回的应答,与系统漏洞库进行交互,确定系统中所包含的漏洞,将结果保存,传递给漏洞评估模块。
漏洞评估模块使用层次化评估模式,建立漏洞风险评估公式。通过与系统漏洞库进行通信,获得该漏洞的风险级别,发现时间,漏洞所属的类别,以及漏洞可能对系统造成的危害进行风险评估,将结果保存在服务器的数据库中,并将结果返回给控制模块,由控制模块与逻辑通信模块通信,将结果呈现到web浏览器客户端的结果显示中。
数据库:
数据库分为用户信息数据库和系统漏洞库。
用户信息数据库保存用户的基本信息:用户名以及密码。同时还保存用户的历次扫描时间以及扫描结果。
通过对比各大公开数据库,漏洞库以CVE漏洞库为基础,结合Bugtraq, nsfocus,X-force, CERT等数据库信息,新建数据库列表,将尽可能多的已知漏洞信息保存在数据库内。









度 2012.10.1-2012.11.1 完成网络漏洞扫描系统的相关技术点的研究

2012.11.1-2012.11.10 完成网络漏洞扫描系统的概要设计和详细设计

2012.11.10-2012.12.25 编码并完成网络漏洞扫描系统的原型,毕业设计初稿

2013.3.1-2013.4.1 完成网络漏洞扫描系统的测试及部署工作

2013.4.1-2013.5.20 完成毕业设计文档撰写,答辩。





录 [1] Empirical Analysis of System-Level Vulnerability Metrics through Actual Attacks. Hannes Holm, Mathias Ekstedt, Dennis Andersson. 2012.
[2] 漏洞库发展现状的研究及启示.吴舒平,张玉清. 2010
[3] 信息安全漏洞分析回顾与展望.吴世忠.2009
[4] 网络漏洞扫描技术研究. 龚小刚. 2011
[5] 一种网络漏洞探测系统的设计与实现. 周峰. 2006
[6] 基于漏洞扫描的综合扫描系统设计. 马遥. 2006
[7]Research of Network security Assessment System Based on Vulnerability Scan. Haifeng Wu. 2011
[8]RESEARCH ON THE ARCHITECTURE OF VULNERABILITY DISCOVERY TECHNOLOGY
YOU-CHUN ZHANG,QIANG WEI,ZENG-LIANG LIU,YING ZHOU.2010.
[9]Security vulnerability:From Analysis to Detection and Masking Techniques; Shuo
Chen, Jun Xu, Zbigniew Kalbarczyk, Ravishankar K. 2006
[10] 通用漏洞披露CVE http://cve.mitre.org/
[11] http://www.cert.org/
[12]通用漏洞评估系统 http://www.first.org/cvss/cvss-guide.html
[13]Open Source Vulnerability Database. http://osvdb.org/
[14]国家信息安全漏洞共享平台. http://www.cnvd.org.cn/
[15]Nessus 网络漏洞扫描器的管理与研究. 王博.2008
[16]基于 Nessus 的网络安全检测. 何颖. 2006
[17]一种基于层次分析法的信息系统漏洞量化评估方法. 李鑫,李京春,郑雪峰,张
友春,王少杰.2012
[18]浅析网络漏洞分析评估技术.郝培, 袁淑敏. 2011
[19]Research on Software Security Vulnerability Detection Technology.Liu
Ping,Su Jin,Yang Xinfeng.2011
[20]网络安全扫描系统关键技术的研究与实现.杨忠仪. 2007.

开 题 报 告 会 议 纪 要
时间 地点 主持人



师 姓 名 职务(职称) 姓 名 职务(职称)






                            记录人:






签名:     
备注:1、本开题报告除第3页各栏目外,其它栏目均由学生填写。2、填写各栏目时可根据内容另加附页。3、参加开题报告会议的教师不少于3人。

1人推荐
随时随地看视频
慕课网APP