




已阅读5页,还剩82页未读, 继续免费阅读
(计算机科学与技术专业论文)分布式漏洞扫描系统的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
北京邮电大学硕士论文分布式漏洞扫描系统的设计与实现 分布式漏洞扫描系统的设计与实现 摘要 网络应用的不断深入带来了诸多安全问题。因此,如何有效地保 护信息资源,提高计算机网络系统的安全性,已经成为所有计算机网 络必须考虑和解决的一个重要问题。 本文从开发分布式网络上漏洞扫描工具的角度出发,系统地讨论 了漏洞扫描的关键技术和分布式网络的通信方法,并参考模糊评价方 法提出了网络安全评估的模糊数学评价模型,根据扫描结果对整个系 统的安全程度与性能进行了评估,从亓百为制定合理的安全策略提供理 论依据。在论文的最后,我们给出了分布式漏洞扫描原型系统的设计 与实现。实践证明,本扫描系统具有良好的扩展性,能够及时检测到 最新出现的安全漏洞,所采用的模糊评价方法能让扫描报告更贴近评 估对象的实际情况,对网络安全工作的实施具有较好的实用意义。 关键字:网络安全,安全隐患,漏洞扫描,分布式网络,模糊评价 ! ! 塞坚生查竺堕主笙三! ! ; 坌塑苎塑塑塑塑墨堑塑堡生量茎堡 d e s i g na n di m p l e m e n t a r l l i o no f t 丑:ed i s t r i b u t e d v u l n e r a b i l i t ys c a n n i n gs y s t e m a b s t r a c t m a n ys e c u r i t yp r o b l e m s h a v e e m e r g e d w i t ht h e c o m p r e h e n s i v e a p p l i c a t i o n s o fn e t w o r k i n g t e c h n o l o g y h o w t o p r o t e c t i n f o r m a t i o n r e s o u r c e se f f e c t i v e l ya n di m p r o v et h es e c u r i t yo fs y s t e mh a sb e c o m ea n i m p o r t a n tp r o b l e m t h i sp a p e rd i s c u s s e st h ek e yt e c h n o l o g i e so f v u l n e r a b i l i t ys c a n n i n g , a n dt h ec o m m u n i c a t i o nm e t h o d so fd i s t r i b u t e dn e t w o n s 。t h e n ,t h ep a p e r p r o p o s e s a f u z z ya s s e s s m e n t m o d e lf o rn e t w o r k s e c u r i t ye v a l u a t i o nb a s e d o nf u z z ym a t h e m a t i c s ,a n du s ei tt oe v a l u a t et h es e c u r i t yl e v e la n dt h e p e r f o r m a n c e o ft h es e c u r i t ys y s t e m t i l em o d e lp r o v i d e st h eb a s i sf o r m a k i n g r e a s o n a b l es e c u r i t yp o l i c e s f i n a l l y , t h ep a p e rp r e s e n t st h ed e s i g n a n di m p l e m e n t a t i o no fap r o t o t y p ef o rd i s t r i b u t e dv u l n e r a b i l i t ys c a n n i n g i ti s p r o v e dt h a tt h i ss c a n n i n gs y s t e mh a sg o o de x t e n s i b i l i t y a n dc a n s e a r c ht h el a t e s tv u l n e r a b i l i t i e s ,a n dt h es c a n n i n gr e p o r t sb a s e do nf u z z y a s s e s s m e n tm e t h o da r er e a s o n a b l ef o rt h er e a l s i t u a t i o n so fs c a n n i n g t a r g e t s t h e r e f o r e ,i t i s p r a c t i c a l f o rt h er e a l i z a t i o no ft h en e t w o r k s e c u r i t y k e yw o r d s :n e t w o r ks e c u r i t y , s c a n n i n g ,d i s t r i b u t e dn e t w o r k ,f u z z y i l s e c u r i t yv u l n e r a b i l i t y , v u l n e r a b i l i t y a s s e s s m e n t 北京邮电大学硕士论文 分布式漏洞扫描系统的设计与实现 创新性声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名:童煎医日期:凶丛= 鱼:鉴 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即: 研究生在校攻读学位期间论文工作的知识产权单位属北京邮电大学。学校有权保 留并向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借 阅;学校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它 复制手段保存、汇编学位论文。( 保密的学位论文在解密后遵守此规定) 保密论文注释:本学位论文属于保密在一年解密后适用本授权书。非保密论 文注 北京邮电大学碰士论文分布式漏洞扫描系统的设计与实现 1 1 研究背景 第一章引言 近几年来,互联网取得飞速的发展。上网人数以几何级数的数量急剧增长, 人们越来越真实地感受到互联网的方便、快捷。无论个人用户,还是企业客户和 政府机构,都在不知不觉中加深了对互联网的依赖,正是这种对互联网的依赖, 使得提高网络安全性变得越来越重要。网络信息安全的目标在于保护信息完整 性、保密性以及为合法用户提供应有的服务。但是由于网络协议设计和实现本身 的一些不完善的因素以及系统本身存在的脆弱性和安全漏洞,使i n t e m e t 入侵事 件层出不穷,愈演愈烈。根据美国有关安全部门统计,i n t e r n e t 上9 8 的计算机 受到过黑客的攻击性分析,5 0 的机器被黑客成功入侵,而被入侵机器中有2 0 的管理员尚未发现自己已经被入侵,i n t e r n e l 己成为具有一定经济条件和技术专 长的形形色色的入侵者的靶子。美国金融时报曾报道,入网i n t e r n e t 的计算 机,达到平均每2 0 秒钟被黑客成功地侵入一次的新记录,在i n t e m e t 上的网络 防火墙超过l 3 被突破,一些银行、企业、行政机构都未能幸免。有调查报告指 出,近7 8 的信息主管、信息安全官员及其它高级技术管理人员报告他们的的企 业或机构己经因泄密受损失,其中超过2 5 的企业损失高于2 5 万美元,我国网 络犯罪形式同样也不容乐观。网络安全己成为一个很迫切的研究任务和现实课题 摆在我们面前,同时网络安全也是一个系统性工程,包括个整体的安全策略、 综合多种防护工具( 如防火墙、操作系统身份认证、加密等手段) 、检测工具( 如网 络安全扫描器、入侵检测系统等) 和及时响应的措施( 各种修补漏洞和改进办法) , 本课题的研究则属于整个网络安全体系的一部分。 1 2 相关领域的研究现状和发展趋势 安全扫描通常采用两种策略,第一种是被动式策略,第二种是主动式策略。 所谓被动式策略就是基于主机之上,对系统中不合适的设置,脆弱的口令以及其 他同安全规则抵触的对象进行检查:而主动式策略是基于网络的,它通过执行一 些脚本文件模拟对系统进行攻击的行为并记录系统的反应,从而发现其中的漏 洞。 安全扫描( 漏洞检测) 的四种常用检测技术包括: ( 1 ) 基于应用的检测技术,它采用被动的,非破坏性的办法检查应用软件包 北京邮电大学硕上论文分布式漏洞扫描系统的设计与实现 的设簧,发现安全漏洞。 ( 2 ) 基于主机的检溺技术,它采用被动的,菲破坏性的办法对系统进行检测。 通常它涉及到系统的内核,文件的属性,操作系统的补丁等问题。这种技术还包 括口令解密,把一些简单的口令剔除。因此,这种技术可以非常准确地定位系统 的问题,发现系统的漏洞。它的缺点是与平台相关,升级复杂。 ( 3 ) 基于目标的检测技术,它采用被动的。非破坏性的办法检查系统属性, 如数据库,注册号等。通过消息文摘算法,对文件的加密数进行检验。这种技术 的实现是运行在一个闭环上,不断地处理系统目标取系统目标属性,然后产生检 验数,把这些检验数同原来的检验数相比较。一旦发现改变就通知管理员。 ( 4 1 基于网络的检测技术,它采用积极的,非破坏性的办法来检验系统是否 有可能被攻击崩溃。它利用了一系列的脚本模拟对系统进行攻击的行为,然后对 结果进行分析。它还针对已知的网络漏凋进行检验。网络检测技术常被用来进行 穿透实验和安全审计。这种技术可以发现一系列平台的漏洞,也容易安装。但是, 它可能会影响网络的性能。 优秀的安全扫描产品应该是综合了以上4 种方法的优点,最大限度地增强漏 洞识别的精度。 安全扫描软件发展到现在已经出现了多个运行在各种操作系统平台上的、具 有复杂功能的商业程序。我们认为安全扫描技术的发展趋势可以概括为以下几 点: ( 1 1 使用插件( p l u g i n ) 或者叫做功能模块技术。每个插件都封装一个或者多个 漏洞的测试手段,主扫描程序通过调用插件的方法来执行扫描。仅仅是添加新的 插件就可以使软件增加新功能,扫描更多漏洞。在插件编写规范公布的情况下, 用户或者第三方公司甚至可以自己编写插件来扩充软件的功能。同时这种技术使 软件的升级维护都变得相对简单,并具有非常强的扩展性。 ( 2 ) 使用专用脚本语言。这其实就是一种更高级的插件技术,用户可以使用 专用脚本语言来扩充软件功能。这些脚本语言语法通常比较简单易学,往往用十 几行代码就可以定制一个简单的澳0 试,为软件添加新的测试项。脚本语言的使用, 简化了编写新插件的编程工作,使扩充软件功能的工作变得更加容易,也更加有 趣。 f 3 ) 由安全扫描程序进一步到安全评估专家系统。最早的安全扫描程序只是 简单地把用户所定义的各个扫描选项钓执行结果罗列崮来,直接提供给铡试者而 不对信息进行任何分析处理。而当前较成熟的扫描系统都能够将对单个主机的扫 描结果整理,形成报表,能够并对具体漏漏提出一些解决方法,僵对网络的状况 缺乏一个整体的评估,对网络安全没有系统的解决方案。未来的安全扫描系统, 北京邮电大学硬士论文 分布式漏洞扫描系统的设计与实现 应该不但能够扫描安全漏洞,还能够智能化地协助瞬络信息系统管理人员评估本 网络的安全状况,给出安全建议,成为一个安全评估专家系统。 ( 4 ) 采用高效的任务调度模型。因为一个大型的安全扫描系统,必须对哝应 速度缓慢的多台网络主机进行扫描,如何有效地利用系统和网络资源进行工作, 是未来需要解决的一个重要问题。 在对上面描述的网络漏洞扫描技术进行详细的讨论分析的基础上,本文提出 了一个综合性能较好的漏洞扫描系统设计方法。同时根据模糊数学评价方法对分 布式网络安全的安全程度与性能进行评测,并给出了一个能够在分布式网络环境 下进行漏洞扫描的原型系统实现。 论文的组成如下:第一章是对论文的研究背景、相关领域的研究现状和发展 趋势进行介绍:第二章讨论了系统中所运用到的漏洞扫描关键技术;在第三章中, 本文对不同网络环境下的通信方法进行了深入研究;第四章针对网络安全评估, 建立了与之对应的模糊数学评价模型:第五章介绍了分布式漏洞扫描系统的设计 方法和原型系统的实现,该设计方法在莱公司委托开发的网络隐患扫描系统中得 到应用,显著提高了实际系统的扫描效率,并提供了可信度更高的模糊评价扫描 报告,进而验证了该方法的优点:第六章是对本文工作的总结。 北京邮电大学硬士论文分布式漏洞扫描系统的设计与实现 第二章漏洞扫描的关键技术 2 1 主机扫描技术 体现一个漏洞扫描系统性能最重要的参数就是其漏洞扫描的能力。作为分布 式漏洞扫描系统的关键部件,漏洞扫描代理采用最有效的扫描技术,来保证其漏 洞扫描的能力。整个漏洞扫描包括主机扫描、协议指纹栈识别、端口扫描和脚本 扫描,本节首先介绍系统中所使用到的主机扫描技术。 2 1 1 传统扫描技术 主机扫描的目的是确定在目标网络上的主机是否可达。这是信息收集的初级 阶段,其效果直接影确到后续的扫描。常用的传统扫描技术主要是季哆用i c m p 协 议【l j 进行的,i c m p 是“i n t e r n e tc o n t r o lm e s s a g ep r o t o c o l ”( i n t e r a c t 控制消息协 议) 的缩写。它是t c p i p 协议族的一个子协淡,用于在口主机、路由器之间传 递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本 身的消息。这些控制消息能够让通信发起方获取网络的大量信息,因此也成为了 传统扫描所采用的主要技术。 2 1 1 1i c m pe c h o 直接扫描 目标:判断在一个网络上的主机是否开机。 实现原理 2 】:向耳标主机发送i c m pe c h or e q u e s t 数据包,等待回复的i c m p e c h or e p l y 包,如图2 一l 所示。如果能收到( s t a t u s a ) ,则表明目标系统可达, 否则( s t a t u sb ) 表明目标系统已经不可达或发送的i c m p 包已经被对方的设备 过滤掉了。 4 苎皇堡皇盔兰塑主堡壅 坌塑茎塑塑塑塑墨堑堕堡生兰塞翌 图2 - 1l c m p e c h o 扫描 优点:简单,直接实现在系统内核中,w i n d o w s 和u n x 系统都已经实现。 缺点:很容易被防火墙限制。经过最基本安全训练的网络管理员都会知道 必须在网络边缘路由或者防火墙阻塞来自1 n t e r n e t 的i c m pe c h o r e q u e s t s 。 例子:下面是两个l i n u x 机器的演示: 【r o o t h d q r o o t # p i n g1 9 2 1 6 8 5 5 p i n g1 9 2 1 6 8 5 5 ( 1 9 2 1 6 8 5 5 ) f r o m1 9 2 1 6 8 5 1 :5 6 ( 8 4 ) b y t e so f d a t a 6 4b y t e sf r o m1 9 2 1 6 8 5 5 :i c m p s e q = 0 t t l = 2 5 5t i m e = 4 4m s 6 4b y t e sf r o m1 9 2 1 6 8 5 5 :i c m p s e q = it t l = 2 5 5t i m e = 5 9m s 6 4b y t e sf r o m1 9 2 ,1 6 8 5 5 :i c m p s e q = 2 t t l = 2 5 5t i m e ;5 8i n s 一1 9 2 16 8 5 5p i n gs t a t i s t i c s 3p a c k e t st r a n s m i t t e d 3p a c k e t s r e c e i v e d o p a c k e tl o s s r o m l d t r i pm i r v a v g m a x = 4 4 5 3 5 9m s 下面是s n o r t 所显示的信息包: 0 l 2 6 1 3 :1 6 :2 5 7 4 6 3 1 61 9 2 1 6 8 5 1 一 1 9 2 1 6 8 5 5 i c m pt t l :6 4t o s :0 x 0i d :6 0 5 9 i d :5 7 2 1s e q :1e c h o 8 9 d 78 e3 82 76 30 bo o0 80 90 a o bo c0 do e o f 8 e 1 01 11 21 31 41 51 61 71 81 91 a1 b1 cl 】) 1 e1 f 2 02 12 22 32 42 52 6 2 72 82 92 a 2 b2 c 2 1 3 2 e 2 f ! $ & 。( 1 + + 。 3 03 13 23 33 43 53 63 70 1 2 3 4 5 6 7 0 l 2 6 - 1 3 :1 6 :2 5 7 4 6 6 3 81 9 2 1 6 8 5 5 1 9 2 1 6 8 5 1 i c m pt t l :2 5 5t o s :0 x 0i d :6 0 7 2 i d :5 7 2i s e q :ie c h o r e p i 8 9 d 78 e3 82 76 3o bo o 0 80 90 a o bo co d0 eo f 8 c 北京邮电大学硕上论文分布式漏洞扫描系统的设计与实现 1 01 11 21 31 41 51 61 71 81 9l al b1 c1 d1 e1 f 2 0 2 l2 22 32 42 52 62 72 82 92 a 2 b2 c 2 d 2 e 2 f ! ”群$ & 0 + + 一 3 03 13 23 33 43 53 63 70 1 2 3 4 5 6 7 由上可以看到,p i n g 命令向1 9 2 1 6 8 55 发送了i d 为5 7 2 1 的e c h o 数据包, 并得到了相同i d 的e c h or e p l y 信息的回复。 扩展:i c m ps w e e p 扫描,也就是通过并行发送,同时探测多个目标主机, 以提高探测效率,比如著名的f p i n g 工具口 就是用来进行i c m ps w e e p 扫描的, 另外,n r n a p 工具也能实现i c m ps w e e p 扫描,下面的例子是使用n m a p 对2 0 个 i p 地址进行i c m ps w e e p 的演示,这个地址范围里面实际上有三台机器,两台 是f r e e b s d 3 4 一r e l e a s e ,一台是w i n d o w s2 0 0 0p r o f e s s i n o lb e t a3 ,三台 机器都有回应: # n r n a p s p p i n1 9 2 1 6 8 0 1 - 2 0 s t a r t i n gn m a p v2 5 4 b e t a lb ym q h o s t ( 1 9 2 1 6 8 0 1 ) a p p e a r st ob eu p h o s t ( 1 9 2 1 6 8 0 2 ) a p p e a r st ob eu p h o s t ( 1 9 2 1 6 8 0 3 ) a p p e a r s t ob e u p n m a p r u n c o m p l e t e d 一2 0 i pa d d r e s s e s ( 3h o s t su p ) s c a n n e di n1s e c o n d s 2 1 1 2b r o a d c a s ti c m p 扫描 同标:探测大量主机信息。 实现原理 2 】:将i c m p 请求包的目标地址设为广播地址或网络地址,则可以 探测广播域或整个网络范围内的主机。只适合于u n i x l i n u x 系统,w i n d o w s 会 忽略这种请求包,所以可以初步判定对方的操作系统类型。 缺点:这种扫描方式容易引起广播风暴,如果有很多机器回应的话,甚至会 导致网络出现拒绝服务( d o s ) 现象。 例子:当发送i c m pe c h or e q u e s t 给网络广播地址的时候期望得到主机 的回应,其中的两台是f r e e b s d 主机,一台是w i n 2 k 主机w i n 2 k 没有回应: # p i n g b1 9 2 1 6 8 0 2 5 5 w a r n i n g :p i n g i n g b r o a d c a s ta d d r e s s p i n g1 9 2 1 6 8 0 2 5 5 ( 1 9 2 1 6 8 0 2 5 5 1f r o m1 9 2 1 6 8 0 1 :5 6 ( 8 4 ) b y t e so f d a t a 6 4b y t e sf r o m1 9 2 1 6 8 0 2 :i c m p _ s e q = 0t t l = 2 5 5t i m e = 4 1m s 6 4b y t e sf r o m1 9 21 6 8 0 3 :i c m p _ s e q 2 0t t l = 2 5 5t i m e = 5 7m s ( d u p ! ) 19 2 16 8 0 0p i n gs t a t i s t i c s 1 p a c k e t st r a n s m i t t e d ,1p a c k e t sr e c e i v e d ,+ 1d u p l i c a t e s ,0 p a c k e tl o s s 6 北京邮电大学硕七论文 分布式漏洞扫描系统的设计与实现 r o u n d t r i pr n i r d a v g m a x 5 4 1 4 9 5 7m s 2 1 1 3i c m p t i m e s t a m p 扫描 目标:用来探测是否采用了m sw i n d o w s 系列操作系统。 实现原理【2 】:使用时间戳请求( t i m e s t a m p ,类型1 3 ) ,会让远端主机产生 个时间戳应答( t i m e s t a m pr e p l y ,类型1 4 ) ,但是只有在u n i x 系统中才出现这 种情况,m sw i n d o w s 系列操作系统的i p 堆栈中没有此项功能。因此,根据对时 间戳请求的应答,不仅可以知道目的系统的主机是激活的,而且还能知道目的主 机是否采用了m sw i n d o w s 系列操作系统。 2 1 1 4i c m pa d d r e s sm a s k r e q u e s t 扫描 目标:探测路由器,了解网络拓扑结构。 实现原理1 2 】:地址掩码请求( a d d r e s s m a s k r e q u e s t ,类型1 6 ) ,只会被路由 器通过地址掩码应答( a d d r e s sm a s kr e p l y ,类型1 7 ) 来回答。地址掩码请求可以 识别各种路由器,并且可以收集子网的信息,它对于了解网络拓扑结构很有用。 由于这种类型的i c m p 报文只能用于本地主机寻找子网掩码,它显然应该是受 到防火墙屏蔽的首选i c m p 类型。 如果路由器厂商意识到了这一点,就应该设计出一种路由软件,使它只对邻 近的网络请求产生回应,这样这种探测路由器,了解网络拓扑结构的方法就不会 起作用了。 2 1 1 5i c m pt i m ee x c e e d e d 扫描 目标:探测路由器的i p 地址 实现原理【2 j :超时报文( t i m ee x c e e d e d ,类型l1 ) 通常用于错误处理,也 可以用于定位网络。在i p 数据包的包头中,:阿一个生命期( t i m e t o l i v e ,t t l ) 值,每当i p 数据包通过一个i p 层时,t t l 值就会减少。t t l 的作用是防止l p 数据包在网络中进行永久性循环。它的起始值最大为2 5 5 ,最终会变成0 。想对 网络进行攻击的黑客可以使用追踪路由命令( t r a c e r o u t e ) 来发送一个人为设置的、 t t l 值很低的报文。这样导致路由器发回一个超时报文,其中包括路由器的1 p 地址。 用户在u n i x 下使用t r a c e r o m e 命令时所看到的信息原理同上,在m s w i n d o w s 系统中则是廿a c e n 命令。 2 1 1 。6其他i c m p 扫描 除了上面所介绍的i c m p 扫描,还有一些其它i c m p 类型包也可以用于对主 机或网络设备的探测,只不过其相应的实现相对要更复杂一些,如:s t a m p 北京邮电大学顾:卜论文分布式漏洞扫描系统的设计与实现 r e q u e s t ( t y p e1 3 ) r e p l y ( t y p e1 4 ) ,i n f o r m a t i o nr e q u e s t ( t y p e1 5 ) r e p l y ( t y p e1 6 ) , a d d r e s sm a s k r e q u e s t ( t y p el7 ) r e p l y ( t y p e18 ) 等等,括号中的t y p en u m b e r 代表 了i c m p 的类型编号,可以用这种编号唯一识别这种i c m p 类型,也可以用文字 如s t a m pr e q u e s t 来进行识别。 各种传统扫描技术在实际应用中的优缺点比较如表2 1 所示 表2 1传统扫描技术的优缺点比较表 【比较 i 扫描方式、 优点缺点 ti c m p e c h o简单,易用易被防火墙限制 i c m p s w e e p 扫描效率高需专用工具 b r o a d c a s ti c m p简单,高效只能用于u n i x 系统 i c m p t i m e s t a m p 可识别操作系统需构造i c m p 包 a d d r e s sm a s k r e q u e s t 能了解网络拓扑结构易被防火墙限制 t i m ee x c e e d e d可获取路由器信息 需构造i c m p 包 表2 1 中的后三种扫描方式均属于非响应i c m p 扫描吼这种扫插类型指的 是不仅仅采用i c m pe c h or e q u e s t 数据包的方式进行扫描,还要进行其他选项的 设嚣,比如设置t i m e s t a m p 或者a d d r e s sm a s k 等等。本文所实现的扫描系统主 要采用的是i c m p 响应的方式进行扫描( 即前面所述的i c m pe c h o 和i c m p s w e e p 两种技术) ,不采用非响应i c m p 扫描。 选择i c m p 响应的方式,主要是对实现复杂度和实际的扫描效果进行权衡考 虑。对于一般的系统而言,i c m p 响应方式的扫描已经能够为后续的扫描工作获 取足够的信息,如果采用n o n - e c h o1 c m p 扫描,必须每种扫描都要设计单独的 处理脚本,复杂度的提高比信息获取程度的增加要大得多,所以目前的原型系统 直接采用i c m p 响应的方式进行主机扫描。 2 1 2 高级扫描技术 防火墙和网络过滤设备常常导致传统的探测手段变得无效。为了突破这种限 制,必须采用一些非常规的手段,利用i c m p 协议提供网络间传送错误信息的手 段,往往可以更有效的达到目的。 2 1 2 1 1 异常的l p 包头 向目标主机发送包头错误的i p 包,目标主机或过滤设备会反馈i c m p 北京邮电大学硕士论文 分布式漏洞扫描系统的设计与实现 p a r a m e t e rp r o b l e me r r o r 信息。常见的伪造错误字段为h e a d e rl e n g t hf i e l d 和i p o p t i o n s f i e l d 。 根据r f c l l 2 2 3 1 的规定,主机应该检测i p 包的v e r s i o nn u m b e r 、c h e c k s u m 字段,路由器应该检测i p 包的c h e c k s u m 字段。不同厂家的路由器和操作系统对 这些错误的处理方式不同,返回的结果也各异。如果结合其它手段,可以初步判 断目标系统所在网络过滤设备的a c l ( 1 p 地址访问控制列表) 。 在i p 头中设置无效的字段值:向目标主机发送的i p 包中填充错误的字段值, 目标主机或过滤设备会反馈i c m p d e s t i n a t i o n u 砒e a c h a b l e 信息。这种方法同样可 以探测目标主机和网络设备以及其a c l 。 2 1 2 2 错误的数据分片 当目标主机接收到错误的数据分片( 如某些分片丢失) ,并且在规定的时问 间隔内得不到更正时,将丢弃这些错误数据包,并向发送主机反馈i c m p f r a g m e n t r e a s s e m b l yt i m ee x c e e d e d 错误报文。利用这种方法同样可以检测到目标主机和 网络过滤设备及其a c l 。 超长包也属于错误的数据分片,我们可以通过超长包来探测内部路由器。若 构造的数据包长度超过目标系统所在路由器的p m t u 且设置禁止分片标志,该 路由器会反馈f r a g m e n t a t i o n n e e d e da n d d o n t f r a g m e n t b i t w a ss e t 差错报文,从 而获取目标系统的网络拓扑结构。 2 1 2 。3 逆向映射探测 一种名叫逆向映射( i n v e r s em a p p i n g ) 的技术则可能用于探测被过滤设备或 防火墙保护的网络和主机。通常这些被保护的系统无法从外部直接到达,但是在 允许内部报文( i c m p 的d e s t i n a t i o nu n r e a c h a b l e 报文) 向外发送的情况下( 这是 防火墙的常见设置) ,就可以采用逆商映射技术通过目标系统的路由设备对内部 网络进行有效的探测。 当我们想探测某个未知网络内部的结构时,可以构造可能的内部i p 地址列 表,并向这些地址发送数据包。当对方路由器接收到这些数据包时,会进行i p 识别并发送到目的主机,对不在其服务i p 范围内的数据包返回t c m ph o s t u n r e a c h a b l e 或i c m pt i m ee x c e e d e d 错误报文。所以,没有响应这两个错误报文 之一的i p 地址必然位于该网络中,这样就获取了内部网络的结构信息。 北京邮电大学硕士论文 分布式漏洞扫描系统的设计与实现 各种高级扫描技术在实际应用中的优缺点比较如表2 之所示 表2 2 高级扫描技术的优缺点比较表 饕 l 纛蒸热毖鑫蠢l翳落黼盏灞嘲鼹麓麓丽疆鹂麟瓣辅懋露燃l :自棼”薹爨瓤蝴蕊藤 优点 可以识别路由器 设备和操作系统 可探测内部路由器可穿透防火墙的屏蔽 需要构造数据分片要求允许i c m p 内部 缺点需要构造i p 包 网络延时较大报文对外发送 由表2 2 可以看出,高级扫描技术比传统扫描技术更为可靠,更能适应复杂 的网络环境,当然,耗时也会有定增加。对于分布式网络下的漏洞扫描系统, 建议采用高级扫描技术。本文所开发的原型系统因时间有限,对于高级扫描技术 以及上一节所介绍的非响应i c m p 扫描技术保留了设计接口,可以在系统的进一 步开发中实现。 2 。2 协议栈指纹技术 协议栈指纹技术5 1 能够探溺出目标主机的操作系统,是主机扫描之后的重要 部分,让扫描引擎能够根据探测的结果进一步调用相应的扫描脚本。图2 2 中的 椭圆指出了该技术在漏洞扫描中的关键位置: 北京f i 【jf b 大学硕士论文 分布式漏洞扫描系统的设计与实现 开放瑞口 图2 - 2 协议栈指纹技术的关键位置 在操作系统识别技术中,准确度最高的是t c p i p 协议栈指纹识别技术 5 】 6 。 该技术的理论依据是:在现实中,每个操作系统并没有完全遵循r f c 规范实现 其t c p i p 协议栈,它们在t c w i p 通信过程中的表现也不尽相同。因此,利用协 议栈指纹识别技术就是给目标系统发送特定的分组,根据其做出的不同响应进行 辨识。t c p i p 协议栈指纹识别技术大致可以分为下述9 种探测类型【6 】,通常需要 将多种探测类型结合使用,才能较为准确地识别目标操作系统。 f i n 探测( f i n s c a n n i n g ) 这种方法一般用于识鄹出系统是u n i x 或w i n d o w s 。在u n i x 环境下,当一 个f i n 数据包到达一个关闭的端口时,数据包会被丢掉,并且会返回个r s t 数据包;当一个f i n 数据包到达个打开的端口对,数据包只是简单的丢掉( 不 返回r s t ) 。然而在w i n d o w s 9 8 n t w i n 2 k 环境下,不论目标端口是否打开,操 作系统都发送r s t 。所以在已知某个特定端口打开的前提下( 通过前面介绍的主 机扫描技术) ,我们构造出f i n 数据包并向目标主机的该端口发送,如果对方不 返回r s t ,那么该操作系统就是u n 环境,否则就是w i n d o w 环境。 假标志探测( b o g u s f i np r o b e ) 通过在s y n 分组的t c p 首部设置个未定义地t c p 标志并发给目标系统, 可以识别特定的l i n u x 系统。版本号小于2 0 3 5 的l i n u x 系统在返回的分组中会 保持该标记。 初始i s n 取样( t c pi s ns a m p l i n g ) 探测 不同的t c p i p 协议栈实现,其初始序列数取样模式不同。通过获取目标系 北京邮电大学硕士论文分布式漏洞扫描系统的设计与实现 统响应连接请求时的初始序列数取样模式,可以大致确定其操作系统的类型。 不分段位( ”d o f f tf r a g m e n tb i t “) 探测 有些操作系统会设置其发送分组的i p 首部的”d o n tf r a g m e n t ”位以改变系统 性能。通过检查目标操作系统返回的信息,可以收集其操作系统的有关信息。 t c p 初始化窗口( t c pi n i t i a lw i n d o w ) 探测 对于特定协议栈的实现来说,t c p 初始化窗口基本上是个常数,通过检查返 回分组的初始化窗口大小就可以大致确定其操作系统类型。 a c k 值( a c k v a l u e ) 探测 不同的t c p i p 实现中其t c k 域的值是不同的,通过向目标系统发送某些特 定的分组,检查返回分组的a c k 值可以大致确定其操作系统类型。例如,向关 闭的t c p 端口发送f i n p s h a j r g 分组,大多数的t c p f l p 实现会在返回的分组 里将a c k 值设置为收到分组的初始序列数,而w i n d o w s 和某些实现会将序列数 加1 并返回。当w i n d o w s 一个打开的端口收到s y n f i n u r g p s h 分组后,有 可能在响应分组的a c k 域返回收到分组的序列数,也有可能将序列数加1 返回, 甚至还可能返回一个随机数。 i c m p 消息引用( i c m pm e s s a g eq u o t i n g ) 探测 r f c7 9 2 规定i c m p 的错误消息应包含一部分引起该错误的源消息。对于端 口不可达消息,几乎所有的协议栈实现只返回源i p 请求首部外加8 字节。但是 s o l a r i s 系统返回的信息稍多,而l i n u x 系统返回的更多。所以,即使目标主机没 有监听端口,这种方法也能识别出l i n u x 和s o l a r i s 主机。 服务类型( t y p eo f s e r v i c e ) 探测 对于”i c m p 端口不可达”消息,通过检查返回分组的服务类型( t o s ) 值, 可以识别出l i n u x 系统。因为几乎所有的t c p i p 协议栈实现在i c m p 错误消息中 使用o 作为t o s 值进行回复,而l i n t l x 用的是0 x c 0 。 t c p 选项( t c p o p t i o n s ) 探测 对于较高级的t c p 选项,各个系统的协议栈实现往往有所差异。通过发送 设置了无操作、最大分解大小( m s s ) 、窗口规模因子、时间戳等选项的t c p 分 组,分析其响应分组可以大致确定目标操作系统的类型。 本文所实现的分布式扫描原型系统中,参考了上述多种t c p i p 协议栈指纹 识别技术进行指纹模式匹配设计,通常需要在一个匹配过程中进行多次多种类型 的探测,才能够得到比较满意的结果。 2 3 端口扫描技术 端口扫描9 1 的基本原理是通过向目标系统的t c p 或u d p 端口发送连接请求, 北京邮电大学硕士论文分布式漏洞扫描系统的设计与实现 分析目标系统的响应信息,从而确定端口的开放状态和所提供的服务等信息。一 般:降端口扫描分为三种类型:开放扫描、隐蔽扫描和半开放扫描,下面就在这些 类型的基础上介绍常用的端口扫描技术。 2 3 1 开放扫描 开放扫描( o p e ns c a n n i n g ) 会产生大量的审计数据( 因为采用了完整并且 标准的t c p 连接过程) ,容易被对方发现,但其可靠性高。主要方法有: t c p c o n n e c t 扫描 实现原理:通过调用s o c k e t 函数c o r a l e c t 0 连接到目标计算机上,完成一次完 整的三次握手过程。如果端e l 处于侦听状态,那么c o n n e c t ( ) 就能成功返回。否则, 这个端口不可用,即没有提供服务。 优点:稳定可靠,不需要特殊的权限。 缺点:扫描方式不隐蔽,服务器日志会记录下大量密集的连接和错误记录, 并容易被防火墙发现和屏蔽。 t c p 反向i d e n t 扫描 实现原理:i d e n t 协议l lo j 允许看到通过t c p 连接的任何进程的拥有者的用户 名,即使这个连接不是由这个进程开始的。比如,连接到h t t p 端口,然后用i d e n t d 来发现服务器是否正在以r o o t 权限运行。 缺点:这种方法只能在和目标端口建立了一个完整的t c p 连接后才能看到。 2 3 2 隐蔽扫描 隐蔽扫描( s t e a l t hs c a n n i n g ) 能有效地避免对方入侵检测系统和防火墙的检 测,但这种扫描使用的数据包在通过网络时容易被丢弃,所以扫描结果的可靠性 不如前者。主要方法有: t c p f i n 扫描 实现原理:扫描器向目标主机端口发送f i n 包。当一个f i n 数据包到达一 个关闭的端口,数据包会被丢掉,并且返回一个r s t 数据包。否则,若是打开 的端口,数据包只是简单地丢掉( 不返回r s ,r 数据包) 。 优点:由于这种技术不包含标准的t c p 三次握手协议的任何部分,所以无 法被记录下来,从而比s y n 扫描隐蔽得多,h n 数据包能够通过只监测s y n 包 的包过滤器。 缺点:跟s y n 扫描类似,需要自己构造数据包,要求由超级用户或者授权 用户访问专门的系统调用;通常适用于u n i x 目标主机,除过少量的应当丢弃数 北京邮电大学硕上论文分布式漏洞扫描系统的设计与实现 据包却发送r s t 包的操作系统( 包括c i s c o ,h p u x ,m v s 和i r i x ) 。但在 w i n d o w s 9 5 f i 、q t 环境下,该方法无效,因为不论目标端口是否打开,操作系统都 返回r s t 包。 t c p x m a s 扫描和t c p n u l l 扫描 实现原理:t c px m a s ( c h r i s t m a st r e e ) 和n u l l 扫描是f i n 扫描的两个变种。 x m a s 扫描打开f i n ,u r g 和p u s h 标记,而n u l l 扫描关闭所有标记。这些组 合的目的是为了通过对f i n 标记数据包的过滤。当一个这种数据包到达一个关闭 的端口,数据包会被丢掉,并且返回一个r s t 数据包。否则,若是打开的端口, 数据包只是简单的丢掉( 不返回r s t ) 。 优点:隐蔽性好。 缺点:需要自己构造数据包,要求由超级用户或者授权用户权限;通常适用 于u n i x 目标主机,而w i n d o w s 系统不支持。 t c p 卸p r o x y 扫描 实现原理:f t p 代理连接选项,其目的是允许一个
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 离婚家庭子女抚养权移交与住房租赁管理协议
- 离婚协议公证及财产分割与子女抚养及监护权终止合同
- 东莞市某住宅小区车位租赁合同(含停车管理)
- 景观绿化租赁合同范本:城市景观绿化租赁管理合同
- 高效物业服务团队行为约束与激励制度合同
- 农业用地租赁合同范本-四年期限农业租赁协议
- 离婚协议违约金与共同财产分割及赡养费合同
- 同居关系解除及财产分配离婚诉讼起诉合同
- 离婚后共同财产分割及债权债务处理协议
- 智能家居生态链业务员招聘及产品整合服务协议
- 2025年检查检验项目分级审核制度
- 2025年新版汉字听写大赛题库(含答案)
- 2025年供应科考试试题及答案
- 无人机装调检修工技术考核试卷及答案
- 《传感器原理及应用》课件-第8章+光电效应及光电器件
- 古诗词诵读教学设计与实施方案
- 2025年山东省政府采购评审专家考试题库附含答案
- 2024年危险化学品典型事故案例反思
- 四川普通高中会考英语试卷及答案
- 营造林技能竞赛试题及答案
- 计算机专业英语(第二版)整本书课件完整版电子教案(最新)
评论
0/150
提交评论