(计算机系统结构专业论文)安全漏洞检测技术的研究与实现.pdf_第1页
(计算机系统结构专业论文)安全漏洞检测技术的研究与实现.pdf_第2页
(计算机系统结构专业论文)安全漏洞检测技术的研究与实现.pdf_第3页
(计算机系统结构专业论文)安全漏洞检测技术的研究与实现.pdf_第4页
(计算机系统结构专业论文)安全漏洞检测技术的研究与实现.pdf_第5页
已阅读5页,还剩56页未读 继续免费阅读

(计算机系统结构专业论文)安全漏洞检测技术的研究与实现.pdf.pdf 免费下载

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

文档简介

华中科技大学硕士学位论文 摘要 系统存在安全漏洞是导致网络入侵的根本原因。如何预先检测系统,找出系统 存在的安全隐患,及时修补存在的安全漏洞,最大程度地降低系统安全的风险程度, 已成为网络安全领域的一个重要研究内容。 r i 在充分分析安全漏洞形成厥因和对漏洞进行恰当分类的基础之上,给出了基于 模拟攻击的安全漏洞检测方法。这种方法可在不破坏目标系统的前提下,利用各种 、, 攻击手段达到漏洞检测的目的。4 , 针对安全漏洞检测涉及的重要技术进行了深入的研究。包捕获与包过滤技术可 以排除无效数据包的干扰,提高系统效率。网络扫描与远端操作系统识别是安全漏 洞检测的前提和基础,高效、准确的收集目标系统的信息可以在很大程度上提高检 测系统的性能。 在基于模拟攻击的安全漏洞检测方法基础之上,设计并实现了安全漏洞检测系 统v d e t e c t 。该系统采用基于插件机制的开放式模块化结构,这种结构有利于系统 的扩充,特别是使漏洞检测单元插件的更新变得十分灵活。在漏洞库的设计中使用 c v e 列表作为统一漏洞的标准,这一标准的使用提高了漏洞信息的共享程度和系统 的通用性。历史数据库的使用可使检测系统复用历次检测结果,这在很大程度上提 高i 系统效率。 一 一实验表明,v d e t e c t 安全漏洞检测系统的主要耗时集中在端口扫描阶段,并且 随端口数量的增加迅速增长。实验最后针对c a m p a s 漏洞和i s a p i 扩展缓冲区溢出 漏洞给出了各自的扫描检测结果和漏洞修补建议。y 关键词:漏洞检测,漱击,网络监听,网络扫描,插件 华中科技大学硕士学位论文 a b s t r a c t t h em a j o rf a c t o rt h a tl c a d st on e t w o r ki n v a s i o n jst h ee x i s t e n c eo f s e c u r i t yv u l n e r a b i l i t y i n s y s t o m h o w t oc h e c ks y s t e mjna d v a n c e ,f i n d s e c u r i t yp r o b l e m s ,r e m e d y s e c u r i t yv u l n e r a b i l i t y a n dr e d u c et h es y s t e m s e c u r it yr i s ki nt h em o s td e g r e eh a v eb e c o m et h ei m p o r tr e s e a r c ht o p i ci n n e t w o r ks e c u r it ya r e a b a s e do nt h ec a u s ea n dc l a s s i f i c a t i o no fs e c u r i t yv u l n e r a b i l i t y ,t h i s p a p e rp r e s e n t sam e t h o df o r t h ed e t e c t i n go fs e c u r i t yv u n e r a b i l i t y ,w h i c h isb a s e do ns i m u l a t i o na t t a c k t h i sm e t h o da c h i e v e st a r g e tb y d i f f e r e n t a t t a c k sa n dd o e s n td a m a g et h es y s t e m t h i s s t u d y f o c u s e so ns o m e i m p o r t a n tt e c h n i q u e s o f s e c u r i t y v u l n e r a b i l i t yd e t e c t i n g p a c k e tc a p t u r i n ga n dp a c k e tf i l t e r i n ge x c l u d et h e i n t e r f e r e n c eo fi n v a l i dd a t ap a c k e ta n di m p r o v es y s t e me f f i c i e n c y n e t w o r k s c a n n i n ga n dr e m o t eo p e r a t i o ns y s t e mr e c o g n i t i o na r e t h ep r e m i s ea n db a s i s o fs e c u r i t yv u l n e r a b i l i t yd e t e c t i n g t h ee f f e c t i v ea n da c c u r a t ec o l l e c t i n g o ft h ei n f o r m a t i o n o ft h e t a r g e ts y s t e mm a yg r e a t l y i m p r o v e t h e s y s t e m d e t e c t i n ge f f i c i e n c y b a s e do nt h es i m u l a t i o na t t a c km e t h o d ,as e c u r i t yv u l n e r a b i l i t y d e t e c t i n gs y s t e mc a l l e dv d e t e c tw a sd e s i g n e da n di m p l e m e n t e d t h i ss y s t e m u t i l i z e so p e nm o d u l es t r u c t u r eb a s e do np l u g i nm e c h a n i s m t h i ss t r u c t u r e f a c i l i t i e st h ee x t e n s i o no fs y s t e ma n dt h eu p d a t e o ft h ep l u g i no ft h e v u l n e r a b i l i t y - d e t e c t i n gu n i t i nt h ed e s i g no fv u l n e r a b i l i t yb a s e ,t h ec v e 1 i s ts e r v e sa sas t a n d a r do fv u l n e r a b i l i t i e s ,w h i c hi m p r o v et h es h a r i n go f t h ev u l n e r a b i l i t yi n f o r m a t i o na n dt h eg e n e r a l i z a t i o no fs y s t e m w i t h t h e h i s t o r yd a t a b a s e ,t h ed e t e c t i n g s y s t e m c a n u s et h ep r e v i o u s d e t e c t i n g i l 华中科技大学硕士学位论文 r e s u l t s ,w h i c hg r e a t l yi m p r o v e dt h es y s t e me f f i e i e n e y e x p e r i m e n tr e s u l t ss h o wt h a tt h em o s t t i m e c o n s u m i n gp a r t f o r t h e s e c u r i t yv u l n e r a b i l i t yd e t e c t i n gs y s t e m ( v g e t e e t ) i sp o r ts c a n n i n ga n dt h e t i m es p e n to np o r ts c a n n i n gi n c r e a s e sr a p i d l yw i t ht h ei n c r e a s e dn u m b e ro f p o r t s t h i ss t u d yp r o v i d e st h ev u l n e r a b i l i t yd e t e c t i n gr e s u l t sa n dr e m e d y s u g g e s t i o n sf o rt h ec a m p a sv u l n e r a b i l i t ya n d1 s a p ie x p a n d e db u f f e ro v e r f l o w v u l n e r a b i l i t yc h e c k e do u t i nt h ee x p e r i m e n t k e y w o r d s :v u l n e r a b i l i t yd e t e c t i n g ,s i m u l a t i o na t t a c k ,n e t w o r ks n i f f i n g n e t w o r ks c a n n i n g ,p l u g i n i i i 华中科技大学硕士学位论文 1 1 网络安全概述 1 引言 计算机网络对人类经济和生活的冲击是其它信息载体所无法比拟的,它的高速 发展和全方位渗透,椎动了整个社会的信息化进程。特别是风靡全球的i n t e r n e t , 更令人叹为观止。计算机网络具备分布广域性、体系结构开放性、资源共享性和信 道公用性的特点,因此在增加网络实用性的唰时也不可避免的带来了系统的脆弱 性,使其面临严重的安全性问题。网络安全问题已涉及到人们工作和生活的方方面 皿,轻则干扰人们的正常生活、工作。重则造成重大的经济损失,甚至威胁到国家 安全。网络安全问题已成为亟待解决的重大问题【1 1 2 l 。 1 1 1 网络安全的含义 网络安全是指网络系统的硬件、软件及系统中的数据受到保护,不受偶然的或 者恶意的原因而遭到破坏、更改、泄露系统能连续可靠正常地运行,网络服务不 中断i 。具体而吉。网络安全要求:保护个人隐私:控制对网络资源的访问:保障 商业秘密在网络上传输的保密性、完整性和真实性;控制不健康的内容或危害社会 稳定的言论:避免国家机密泄漏 。 从广义上来说,凡是涉及到网络上信息的保密性、完整性、可用性、真实性和 可控性的相关技术和理论都是网络安全的研究领域叫】。 1 1 2 黑客入侵的主要手段 黑客的入侵通常是从寻找系统的安全漏洞开始的,分析黑客入侵系统的方法才 能更加了解安全漏洞,才能更有针对性的进行漏洞检测并采取适台的安全防范措 华中科技大学硕士学位论文 施。安全漏洞检测与黑客入侵系统的方法是密不可分的。 系统攻击是指入侵者非法使用或破环某一信息系统中自勺资源,以投非法授权使 系统丧失部分或全部服务功能的行为。通常,攻击行为分为远程攻击和内部攻击两 种。 1 1 2 1 远程攻击 远程攻击是指通过i n t e r n e t 或其它网络,对连接在网络上的任意台机器的 攻击活动。 ( 1 ) 电子欺骗攻击 电子欺骗是指利用网络协议中的缺陷,通过伪造数据包等手段,来欺骗系统, 从而造成错误认证的攻击技术。i n t e r n e t 协议簇是基于可信环境开发但又被用于不 可信的环境中【”。| r t t e r n e t 协议簇主要考虑的是网络互联,而缺乏对安全性的考虑。 一次成功的电子欺骗攻击一骰需要如下儿个步骤:确认对要攻击和需要冒充的目标 双方的具体睛况:使被冒充的系统至少在攻击期间丧失与要攻击系统间正常的网络 通信能力;伪造发送一些特定信息包以使被攻击的系统发生错误认证。目前,对协 汉蔟的欺骗攻击主要有:t p 欺骗、佃p 欺骗、路由欺骗,b h s 欺骗和t c p 连接欺骗【引。 ( 2 ) 拒绝服务攻击( d e n i a lo fs e r v ic e ) 拒绝服务攻击是指一个用户占据了大量的共享资源,使系统没有剩余的资源给 其它用户使用的攻击方式n 拒绝服务攻击可以用来攻击服务器、路由器。使c p u 、 磁盘空间、打印机、调制解谰器等资源的可用性降低。拒绝服务攻击的典型方法有 s y nf l o o d i n g 、p i n gf l o o d i n g 、p i n go fd e a t h 、t e a r d r o p 等类型。 拒绝服务攻击一般分为两类:是试图破环资源,如删除文件、格式化磁盘、 切断电源等;二是过载一些系统眼务或消耗系统资源,通过这样的方式可以造成其 它的用户无法使用系统服务巩川。 ( 3 ) 口令攻击 口令攻击是指攻击者通过获取系统的口令取得系统的控制权。口令攻击可采用 两种不同的方法。第一种方法的原理是攻击者通过程序从黑客字典中取出单词作为 华中科技大学硕士学位论文 用户的口令输入给远端主机。若口令错误,就按顺序从黑客字典中取出下一单词进 行尝试。这一方法有两个缺陷:一是时间长,一般需要几个小时:_ 二是容易在系统 日志上留下明显的攻击特征,第二种方法的原理是攻击者首先获取目标系统的几令 文件,以离线的方式破解口令。攻击者首先从黑客字典中选择一个口令,然后用与 原系统相同的加密算法( 加密算法是公开的) 米加密此n 令,若加密的口令与目标系 统口令文件中的相同则破解成功i t 2 1 。 黑客字典是根据经验编写的用于猜测口令的词语集。手要包括有英语常见词、 黑客词语和拼写有误的译词等。目前收入黑客词典的有儿百万条所以u 令攻击是 1 分耗时的。 1 1 2 2 内部攻击 内部攻击是指来自本地系统中的攻击一个本地系统,可以是由多台计算机构 成的单一系统。一般来说,内部攻击的攻击者为本地系统的合法用户或是已经通过 攻击手段获得了本地权限的非法用户由于本地用户可使用远程用户不能访问的系 统资源,所以内部攻击比远程攻击更普遍。攻击者可利用本地系统各组成部件中存 在的安全漏洞达到破坏数据、非法提升权限的目的。 ( 1 ) 特洛伊木马 “特洛伊木马”是指任何看起来象是执行用户希望和需要的功能,但实际上却 执行不为用户所知的且通常是有害的功能的程序m i 。 一般来说,攻击者会设法通过某些手段在系统中放置特洛伊木马程序,并骗取 用户执行该程序以达到破坏系统的目的。利用特洛伊木马除了攻击系统外,还可以 用来设置后门,攻击者可通过后门对目标系统实施远程控制。 ( 2 ) s n i f f 监听 s n i f f 即嗅探器,是一种以被动方式在网络窃取数据的攻击工具。使用这种工 具可以监视网络的状态、数据流动情况以及网络上传输的信息【”j 。当将网络接口 设置为监听模式并且信息以明文的方式传输时,利用s n i f f 嗅探器可轻而易举的将 有用信息截获,通过分析有用信息达到控制网络的目的。目前的s n i f f 嗅探器有 ( 3 ) 缓冲区溢i f j 攻击 当目标系统的某些服务程序存在缓冲区溢出漏洞日j ,通过叫这些服务程序的缓 冲区写入超出其长度的内容,可以造成缓冲区溢出,破坏程序的堆栈,使程序转而 执行其它指令,达到控制目标系统的目的 m 1 针。 1 1 3 增强网络安全的技术 虽然对于每种攻击手段都有相应的解决办法,但攻击技术是不断发展的,如果 等新的攻击技术产生后再去研究解决办法就会为时已晚。从整体上研究网络安全问 题可解决上述问题。目前采用较多的安全技术有: ( 1 ) 数据加密技术 数据加密技术是对信息( 或明文) 进行重新编码,从而达到隐减信息内容,使非 法户无法获得信息真实内容的一种技术手段。网络中的数据加密则是通过对网络 中传输的信息加密,满足信息的保密性、完整性要求1 ”i 。一个加密网络不仅可以防 止非授权用户搭线窃听,也可有效制止恶意软件的攻击2 “。 ( 2 ) 身份鉴别技术 身份鉴别一般涉及两方面的内容,一个是识别,一个是验证。身份识别是用户 向系统出示自己身份证明的过程,身份验证是系统稽核用户身份证明的过程。识别 信息一般是非秘密的,而验证信息必须是秘密的1 2 2 1 。 ( 3 ) 安全内核技术 在操作系统的层次上考虑安全性。以安全为主要出发点重新设计系统的体系结 构并开发安全的操作系统使得与安全相关的软件构成操作系统的一个可信内核, 而操作系统的大部分不必承担安全任务,从而使系统更安全【2 3 l 。 ( 4 ) w e b 安全技术 在w e b 上实现网络安全一般有s h t t p h t t p 和s s l ( 安全套接层) 两种方式。 s h t t p i t t t p 可以采用多种方式对信息进行封装。封装的内容包括加密、签名和 基于m a c 的认证s h t t p 可以支持多种加密协议。 4 华中科技大学硕士学位论文 = = = = j e ;= = = = = = = = = ;= = ;= = = ;j = = ; :! s s l 安全套接层是一种利用公开密钥技术的工业标准。为了验证证明的持有者 是其合法用户( 而不是冒名用户) ,s s l 要求证明的持有者在握手时对交换数据进行 数字式标识1 2 4 0 。 ( 5 ) 防火墙技术 所谓防火墙就是一个把互联网与内部网隔开的屏障。它是一种计算机硬件和软 什的组合,使互联网与内部网之间建立起一个安全网关,从而保护内部网免受非法 用户的侵入2 引。由于防火墙假设了网络边界和服务,因此对内部的非、法访问难以有 效控制。 ( 6 ) 八侵检测技术 入侵检测就是通过对系统数据的分析,发现非授权的刚络访问和攻击行为。并 采取响应措施 2 ”。 1 、2 安全漏洞检测技术 1 2 i 安全漏洞检测基本概念 安全漏洞检测是通过检测工具对目标系统( 主机或网络设备) 进行相关的测试 找出目标系统可能存在的安全隐患,给出安全建议,以便及时采取防范措施【z 8 29 1 。 1 2 2 安全漏洞检测技术的分类 根据检测对象的不同可将漏洞检测技术分为以下三种。 ( 1 ) 基于单机系统的安全漏洞检测。主要是察看系统配置文件的j f 确性、系统 日志的异常情况、以及重要文件的权限是否得当等。 ( 2 ) 基于网络探测的安全漏洞检测这种安全漏洞检测类型是从系统的外部通 过模拟攻击方法发现系统或网络设备存在的安全隐患。由于是从系统的外部进行漏 华中科技大学硕士学位论文 洞检测,检测工具可检测d j 不同平台下的安全漏洞丽不需要修改检测程序代码。 ( 3 ) 基于应用的安全漏洞检测。采用被动的方式检测应用软件的设置,发现安 全隐患 3 0 l 。 1 2 3 安全漏洞检测的局限性 由于受技术水平、网络状况、人为因素的限制,安牟漏洞检测的精确性、通用 性和全面性会受到影响。主要表现为: ( 1 ) 月耵的漏洞检测工具一般只针对网络中的某一设备使用某一种漏洞检测技 术,缺乏对网络安全的全局性考虑。 ( 2 ) 安全漏洞的不断更新,现有的漏洞检测工具很难做出迅速反应。 ( 3 ) 由于技术和网络问题,漏柃或误检的情况时有发生。在远端操作系统识别 中,由于指纹识别的模板是通过实验得出的,很可能存在偏差。另外,网络状况也 可能使收集的信息出错其至丢失。 ( 4 ) 漏洞检测工具可用来检捌4 系统的安全程度,但如果被攻击者利用也可破环 系统。目前的漏洞检测系统很难保证自身的安全。 达到全面、高效、准确和可扩充性强等目标的漏洞检测工具才可称的上是一个 优秀的安全漏洞检测系统。 1 3 本课题研究的意义、内容和目标 1 3 1 研究意义 目前,广泛存在的安全漏洞导致入侵者可以凭借各种入侵手段侵入计算机系 统,而安全漏洞检测是解决网络安全隐患的有效手段之一。通过预先检测目标系统 的安全漏洞,给出详细的漏洞检测报告,可以及早采取有效措施修补漏洞,使系统 在一个更加安全的环境下运行。显然,对安全漏洞检测技术展开全面的研究具有重 华中科技大学硕士学位论文 要的理沦意义和实辟j 价值。 1 3 ,2 研究内容 本课题研究的主要内容包括: ( 1 ) 安全漏洞的形成原因成分类; ( 2 ) 漏洞检测的机理及关键技术: ( 3 ) 行之有效的模拟攻击方法; ( 4 ) 设计和实现一个实用的漏洞检测系统。 1 3 3 研究目标 系统 本课题的研究目标为: ( 1 ) 识别目标系统的开放端口、开放的服务、运行服务的软件以及目标的操作 ( 2 ) 检测常见的安全漏洞,给出安全漏洞检测报告: ( 3 ) 检测系统具有可扩充性,可以方便的添加漏洞检测单元插件; ( 4 ) 检测系统的运行效率较高并且检测结果具有较高的稳定性。 华中科技大学硕士学位论文 2 安全漏洞检测方法与技术分析 本章首先讨论安全漏洞成因和分类,并在此基础上分析安全漏洞检测方法。最后 从技术的角度阐述安全漏洞检测涉及的主要方法。 2 1 安全漏洞 安全漏洞就是存计算系统中,以某种彤式存在的安全方面的脆弱性或弱点。这主 复包括硬件、软件或策略上的缺陷,入侵者可以借助安全漏涧进入系统,并在未授权 的情况下访问系统,进面破坏系统安全【3 i 3 甜。 2 1 1 安全漏洞的成因 安全漏涧的形成原因十分复杂,对安全漏洞形成原因的深入了解有助于发现漏洞 的本质从而采取措施避免漏洞的发生。 如图2 1 所示,计算机系统安全漏洞的成因主要可以从逻辑错误、系统弱点和管 理策略失误三个方面考虑。 圈2 i计算机系统安全漏洞j 梵因 8 华中科技大学硕士学位论文 2 ,1 1 1 逻辑错误 逻辑错误通常是由系统软件、硬件或用户程序设计上的缺陷造成的,由逻辑错误 产生的安全漏洞是漏洞检测的主要研究对象。逻辑错误可分为三个类型:环境错误、 编程错误和配置错误。 c 1 ) 环境错误 环境错误是指没有能够恰当满足程序运行时所需的环境限制而造成的安全隐思, 这类安全隐患依赖于操作环境。典型的环境错误漏洞包括:由操作环境的限制形成的 锚误漏洞;由操作系统或编译器缺陷形成的错误漏洞;由独立正确运行的程序模块之 问相互作用形成的错误漏洞;异常处理时产生的意外结果形成的错误漏洞。 ( 2 ) 编程错误 编程错误是软件开发时,由于程序设计错误或设计时考虑不足而形成的程序缺 陷。 同步错误。同步错误是由指令或数据的处理顺序发身变化而产生的。同步错误 可分为两个撵作之曲j 的竞争条件错误和不正确的串行操作而引起的错误。 条件校验错误。程序的执行步骤会受到具体条件的限制,h 有满足一定的条件, 程序才能l 下常的执行。条件校验主要有以下五种类型: a 约束检查:在执行某个操作之前,系统必须保证该操作能够分配到必需的资 源。冽如在输入输出操作时。系统必须保证执彳亍程序不凄写其地址边界之外的数据。 大多数的缓冲区溢出漏洞和c g i 类漏洞都是由于未对边界进行约束检查丽造成的。 b 访问权限检查:系统必须保证用户程序能够访问到其权限范围之内的对象, 这种检奁机制依赖于系统的访问控制机制。 c 有效输入检查:对运行程序的任何直接输八都必须进行有效性检查。检查的 内容包括:字段值相关性、语法、参数的类型和数量等。 在许多考虑不全的c g i 程序中,总是期待用户输入的数据是按照预期格式定义的 和可预料的。但是,用户的输入存在多种绕过这些预定义格式的可能。而给脚本发送 一些随机的数据 9 华中科技大学硕士学位论文 例2 i :一个j 丌m l 表单。 s a m e : d a t a : t n p e tt y p e = ”t e x t ”n a m e = ”d a t e ”m a x l e n g t i q = 1 0 ) 在例2 i 所给的表单中,由于没有设置m e t h o d 属性,故向服务器发出的请求方 式自动选择为“g e t ”。假设已经存住e x a m p t e c g i 准各接收表单信息,那么当用户 输入某个姓名“x j w ”和日期“7 1 9 2 0 0 2 ”并按下s u b 按钮提交数据后,u r l 将形成 “e x a m p l e c g i ? u s e f n a i i i e = x j w d a t e = 7 2 f 1 9 2 f 2 0 0 巩2 r 编码数据。其中省略号 “”代表卧a m p e e g i 存放的绝对路径。显然,在这种情况下可以十分方便的绕过 表单对e r l 中的数据进行仟意的编写,如增加表单中没有的字段:扩展由m a x l e n g t h 选项限制的文本数据等。由此可以看出,如果c g t 程序对接收的数据没有进行充分的 检验,极有可能留下安全隐患”i 。 d 主体来源检查:主体指用户、程序、主机或共享的数据对象。系统必须验证 主体来源,防j t 自身受到攻击。 e 异常检查:系统必须能够处理由于功能模块、设备故障导致的意外情况。 ( 3 ) 配置错误 系统配置可包括软件资源和硬件资源的配置。如果对系统的配置不当会留下系统 弱点。在软件资源的配置中主要是指对应用程序和服务程序的配置,配置错误主要包 括:程序安装在不适合的位置:程序参数设置错误;程序访问权限错误等。 2 1 1 2 系统弱点 系统弱点指的是系统难以克服的错误或缺陷。系统弱点是一种隐含的不安全因 素往往要等很长一段时问才能暴露出来。 ( 1 ) 加密缺陷 进行信息加密是加强信息安全的有效方法,但加密技术本身存在的一些缺陷人所 华中科技大学硕士学位论文 共知。 ( 2 ) 弱口令缺陷 1 :3 令安全是计算机安全的关键点之一,许多形式的安全最终都趋向于某种形式的 口令。而现实中存在着大量的、容易破解的弱口令和静态口令。 ( 3 ) 隐晦手段缺陷 隐晦手段是指对计算机系统采取保密的安全机制,以达到系统的相对安全。但通 过研究最终总能扶得安全机制的丁作机理因而隐晦手段的安全机制并不能从根本上 保证系统的长期安伞。 2 1 ,1 3 管理策略失误 管理策略失误表现在计算机系统的日常管理和应急拮施等方面的不足。例如,对 计算机本身而言,电源设备安全非常重要,电源的不正确连接会导致部件被烧毁,而 高电流的冲击很可能导致存储设备中数据的丢失。另外通信链路设备故障,电磁辐射 和电磁泄漏也会形成安全隐患。 2 1 2 安全漏洞分类 安全漏洞可以从不同的角度和层次进行分类,分类有助于更好的把握漏洞的共 性,使漏洞检测的效率更高、针对性更强。 安全漏洞的分类方式很多。例如常见的“缓冲区溢出漏洞”,从最低层次来说是 访问校验错误;从高一些的层次看是一个条件校验错误:从更高层次看,则是一个逻 辑错误。以下从漏洞可能造成的直接威胁、漏洞的严重性分级和漏洞被利用的方式对 安全漏洞进行分类。 2 1 2 1 漏洞可能造成的直接威胁 ( 1 ) 获得远程管理员权限 攻击者通常通过攻击以r o o l :身份执行的有缺陷的系统守护进程获得远程系统的 华中科技大学硕士学位论文 管理员权限。 ( 2 ) 获得本地管理员权限 攻击者在已有一个本地账号能够登录到系统的情况下,通过攻击本地某些有缺陷 的s u i d 程序,得到系统的管理员权限。 ( 3 ) 获得普通用户访问权限 攻击者利用服务器的漏涧,取得系统的普通用户存取权限,对u n i x 类系统通常 是s h e l1 访问权限,对w i n d o w s 系统通常是c m d e x e 的访问权限。攻击者通常攻击以 非c o o t 身份运行的守护进程、有缺陷的c g i 程序等手段获得这种访问权限。 ( 4 ) 读取受限文件 攻击者通过利用某些漏洞。读取系统中未对其开放权限的文件。这些漏垌的存在 可能是文件设置权限不正确,或者是特权进程对文件的不正确处理。 ( 5 ) 服务器信息泄露 利用这类漏洞,攻击者可以收集到对于进一步攻击系统有用的信息,如l j n u x k e r n e l2 1 5 3 中开放和关闭的端口对特定的数据包有特定的回应,攻击者可以利用 这个特性进行端 1 的秘密扫描。 2 1 2 。2 漏洞的严重性分级 般来说漏洞的威胁类型基本上决定了它的严重性,我们可以把严重性分成高、 中、低三个级别。远程和本地管理员权限大致对应高级;普通用户权限、读取受限文 件大致对应中级:服务器信息泄露大致对应低级。但这只是最般的情况。很多时候 需要具体情况具体分析。 2 1 2 3 漏洞被利用的方式 ( 1 ) 物理接触 如图2 2 所示。在这种利用方式中,攻击者需要能够物理地接触目标系统才能利 用这类漏洞对系统的安全构成威胁。 华中科技大学硕士学位论文 i ! ! i2 2 物理接触方式 ( 2 ) 主机模式 如图2 3 所示,攻击方为客户机,被攻击方为目标丰机。例如,当攻击者发现目 标主机的某个守护进 ¥存在一个远程溢出漏洞攻击者可能取得主机的系统访问权。 图2 3 土机模式方式 ( 3 ) 客户机模式 如图2 4 所示,当用户访问网络上的主机时,就町能遭到主机发回恶意命令的 攻击。例如,一些恶意的网站可利用w e b 浏览器i e 存在的漏洞执行客户机中的程序 或读写文件。 匝正二卜兰一叵五 图2 4 客户机模式方式 ( 4 ) 中间人方式 如图2 5 所示,当攻击者位于一个可以观察或截获两个机器之f 日j 的通信的位置时, 就可以认为攻击者处于中间人方式。 图25 客户机模式方式 华中科技大学硕士学位论文 2 2 安全漏洞检测方法分析 2 2 1 基于模拟攻击的安全漏洞检测方法 2 2 1 1 相关概念 基于模拟攻击的安全漏洞检测方法就是让检测系统扮演攻击者的角色升且记录 目标系统对攻击的响应信息,从而判断目标系统存在的漏洞。这里所指的攻击并不是 真f 卜意义上的攻击而是模拟攻击。 模拟攻击是检测安全漏洞的一种有力手段。模拟攻击与普通的黑客攻击并没有什 么本质的不同,模拟攻击可以借用黑客攻击的基奉手段,差异在于模拟攻击是在保证 不破坏目标系统的前提p 进行的。 2 2 1 2 评价标准 况。 即使是模拟攻击,这种检测方法还是对目标系统具有一定的千优。 模拟攻击漏洞检测方法运用的成功与否可通过以下四点进行评价: ( 1 ) 精确性:检测系统是否可以准确地检测安全漏洞的存在: ( 2 ) 一致性:检测系统在对同一目标进行多次检测后是否结果一致: ( 3 ) 干扰性:检测系统对目标系统的影响程度; ( 4 ) 占用资源量:检测系统消耗的设各资源情况包括c p u 和网络带宽的使用情 2 2 2 基于模拟攻击安全漏洞检测方法的分类 根据模拟攻击的程度和对目标系统的干扰性可将漏洞检测方法分为攻击型和非 攻击型两种。 ( 1 ) 攻击型 华中科技大学硕士学位论文 攻击型的模拟攻击方法对目标系统具肯一定的破坏性。在d d o s 漏洞检测中大量 使用了这种模拟攻击方法。这种方法一般是通过向目标系统发送。定数量的字符达到 榆测的目的。 ( 2 ) 非攻击型 非攻击型的模拟攻击方法对目标系统没有直接的破坏性,在利用这种模拟攻击方 法检测目标系统漏洞时一般只是点到为止,并不对目标系统进行进一步的攻击和破 坏。例如,当发现系统存在某一安全漏洞导致可更改或删除某些重要文件时只是作出 报告而小去更改或删除这些文件。目前大多数种类的漏洞都是采用此类方法检测的。 2 ,3 网络监听与过滤技术 在漏洞榆测过程中需要获得目标系统的许多信息而这些信息是通过数据包的形 式发送和接收的。所以对数据包的捕获和过滤至关重要。 2 3 1 包捕获与包过滤原理 包捕获即网络底层信息监听。在以太网中,以太网卡有两种工作模式:正常模式 和混杂模式( p r o m is c u o l i s ) 。正常模式下,网卡工作在非侦听状态,这时只接收以本 主机为目标主机的数据包而丢弃其它的数据包。但如果将网卡设置为混杂模式,网卡 驱动程序将会接收子网上的所有数据包。将网卡设置为混杂模式而捕获网段上所有数 掘包的技术称为包捕获技术口”。 通过包捕获技术获取的所有数据包中,实际上存在许多并不需关心的数据,而这 部分数据所占的比重还较大。因此,数据包过滤的效率直接影响到系统的工作效率。 数据包的简单过滤有以下几种:根据 i a c 地址,筛选出某一工作站或服务器的数据: 根据传输层和网络层中的特性过滤:根据端口筛选特定类型服务;根据数据包中某一 偏移处的十六进制值选择特定数据包1 3 5 j 6 。 华中科技大学硕士学位论文 2 3 2 b p f 包捕获与过滤机制 由于用户级的程序需要捕获数据包,因此数据包的拷贝必须跨越内核用户保护 界限,这就需要使用名为包过滤器的内核代理程序。不同的系统提供了不同的包捕获 过滤机制。其中b p f ( b s dp a c k e tf i l t e r ) 包捕获与过滤机制不仅敏率高而且应用广泛。 b p f 使用了新的基于寄存器的过滤算法以及循环般缓存机制,这有助于整体效率的提 高。h p f 机制的数据包过滤原理如图2 6 所示。 用户层 内核层 网络 应用程序 十 l i b p c a p 库函 十 。 l系 l 缓存 i 统 协 l过滤器i b p f 议 栈 d ) 链路层驱动 数据包 圈26b p f 和系统其它部分的接口 在没有b p f 机制监听的情况下当数据包到达网络接口时链路层驱动程序将数 据包提交到系统协议栈处理。如果有进程用b p f 监听时,链路层驱动程序将首先调用 b p f 。b p f 将数据包复制一份提交给b p f 过滤器,过滤器根据用户定义的规则进行包过 滤并将过滤后的数据包提交给与过滤器关联的上层应用程序。最后链路层骀动程 序将重新获得控制权并将数据包提交到系统协议栈。 华中科技大学硕士学位论文 2 3 3 独立于o s 的捕获函数库 从图2 6 中可知,数据包的捕获与过滤模块都在内核层,与具体的操作系统类型 相关。如果用户直接对内核操作就会给用户程序的移植带来难以想象的困难。因此, b p f 机制提供了一套独立于o s 的捕获函数库。函数库虽然建立在包捕获与过滤模块之 上,但提供了一套与操作系统无关的调用接e l 供用户程序使用,用户程序通过调用接 口与内核部分通信。 2 3 3 1 l i b p c a p 函数库 l i p b c a p 是一个与操作系统无关、采用分组捕获机制的分组捕获函数库。l i p c a p 通过提供独立于系统用户层的a p i 接口,为底层网络监测提供了一个可移植的框架。 l ib p c a p 支持基于b p f 体系的过滤机制。 2 3 3 2 基于b p f 与l i b p c a p 的包捕获系统 b p f 包捕获技术提供了基于内核的过滤和缓冲,在高速高负载的网络中可获得较 好的性能。而l i b p c a p 作为一个通用可移植的包捕获a p i 函数库,提供了对b p f 的内 在支持。 基于l i b p c a p 的包捕获流程如图2 7 所示。其中,确定网络监听接口时一般有两 种方式:第一种方式是直接将接口名称作为命令行参数传递给应用程序:第二种方式 是调用p c a p l o o k u p d e v0 函数寻找本机可用网络接1 3 。建立监听会话实际上是通过调 用函数p c a p o p e n j i v e 0 获得一个包捕获器描述符。有了包捕获器描述符,可再根据 实际需要调用函数p c a pc o m p i l e 0 编辑过滤器,并调用函数p c a p s e t f i l t e r 0 设置 内核过滤器以便使过滤器生效。接下来调用函数p c a p _ l o o p 0 捕获并处理数据包。最 后调用p c a p _ c l o s e0 关闭监听会话。这里给出的所有函数都由l i b p c a p 函数库提供。 华中科技大学硕士学位论文 i选择监听网络接口 上 l建立监听会话 l编辑过滤器 设置过滤器 上 捕获并处理数据包 上 关闭监听会话 图2 7 基于l i b p c a p 的包捕获系统框架 2 。3 3 3 l i b p c a p 包捕获系统在漏洞检测中的应用 在漏洞检测中得到目标主机的信息是十分重要和频繁的,在收集信息时总是希望 接收到期望的数据包。 假设希望接收由主机( i p 地址为2 1 1 6 9 2 0 7 1 8 0 ) 发送来的且端口号为8 0 的数据 包,可编制如下代码。 c h a rf i l t e r q u a l = ”s c rh o s t2 1 l _ 6 9 2 0 7 1 8 0a n dp o r t8 0 ”:指定过滤条 件,其中s c r 代表数据包的源。 掩码 d e v = p c a p1 0 0 k u p d e v ( e r r b u f ) :自动选择网络接口。 p c a p l o o k u p n e t ( d e v & n e t ,& m a s k ,e r r b u f ) :获取指定网络设备的网络地址和 h a n d l e = p c a p o p e n - l i r e ( d e v ,m a x s i z e ,1 ,0 ,e r r b u f ) :建立监听会话。 华中科技大学硕士学位论文 p a c pc o m p i l e ( h a n d l e ,& f i i t e r ,f i l t e q u a l ,0 ,n e t ) :编辑过滤器。 p c a p s e t f i 】t e r ( h a n d l e ,& f i l t e r ) :设置过滤器。 p c a p l o o p ( f p ,0 ,p r o c e s s p a c k e t ,n u l l ) :捕获并处理数据包。这里要注意参数 p r o c e s s p a c k e t ,这是一个回调函数。在这个函数中按照截获数据包的意图处理数据 包。 p c a p c l o s e ( h a n d l e ) :关闭监听会话。 2 4 信息收集技术 2 4 1 网络扫描 网络扫描就是通过查询目标系统的端口并记录目标的响应,收集相关的系统信 息,以检测本地或远程主机的安全弱点的技术 3 7 , 3 8 。网络扫描是漏洞检测的基础,通 过网络扫描可获得目标主机是否开放、目标端口是否开放、端口开放的服务、以及目 标的操作系统等。利用这些信息不仅可以缩小漏洞检测的范围,而且可使得漏洞检测 更具有针对性。 2 4 1 1 p i n g 扫描 p i n g 扫描主要用于探测目标系统是否正在运行。p i n g 扫描一般分为简单i c m p 响 应请求、广播i c m pe c h o 请求、n o n e c h oi c m p 请求等几种类型【3 9 】。 ( 1 ) 简单i c m p 响应请求 通过向目标主机发送简单i c m p 响应请求( i c m p 类型8 ) 并对返回的i c m p 响应进 行分析,可以收集到目标主机的信息。处于开放状态的主机会返回i c m pe c h o ( i c p 类 型0 ) 。如果没有收到信息,则有可能主机已经关闭。 ( 2 ) 广播i c m pe c h o 请求 通过向目标主机的广播地址发送广播i c m p 响应请求并对返回的i c m p 响应进行分 华中科技大学硕士学位论文 析,可收集到目标主机的相关信息。当处于运行状态的目标主机收到一到两个i c m p e c h o 请求后,将返回i c m pe c h o 。 ( 3 ) n o n e c h oi c m p 请求 有的路由器或防火墙出于安全考虑会阻塞1 c m pe c h o 请求,此时可使用无响应 i c m p 请求来收集主机信息。通过使用类型为1 3 ( t i m e s t a m p ) 的i c m p 包可以收集目标 主机的时间信息,使用类型为1 7 ( a d d r e s sl a s kr e q u e s t ) 的i c m p 包可以收集目标主 机的网络地址掩码。 2 4 1 2 端口扫描 端口扫描的目的是在目标主机开放的状态下探测其端口的开放情况,以便作进一 步的分析。端口扫描涉及的技术主要有: ( 1 ) t c pc o n n e c t ( ) 扫描 这是最基本的t c p 扫描,其原理为:操作系统提供c o n n e c t 0 系统调用,用来与 每一个感兴趣的目标计算机的端口进行连接。如果端口处于监听状态,则c o n n e c t 0 成功。否则,这个端口是不能用的,即没有在该端口提供服务。采用这种技术的好处 是不需要任何权限。如果对每个目标端口以线性的方式使用单独的c o n n e c t 0 扫描, 将会花费相当长的时间。使用非阻塞i o 允许设置一个低的时间用尽周期,同时打开 多个套接字,可加快扫描速度。缺点是容易被发觉和被过滤掉。目标计算机的l o g s 文件会显示一连串的连接和连接出错的服务消息,并且能很快的使连接关闭4 0 1 。 ( 2 ) t c ps y n 扫描 这种技术通常认为是“半开放”扫描,这是因为扫描程序不必要打开一个完全的 t c p 连接。它的原理是扫描程序先往目标端口发送一个s y n 数据包,好像准备打开一 个实际的连接并等待反应一样。如果收到r s t 的返回信息,则表明对方端口不在监听。 若收到s y n l a c k 的返回信息,则表明端口处于监听状态,随后扫描程序发送一个 r s t a c k 分组来关闭这个连接过程。这种扫描技术的优点在于一般不会在目标计算机 上留下痕迹。但这种方法的一个缺点是,必须要有r o o t 权限才能建立自己的s y n 数 据包。 华中

温馨提示

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

评论

0/150

提交评论