(通信与信息系统专业论文)nessus网络漏洞扫描器的管理与研究.pdf_第1页
(通信与信息系统专业论文)nessus网络漏洞扫描器的管理与研究.pdf_第2页
(通信与信息系统专业论文)nessus网络漏洞扫描器的管理与研究.pdf_第3页
(通信与信息系统专业论文)nessus网络漏洞扫描器的管理与研究.pdf_第4页
(通信与信息系统专业论文)nessus网络漏洞扫描器的管理与研究.pdf_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中文摘要随着信息技术的迅速发展,i n t e m e t 已经成为人们日常生活不可缺少的一部分。然而,随着互联网的广泛普及,互联网安全问题已成为人们关注的焦点。网络管理员或用户需要通过漏洞扫描进行安全风险评估保障网络安全。本文首先论述了漏洞的含义、成因、漏洞的危害等级以及漏洞扫描器的含义。漏洞扫描器是一种自动检测远程或本地主机安全性弱点的程序。系统管理员通过漏洞扫描器扫描分析,能及时发现服务器或主机存在的危险。然后在详细分析n e s s u s 漏洞扫描器工作原理以及传统网络扫描系统缺陷的基础上,本文设计了一个基于多台n e s s u s 扫描服务器的分布式网络漏洞扫描系统,改变了传统使用单一扫描器构建扫描系统的模式。该系统由扫描服务器,w e b 管理中心,以及后台数据库等几部分组成。本文为扫描系统设计了独立数据库,实现了系统扫描任务的均衡分配以及扫描任务的自动排队等待。系统借助w e b 管理中心的管理能够完成对扫描用户的权限管理以及对扫描服务器状态的实时监测。同时系统实现了对目标网络或主机的定时检测功能,并且能够将检测信息即时自动发送给管理员。该系统能够通过对扫描结果的分析处理判断目标系统的安全运行状况,并将安全状态以曲线图或饼图的方式显现出来。同时,扫描系统可以通过w e b 管理中心将漏洞处理建议及安全状态分析图提供给用户。最后,本文制定了详细的测试方案,对网络扫描系统进行了测试分析,测试结果表明系统运行状况良好基本达到设计要求。关键词:网络漏洞扫描n e s s u sw e b 分布式网络漏洞a b s t r a c tw i t ht h er a p i dd e v e l o p m e n to fi n f o r m a t i o nt e c h n o l o g y , i n t e r n e th a sb e c a m ea ni n t e g r a lp a r to fd a i l yl i f e h o w e v e r , a l o n gw i t hi n t e m e t sw i d e s p r e a dp o p u l a r i z a t i o n ,i n t e r n e ts e c u r i t yh a sb e c o m ep e o p l e sf o c u so fa t t e n t i o n n e t w o r ka d m i n i s t r a t o ro ru s e rn e e dt ou s es e c u r i t yr i s ka s s e s s m e n tt op r o t e c ti n t e r n e ts e c u r i t y f i r s t l y , t h i sa r t i c l ed i s c u s s e dt h em e a n i n go fv u l n e r a b i l i t y , t h em e a n i n go fc r a c ks c a n n e r , o r i g i na n dh a r mr a n ko fv u l n e r a b i l i t y n e t w o r kv u l n e r a b i l i t ys c a n n e ri sap r o g r a mt h a ta u t o m a t i c a l l ym o n i t o r sw e a kp o i n t so fl o c a lr e m o t es e r v e rb yc o l l e c t i n gs y s t e mi n f o r m a t i o n t h es y s t e ma d m i n i s t r a t o rc a l ld i s c o v e rp o t e n t i a lh a z a r dt h a te x i s t i n gi nt h es e r v e ro rt h em a i ne n g i n et h r o u g ht h es c a n n e r t h es y s t e mc o n s i s t so fs c a n n i n gs e r v e r s ,w e bm a n a g e m e n tc e n t r e ,a n db a c k g r o u n dd a t a b a s e ,e t c t h e nt h ea r t i c l ea n a l y z e dp r i n c i p l eo fn e s s u sa n dd e f i c i e n c i e so ft r a d i t i o n a ln e t w o r ks c a n n i n gs y s t e m , d e s i g n e dad i s t r i b u t e dn e t w o r kv u l n e r a b i l i t ys c a n n i n gs y s t e mb a s e do nm u l t i p l en e s s u ss c a n n i n gs e r v e r st h r o u g hw e bm a n a g e m e n tc e n t r e t h ea r t i c l ed e s i g n e da ni n d e p e n d e n td a t a b a s ef o rt h es c a n n i n gs y s t e m t h es y s t e mr e a l i z e dt h es c a n n i n gd u t yb a l a n c e dd i s t r i b u t i o na n dt h ea u t o m a t i cq u e u e t h es y s t e mc a nr e a l i z et h em a n a g e m e n to fs c a n n i n gu s e r s r i g h ta n dm o n i t o rt h er e a l t i m es t a t u so fs c a n n i n gs e r v e r t h i ss y s t e mc a ns c a nt h eo b j e c th o s ti nf i x e dt i m ea n ds e n dt h er e s u l t st ot h ea d m i n i s t r a t o ra u t o m a t i c a l l y t h es y s t e mc a nj u d g et h ec o n d i t i o no ft a r g e th o s tt h r o u g ha n a l y s i s i ta l s oc a r lp r e s e n tt h es a f es t a t u sw i t hc u r v eg r a p ho rp i eg r a p h t h es c a ns y s t e mc a l lp r o v i d es a f es t a t u sa n a l y s i sa n dl o o p h o l es o l u t i o nt ou s e r s f i n a l y , t h i sa r t i c l ed r e wu pad e t a i l e dt e s t ,t e s t e dt h es y s t e ma n da n a l y z e dt h et e s t i n gr e s u l t t h er e s u l t ss h o wt h a tt h es y s t e mr a ni ng o o dc o n d i t i o na n df u l l ym e td e s i g nr e q u i r e m e n t s k e yw o r d s :n e t w o r kv u l n e r a b i l i t ys c a n ,n e s s u s ,d i s t r i b u t e d ,n e t w o r kv u l n e r a b i l i t y独创性声明本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得墨鲞盘堂或其他教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均己在论文中作了明确的说明并表示了谢意。学位论文作者签名:互诗签字日期:2 颤蟛年石月f0 日学位论文版权使用授权书本学位论文作者完全了解丞壅盘堂有关保留、使用学位论文的规定。特授权苤壅盘堂可以将学位论文的全部或部分内容编入有关数据库进行检索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校向国家有关部门或机构送交论文的复印件和磁盘。( 保密的学位论文在解密后适用本授权说明)学位论文作者签名:丑 尊签字日期:z 嘶年石月c 护日导师签名:签字日期:沙扣易月。日第章绪论1 1 研究背景第一章绪论随着信息与通信技术迅速在多个领域取得突破性进展,i n t e m e t 将人们更紧密联系在一起,“地球村”的梦想已然成为了现实。互联网已经深入到人类社会的各个领域,成为人们日常生活所不可缺少的一部分。它正在改变着人们的生产方式、工作方式、生活方式和学习方式,推动了各行各业的发展。互联网如此迅速发展并广泛使用,主要得益于其所特有的丰富信息资源。人们只要进入网路世界便可以从浩如烟海的信息中查询到自己需要的部分,可以和远隔重洋的亲朋好友互通音讯,可以坐在家中接受全球各地医学专家的会诊,可以实现网上购物、网上营销。互联网的迅速发展,给人们的日常生活带来了全新的感受,同时人类社会对信息网络的依赖程度已经越来越强,一个真正的互联网时代已经到来。然而,随着互联网的广泛普及越来越多不同背景和不同动机的参与者介入到互联网环境中,不法之徒试图不断利用各种手段伺机侵入他人网络系统。事实证明,随着电子商务和电子银行业务广泛使用,由于利益的驱使网络犯罪活动日趋猖獗,互联网正面临着其出现以来最大的威胁,网络安全已成为i n t e r n e t 上的焦点,它关系着i n t e r n e t 的进一步发展和普及,甚至关系着i n t e m e t 的生存。网络安全问题已经成为互联网发展道路上所亟待解决的问题。研究表明,7 0 以上的网络都是很脆弱的。因此,在如此严峻的形式下这就要求我们必须采取一切适当的措施来维护所使用的网络,确保其安全。目前,网络系统管理员采取的网络安全策略主要有:防火墙技术、数据加密技术、智能卡技术等关键技术。其中,防火墙是使用较为广泛的网络安全技术。所谓防火墙就是一个把互联网与内部网隔开的屏障。防火墙共有两类,标准防火墙和双家网关。标准防火墙系统包括一个u n i x 工作站,该工作站的两端各接一个路由器进行缓冲。其中一个路由器的接口是外部世界,即公用网;另一个则联接内部网。标准防火墙在信息传输上有一定的延迟。双家网关则是标准防火墙的扩充,又称堡垒主机或应用层网关,它是一个单个的系统,但却能同时完成标准防火墙的所有功能。其优点是能运行更复杂的应用,可以确保数据包不能直接从外部网络到达内部网络,反之亦然。但是,防火墙是通过进行访问控制来确保网络安全的,在网络安全领域防火第一章绪论墙只能算是一种被动性防御措施,它也存在局限性:( 1 ) 防火墙不能防范不经过防火墙的攻击。( 2 ) 防火墙不能解决来自内部网络的攻击和安全问题 4 。( 3 )防火墙不能防止最新的未设置策略或错误配置引起的安全威胁。一旦攻击者突破防火墙的访问控制将使整个网络很容易受到入侵。因此,面对如此瞬息万变的网络攻击手段网络防火墙并不能完全保证互联网的安全。任何一个网络管理员或用户都必须树立防范潜在危机的意识,从本质出发及时检测系统以及网络中存在的漏洞,及时发现各方面的威胁,并及时地做出响应处理。网络管理者必须采取一种未雨绸缪的方法来应对系统所面临的安全问题,通过评估来识别网络潜在的风险并对其进行分类。1 2 国内外漏洞扫描系统的研究现状在当今这样一个网络信息时代,基于网络的威胁潜伏在每一个角落。采用结构化逻辑化的方法对网络进行评估是确保网络安全的第一个步骤。漏洞扫描就是一种用来进行安全评估的手段【5 】。1 2 1 漏洞扫描软件的发展和研究现状漏洞扫描过程中扫描软件可以用来审计收集有关系统漏洞的数据。早期的扫描程序是专门为u n i x 系统编写的,随后情况就发生了变化。现在,几乎每一种平台上都出现了扫描程序。扫描程序对提高i n t e m e t 安全发挥了很大的作用。s a t a n ( 撒旦) 是一种早期的漏洞扫描软件,它是d a nf a r m e ra n dw e i t s ev e n e m a 用c 、p e r l 和一些h t m l 专门为u n i x 设计的分析网络的安全管理和检测、报告的工具,利用它可以收集到目标主机的很多信息。s a t a n 虽然很古老,但是它在网络安全领域中所起到的作用却一直没有衰退过 2 。经过多年的发展漏洞扫描软件取到了巨大的发展,目前已经出现了众多漏洞扫描工具。例如,a c u n e t i x 公司的a c u n e t i xw e bv u l n e r a b i l i t ys c a n n e r 、w a t c h f i r e的a p p s c a n 和n s t a l k e r 的n s t e a l t h 等。除了的商业扫描工具,另外还有一些免费扫描软件,譬如n e s s u s 1 1 、n a m p 、n i k t o 和x s c a l l 等。1 3 本课题研究的主要内容随着计算机技术网络技术的飞速发展及其应用的普及,人们通过网络交换和共享信息的频率在不断增加,大部分企业和学校都建立了自己的内部网络,特别第一章绪论是校园网的发展近几年内十分迅速,校园网的用户数量迅速增长。与此同时,校园面临的各种威胁也在逐渐增加,这就需要采取相应的对策进行安全保护。因此,为了保障校园网的安全运行需要建立一个安全扫描系统。本课题主要研究n e s s u s 的管理与应用,以及传统扫描系统在应用过程中所存在的不足。在此基础上本课题研究构建一个基于多台扫描服务器的分布式网络漏洞扫描系统,系统根据运行情况调控各扫描服务器负载保证系统正常运转。同时,课题研究建立扫描系统对部分网络定时检测以及漏洞报告的自动发送功能,实现扫描系统对网络漏洞的分析处理,将网络漏洞情况以及安全运行趋势以饼图或曲线图的方式反馈给用户,同时系统还能够将有关漏洞的详细信息反馈给用户( 例如:漏洞处理方法) 。在如上研究设计的基础上,本课题对研究开发的扫描系统进行测试,并对测试结果进行分析以检测系统是否能够达到预期目标。第二章漏洞扫描技术概述第二章漏洞扫描技术概述2 1 安全漏洞的定义及分级2 1 1 安全漏洞的定义漏洞是在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,从而可以使攻击者能够在未授权的情况下进行访问或破坏系统 7 。具体举例来说,比如在i n t e lp e n t i u m 芯片中存在的逻辑错误,在s e n d m a i l 早期版本中的编程错误,在n f s 协议中认证方式上的弱点,在u n i x 系统管理员设置匿名f t p 服务时配置不当的问题都可能被攻击者使用,威胁到系统的安全。因而这些都可以认为是系统中存在的安全漏洞。从广义上讲漏洞就是指一切导致威胁或破坏计算机系统安全( 可靠性、可用性、保密性、可控性、不可抵赖性) 的事物。包括人员,硬件,软件,程序,数据。计算机系统中存在的漏洞会随着用户的深入使用被不断暴露出来。随着时间的推移,1 日的漏洞会不断消失,新的漏洞会不断出现,安全漏洞也会长期存在。因此,对安全漏洞问题的研究必须要进行动态实时跟踪,对于发现的漏洞必须及时处理。2 1 2 安全漏洞的分级系统安全漏洞的存在可以是某些黑客攻击者得到可趁之机,他们可以利用这些漏洞侵入他人计算机系统以达到其不可告人的目的。例如:他们可以利用某些漏洞在未授权情况下访问他人系统,并非法获取他人计算机上的资料。在对攻击者攻击行为分析的基础上,按漏洞对目标主机的危险程度可粗略的将其分为三级 8 ,如图2 1 :a 级漏洞:允许恶意入侵者访问并可能会破坏整个目标系统的漏洞,如允许远程未授权用户访问的漏洞。a 级漏洞是威胁最大的一种漏洞,大多数a 级漏洞是由于较差的系统管理或配置有误造成的。几乎可以在任意类型的远程访问软件中找到这样的漏洞。如,f t p 、t e l n e t 、s e n d m a i l 等一些网络程序常存在一些严重的a 级漏洞。b 级漏洞:是允许本地用户提高访问权限,并可能允许其获得系统控制的漏洞。大多数的b 级漏洞是由应用程序中的一些缺陷或代码错误引起的。例如,第二章漏洞扫描技术概述在程序调试过程中为了调试方便会设置一些特殊的访问入口,在某些情况下可以使测试人员不需要密码就能访问。如果当程序调试成功后,忘记了将这些访问入口删除,就会造成允许用户提高访问权限的漏洞。此外,因编程缺陷或程序设计语言的问题造成的缓冲区溢出问题也是一类典型的b 级安全漏洞。编程时,程序员会设置一些缓冲区,但是如果程序员没有对这些缓冲区做适当的检查,判断它们是否足够大,结果就可能造成缓冲区溢出。当缓冲区溢出时,过剩的信息会覆盖的是计算机内存中的内容。那些能够被程序调用的子程序的列表信息以及传递给子程序的信息、参数都有可能丢失。这意味着程序不能得到足够的信息从子程序返回。入侵者会利用精心编写的入侵代码使缓冲区溢出,然后告诉程序依据他们预设的方法处理缓冲区并且执行,从而使整个运行程序处于他们的控制之中。c 级漏洞:是任何允许用户中断、降低或阻碍系统操作的漏洞,例如拒绝服务漏洞。最典型的一种拒绝服务攻击是s y n f l o o d ,即入侵者将大量的连接请求发往目标服务器,目标主机不得不处理这些“半开”的s y n 请求,然而并不能得到a c k 回答,很快服务器就会因为内存资源枯竭而挂起,任何用户都不能再从服务器上获得服务。综上所述,对目标主机危害最严重的是a 级漏洞,其次是b 级漏洞,而c级漏洞是对系统正常工作进行干扰。图2 1 安全漏洞分级2 2 漏洞扫描技术定义及分类2 2 1 漏洞扫描定义漏洞扫描器是一种自动检测远程或本地主机安全性弱点的程序 9 。通过使第二章漏洞扫描技术概述用漏洞扫描器,系统管理员能够发现所维护的w e b 服务器的各种t c p 端口的分配、提供的服务、w e b 服务软件版本和这些服务及软件呈现在i n t e m e t 上的安全漏洞。从而在计算机网络系统安全保卫战中做到“有的放矢,及时修补漏洞,构筑坚固的安全长城。2 2 2 漏洞扫描分类按照常规标准,可以将漏洞扫描器分为两种类型:主机漏洞扫描器( h o s ts c a n n f g t ) 和网络漏洞扫描器( n e t w o r ks c a n n e r ) 1 6 。主机漏洞扫描器是指针对操作系统内部进行的扫描,如u n i x 、n t 、l i u n x系统日志文件分析,可以弥补网络型安全漏洞扫描器只从外面通过网络检查系统安全的不足。一般采用c l i e n t s e r v e r 的架构,有一个统一控管的主控台( c o n s o l e )和分布于各重要操作系统的a g e n t s ,先由c o n s o l e 端下达命令给a g e n t s 进行扫描,各a g e n t s 再回报给c o n s o l e 扫描的结果,最后由c o n s o l e 端呈现出安全漏洞报表。网络漏洞扫描器是指基于i n t e r n e t 远程检测目标网络和主机系统漏洞的程序( n e s s u s 、s a t a n 等) ,如提供网络服务、后门程序、密码破解和阻断服务等的扫描测试。它是一种自动检测远程或本地主机安全性弱点的程序。通过使用漏洞扫描器,网络管理员能够及时发现所维护的服务器或主机的各种端口的分配情况、提供的服务、服务软件版本和这些服务及软件所存在的安全漏洞,从而及时修补漏洞。图2 - 2 漏洞扫描分类第二章漏洞扫描技术概述除了上述二大类的扫描器外,还有一种专门针对数据库作安全漏洞检查的扫描器,主要功能是找出不良的密码设定、过期密码设定、侦测登入攻击行为、关闭久未使用的帐户,以及追踪登入期间的限制活动等。2 3 漏洞扫描的实现及衡量因素2 3 1 漏洞扫描的实现方法网络漏洞扫描通过检测目标主机t c p i p 不同端口的服务,记录目标给予的回答。通过这种方法,可以搜集到很多目标主机的各种信息( 如是否能用匿名登录,是否有可写的f t p 目录,是否能用t e l n e t 等) 。在获得目标主机t c p i p 端口和其对应的网络访问服务的相关信息后,与网络漏洞扫描系统提供的漏洞库进行匹配,如果满足匹配条件,则视为漏洞存在。在匹配上,网络漏洞扫描器一般采用基于规则的匹配技术。即根据安全专家对网络系统安全漏洞、黑客攻击案例的分析和系统管理员关于网络系统安全配置的实际经验,形成一套标准的系统漏洞库,然后在此基础上构成相应的匹配规则,由程序自动进行系统漏洞扫描的分析工作。此外,通过模拟黑客攻击的手法,对目标主机系统进行攻击性的安全漏洞扫描,如测试弱势口令等,也是扫描模块的实现方法之一。此方法通过使用插件进行模拟攻击,如果模拟攻击成功,则视为漏洞存在e 1 2 。一般插件是由脚本语言编写的子程序,扫描程序可以通过调用它来执行漏洞扫描,检测出系统中存在的漏洞。用户可以随时下载最新的插件以检测出更多的漏洞,甚至还可根据需要自己编写插件以扩充漏洞扫描软件的功能。2 3 2 漏洞扫描工具的衡量因素采用漏洞扫描工具仅是防范系统入侵保障系统安全的第一步。当您迈出这一步后,如何选择满足您自己需要的合适的扫描工具同样也很重要。一般情况下可以从以下几个方面进行分析,对漏洞扫描工具进行选择 1 0 1 :( 1 ) 底层技术:比较漏洞扫描工具,第一是比较其底层技术。你需要的是主动扫描,还是被动扫描;是基于主机的扫描,还是基于网络的扫描等。一些扫描工具是基于i n t e m e t 的、用来管理和集合的服务器程序,运行在软件供应商的服务器上,而不是在客户自己的机器上。这种方式的优点在于检测方式能够保证经常更新,缺第二章漏洞扫描技术概述点在于需要依赖软件供应商的服务器来完成扫描工作。扫描过程可以分为”被动”和”主动”两大类。被动扫描不会产生网络流量包,不会导致目标系统崩溃,被动扫描工具对正常的网络流量进行分析,可以设计成”永远在线”检测的方式。与主动扫描工具相比,被动扫描工具的工作方式,与网络监控器或i d s 类似。主动扫描工具更多地带有”入侵”的意图,可能会影响网络和目标系统的正常操作。他们并不是持续不断运行的,通常是隔一段时间检测一次。基于主机的扫描工具需要在每台主机上安装代理( a g e n t ) 软件;而基于网络的扫描工具则不需要。基于网络的扫描工具因为要占用较多资源,一般需要一台专门的计算机。如果网络环境中含有多种操作系统,您还需要看看扫描其是否兼容这些不同的操作系统( 比如m i c r o s o f t 、u n i x 以及n e t w a r c 等) 。( 2 ) 管理员所关心的一些特性:通常,漏洞扫描工具完成一下功能:扫描、生成报告、分析并提出建议,以及数据管理。在许多方面,扫描是最常见的功能,但是信息管理和扫描结果分析的准确性同样很重要。另外要考虑的是通知方式:当发现漏洞后,扫描工具是否会向管理员报警,采用什么方式报警。通常管理员从以下几个方面来进行考虑:1 、报表性能好;2 、易安装,易使用;3 、能够检测出缺少哪些补丁;4 、扫描性能好,具备快速修复漏洞的能力;5 、对漏洞及漏洞等级检测的可靠性;6 、可扩展性;7 、易升级性;8 、性价比好。( 3 ) 漏洞库只有漏洞库中存在相关信息,扫描工具才能检测到漏洞,因此,漏洞库的数量决定了扫描工具能够检测的范围。然而,数量并不意味着一切,真正的检验标准在于扫描工具能否检测出最常见的漏洞。最根本的在于,扫描工具能否检测出影响您的系统的那些漏洞。扫描工具中有用的漏洞库数量取决于你的网络设备和系统的类型。你使用扫描工具的目的是利用它来检测您的特定环境中的漏洞。例如如果你有很多n e t w a r e 服务器,那么不含n e t w a r e 漏洞库的扫描工具就不是你的最佳选择。当然,漏洞库中的攻击特性必须经常升级,这样才能检测到最近发现的安全漏洞。第二章漏洞扫描技术概述( 4 ) 易使用性不同的扫描工具软件,界面也各式各样,从简单的基于文本的,到复杂的图形界面,以及w e b 界面。一个难以理解和使用的界面,会阻碍管理员使用这些工具,因此,界面易操作性尤为重要。( 5 ) 扫描报告对管理员来说,扫描报告的功能越来越重要,在一个面向文档的商务环境中,你不但要能够完成你的工作,而且还需要提供书面资料说明你是怎样完成的。事实上,一个扫描可能会得到几百甚至几千个结果,但是这些数据是没用的,除非经过整理,转换成可以为人们理解的信息。这就意味着理想情况下,扫描工具应该能够对这些数据进行分类和交叉引用,可以导入其他程序中,或者转换成其他格式( 比如c s v ,h t m l ,x m l ,m h t ,m d b ,e x c e l 以及l o t u s 等等) ,采用不同方式来展现它,并且能够很容易的与以前的扫描结果做比较。发现系统漏洞,只是完成了一半工作。一个完整的方案,同时将告诉你针对这些漏洞将采取哪些措施。一个好的漏洞扫描工具会对扫描结果进行分析,并提供修复建议。一些扫描工具将这些修复建议整合在报告中,另外一些则提供产品网站或其它在线资源的链接。漏洞修复工具,它可以和流行的扫描工具结合在一起使用,对扫描结果进行汇总,并自动完成修复过程。( 6 ) 分析的准确性只有当报告的结果是精确的,提供的修复建议是有效的,一份包含了详细漏洞修复建议的报告,才算是一份优秀的报告。一个好的扫描工具必须具有很低的误报率和漏报率。( 7 ) 安全问题因扫描工具而造成的网络瘫痪所引起的经济损失和真实攻击造成的损失是一样的,都非常巨大。一些扫描工具在发现漏洞后,会尝试进一步利用这些漏洞,这样能够确保这些漏洞是真实存在的,进而消除误报的可能性。但是,这种方式容易出现难以预料的情况。在使用具备这种功能的扫描工具的时候,需要格外小心,最好不要将其设置成自动运行状态。扫描工具可能造成网络失效的另一种原因是扫描过程中,超负荷的数据包流量造成拒绝服务( d o s ,d e n i a lo fs e r v i c e ) 。为了防止这一点,需要选择好适第二章漏洞扫描技术概述当的扫描设置。相关的设置项有:并发的线程数、数据包间隔时间、扫描对象总数等,这些项应该能够调整,以便使网络的影响降到最低。些扫描工具还提供了”安全扫描”的模板,以防止造成对目标系统的损耗。( 8 ) 性能扫描工具运行的时候,将占用大量的网络带宽,因此,扫描过程应尽快完成。当然,漏洞库中的漏洞数越多,选择的扫描模式越复杂,扫描所耗时间就越长,因此这只是个相对的数值。提高性能的一种方式是在企业网中部署多个扫描工具,将扫描结果反馈到一个系统中,对扫描结果进行汇总。第三章n e s s u s 漏洞扫描器分析第三章n e s s u s 网络漏洞扫描器分析漏洞扫描是保证系统和网络安全必不可少的手段,面对互联网入侵,如果我们能够根据具体的应用环境,尽可能早地通过网络扫描来发现安全漏洞,并及时采取适当的处理措施进行修补,就可以有效地阻止入侵事件的发生。因此,漏洞扫描非常重要和必要。然而,在系统中查找并修补漏洞并不是一个一劳永逸的工作,而是一个需要坚持不懈的连续关注的过程。永远不要以为自己已经发现并解决了系统所有可能出现的漏洞。当然,作为企业的安全管理人员,你肯定订阅了涉及企业网络的各种安全漏洞和补丁公告邮件,它们可以帮助你保持企业网络的安全性。但是,惟一能够让你确信自己已经成功地堵住了系统全部已知漏洞的方法,就是对系统进行漏洞评估。手动进行漏洞评估的年代早已过去,目前市场上有大量优秀的漏洞评估工具,可以帮助我们评估系统的安全性,并告诉我们系统是否已经为己知的漏洞打好了补丁。在众多优秀工具中,n e s s u s 是其中一款免费并且性能卓越的网络漏洞扫描工具。3 1n e s s u s 漏洞扫描器原理分析3 1 1n e s s u s 漏洞扫描器简介n e s s u s 是一个功能强大而又易于使用的远程安全扫描器,是一种广泛使用的网络漏洞扫描系统。它是由r e n a u dd e r a i s o n 编写的。1 9 9 8 年,n e s s u s 的创办人r e n a u dd e r a i s o n 展开了一项名为t n e s s u s ”的计划,其计划目的是希望能为因特网用户提供一个免费、威力强大、更新频繁并简易使用的远端系统安全扫瞄程式。经过了数年的发展,包括c e r t 与s a n s 在内的等著名的网络安全相关机构皆认同了此工具软件的功能与可用性。2 0 0 2 年时r e n a u d 与r o ng u l a ,j a c kh u f f a r d 创办了一个名为t e n a b l en e t w o r ks e c u r i t y 的机构。在第三版的n e s s u s 释出之时,该机构收回了n e s s u s 的版权与程式源代码( 原本为开放源代码) ,并注册了n e s s u s o r g 成为该机构的网站。但目前n e s s u s2 x 系列仍开放源代码并提供插件升级服务。第三章n e s s u s 漏洞扫描器分析n e s s u s 可以帮助我们评估临界系统和应用程序的漏洞。它不仅可以检测系统漏洞,也可以对网络设备、整个网段进行检测,克服了主机漏洞扫描技术只能针对主机的缺点。n e s s u s 是一个多流程、基于插入式的软件,拥有很好的g t k 界面,能够完成超过4 5 0 台远程计算机的安全扫描。n e s s u s 服务器程序可以运行在各种类u n i x 平台上包括f r e e b s d ,l i n u x ,s o l a n s 以及w i n d o w s 9 x 和w i n d o w s n t 2 0 0 0 上。它是目前世界上最流行的网络安全扫描工具之一,具有如下特点:1 、最全和最新的漏洞数据库。由于n e s s u s 是一个开源项目,全球范围内有大量人员在开发对新发现漏洞的检测。目前在n e s s u s 漏洞数据库中有一万六千多个漏洞检测插件,分为4 6 类,并且还在不断更新。我们可以从其网站上获取最新的扫描插件,添加新插件后就可以使漏洞扫描软件增加新的功能,扫描出更多的漏洞。2 、远程和本地安全检查。传统的网络安全扫描系统只能做远程开放网络服务的扫描,而n e s s u s 既可以做基于网络的扫描也可以做基于主机的扫描,能显著地提高扫描速度并减少误报和漏报的概率。3 、智能的服务识别。n e s s u s 能识别出运行在非标准端口号上的常规服务,n e s s u s 是第一个实现该功能的安全扫描器,同时对于目标主机把同一个服务同时运行在几个不同端口号的情况,n e s s u s 也能识别并作相应的安全检测。4 、常规检查和彻底检查。n e s s u s 提供了两种扫描模式:常规扫描和完全扫描。常规扫描就是把一些具有危险和攻击性、可能引起被扫描对象崩溃的插件屏蔽,完全扫描则启用所有插件( 包括有攻击性的插件) 来观察扫描对象是否能抵御攻击。5 、采用基于n a s l 语言的插件模块。n a s l ( n e s s u sa t t a c ks c n p tl a n g u a g e ) 1 1 是n e s s u s 的一大特色,它是专为n e s s u s 设计的脚本语言,用于开发安全扫描插件,现在已成为业界事实标准,目前已发展到版本3 ,与以前版本相比,在安全性、效率和功能方面有很大提高。而且由于使用插件方式n e s s u s 的可扩展性很强,6 、完整的报告。n e s s u s 有强大的报告输出能力,可以输出h t m l 、l a t e x 、a s c i i 文本、x m l等多种格式。并且报告的内容很完善 1 4 】。在报告中,n e s s u s 根据所获取信息的风险级别的不同分为n o t e 、w a r n i n g 、h o l e 三级 1 8 】。并且给出了漏洞可能造成的威胁,对漏洞被利用的原理作概要说明,并列出受该漏洞影响的软件版本,给第三章n e s s u s 漏洞扫描器分析出对该漏洞的解决方案,最后提供了该漏洞在n e s s u s 漏洞数据库中的i d 和在其他漏洞数据库中的收录情况( 给出漏洞i d ) 。这样一份详细的报告为日后管理员改进系统漏洞提供了极大的帮助。3 1 2n e s s u s 的结构n e s s u s 是一种网络漏洞扫描系统。通常,网络漏洞扫描系统一般由五个部分组成:1 扫描引擎:扫描引擎根据用户设置的扫描策略选择相应的数据包或相应的扫描插件对目标系统进行全面扫描,发现系统中的安全漏洞。它是扫描器的主要部件。2 用户配置控制台:用户通过配置控制台来设置要扫描的目标系统,以及要采用的扫描策略。通常情况控制台可以是客户端或是w e b 浏览器。3 扫描知识库:扫描知识库监控当前活动的扫描,将要扫描的漏洞的相关信息提供给扫描引擎,同时还接收由扫描引擎返回的扫描结果。4 漏洞数据库( 或扫描方法库) :漏洞数据库包含了各种操作系统的各种漏洞信息,以及检测漏洞的指令,网络系统漏洞数据库是根据安全专家对网络系统安全漏洞、黑客攻击案例的分析和系统管理员对网络系统安全配置的实际经验而形成的。扫描方法库( 插件库) 则包含了针对各种漏洞的模拟攻击方法。具体选用哪一种数据库要根据要采用哪一种漏洞检测技术来决定。若采用基于规则的匹配技术则使用漏洞数据库,若使用模拟攻击方法( 即插件技术) 则使用扫描方法库。5 结果存储和报告生成工具:根据扫描知识库中的扫描结果生成扫描报告,并存储。网络漏洞扫描系统的体系结构如图3 1 所示。n e s s u s 是一种被广泛使用的网络安全评估工具,它被设计成客户服务器结构( 即c l i e n v s e v e r 模式) ,其结构如图3 2 所示。n e s s u s 服务器端负责进行安全检查,客户端负责配置管理服务器端,同时客户端还包括一个结果存储报告生成工具。n e s s u s 的服务器程序可以运行在各类u n i x 平台上包括l i n u x ,f r e e b s d ,s o l a n s ,甚至还可以运行在w i n d o w s 9 x 和w i n d o w s n t 2 0 0 0 x p 平台上。n e s s u s的服务器端包括一个扫描方法库( 由插件组成) 、当前活动扫描知识库和一个扫描引擎,采用了p l u g - i n 体系,允许用户加入执行特定功能的插件 1 9 。这些插件是用脚本语言编写的子程序,通常用户可以先制定扫描策略,然后扫描程序根据策略调用系列插件来执行漏洞扫描,根据当前的扫描知识库检测出系统中存在的第三章n e s s u s 漏洞扫描器分析漏鬻图3 一l 网络漏洞扫描系统体系结构h 标主机日标主机2目标主机3洞。一般情况下一个插件负责扫描一个或一类漏洞,不同的漏洞扫描插件对应不# p 端服务器端图3 2n e s s u s 的系统结构第三章n e s s u s 漏洞扫描器分析同的漏洞。n e s s u s 的客户端包括用户配置工具和结果存储报告生成工具。其客户端程序可以运行在w i n d o w s 和u n i x 平台上。3 2n e s s u s 代码分析n e s s u s 是一款开源软件我们可以从n e s s u s 的官方网站可得到n e s s u s 2 x 的源代码,其源代码主要包括4 个部分的内容:服务器端的核心代码( n e s s u s c o r e ) ;服务器端插件库的代码( y e s s u s p l u g i n s ) ;功能函数库代码( n e s s u s 1 i b r a r i e s ) 和客户端的代码。图3 - - 3n e s s u s 的代码结构3 2 1n e s s u s c o r e 部分代码分析n e s s u s c o r e 是n e s s u s 服务器端的核心代码。n e s s u s c o r e 文件夹下包括n e s s u s和n e s s u s d 两个文件夹。其中n e s s u s 文件夹中的文件是有关客户端的代码,进入其文件夹路径会看见n e s s u s 客户端的执行文件。n e s s u s d 文件夹下存放的是n e s s u s 服务器端代码,其中n e s s u s d c 是n e s s u s 系统的主文件,也就是m a i n 函数所在的文件。n e s s u s 的服务器端主要分成两个部分:1 n e s s u s d c 文件;2 n e s s u s c h e c k s i g n a t u r e c 文件。其中,n e s s u s d c 文件主要是负责接收并解读客户端发送过来的字段,然后根据客户发送的请求作出相应的操作。n e s s u s d c 这个文件里包含了侦听的主程序m a i n - l o o p ( ) 和主要处理程序m a i n ( ) 。m a i n 1 0 0 p ( ) 主要是负责等待客户端的信息;第三章n e s s u s 漏洞扫描器分析而m a i n ( ) 程序则主要是通过信息a r g c ,a r g v ,e n v p 来对消息进行不同的处理,还有版本的检查等等。而n e s s u s c h e c k s i g n a t u r e c 文件则主要负责管理加密,签名方面的信息。此外,n e s s u s 服务器端程序还包括1 u s e r s c 、u g s _ r c q c 、u t h c 文件:它们主要用来对用户名和密码进行管理。2 t a c h e d c 、d e t a c h e ds e n dm a i l 文件:负责管理服务器的日志。3 c o m l i l c 、n t p1 0 c 、和n t p文件:负责按的通信协议处理接1 1cn e s s u s收到的消息并向客户端发送消息。4 a t t a c k c 文件:负责按照定制的扫描策略对目标系统要求进行安全漏洞扫描。3 2 2n e s s u s p l u g i n s 部分代码分析n e s s u s p l u g i n s 是n e s s u s 服务器端插件库代码。n e s s u s 的插件库类似于常见的杀毒软件的病毒特征。插件库中的每一个插件针对某一个特定的漏洞进行检测,不同的插件检测不同的漏洞。例如,c i s c o 类中c i s c op a s s w o r dn o ts e t 插件用于检测c i s c o 路由器是否未设置密码从而可能导致攻击者非法获取大量路由器信息甚至关闭路由器;f t p 类中l i n u xf t pb a c k d o o r 插件用于检测l i n u x 下f t p服务器是否存在允许用户使用空的用户名和密码登陆并获取r o o t 权限的系统漏洞。n e s s u s 的这些插件通常大多使用专门的脚本语言n a s l ( n e s s u sa t t a c ks c r i p tl a n g u a g e ) 来进行编写。n a s l 是n e s s u s 攻击脚本语言,它是在c 语言的基础上为网络安全扫描工具n e s s u s 开发的脚本语言。通过n a s l ,任何人都可以方便快速地针对新出现的漏洞编写出测试插件,也便于不同操作系统的用户分享测试脚本 1 7 】。此外,n a s l 还可以保证编写的脚本只能用于针对目的主机的测试,使编写者难以使用编写的脚本用于恶意用途。同时,n a s l 移植性很好使用它编写插件不会消耗大量的内存资源。每一个使用n a s l 编写的安全漏洞扫描插件使用前都需要向n e s s u s 服务器进行注册后才能使用。注册信息通常包括名字、描述、作者等。每个n a s l 脚本都需要包含以下结构:i f ( d e s c r i p t i o n )撑j | 注册信息( 注册部分)撑第三章n e s s u s 漏洞扫描器分析e x i t ( o ) ;)群 脚本代码即攻击部分( a t t a c ks e c t i o n )桴其中脚本注册部分,需调用s c r i p t _ n a m e ( 1 a n g u a g e l :( n a m e ) , 】) 、s c r i p t _ d e s c r i p t i o n ( 1 a n g u a g e l :( d e s e ),【】) 、s c r i p t s u m m a r y ( 1 a n g u a g e l : , 】) 等函数分别用于设置在n e s s u s 客户程序窗1 3 中显示的名称、设置在n e s s u s 客户程序中显示的描述信息以及设置总结信息等工作。通常,脚本的攻击部分包含所有用于攻击测试的代码。一旦攻击完成,我们便可以使用s e c u r i t y _ w a r n i n 9 0 和s e c u r i t y _ h o l e ( ) i 函数来报告是否存在此类安全问题。它们的函数功能基本相同,一般情况下,s e c u r i t y _ w a m i n g ( ) i 垂l 数用于攻击成功但安全问题并不严重的情况。它们的函数原型如下:s e c u r i t y _ w a r n i n g ( ( p o r t ) ,p r o t

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论