(信息与通信工程专业论文)基于windows平台的软件安全漏洞发掘技术研究.pdf_第1页
(信息与通信工程专业论文)基于windows平台的软件安全漏洞发掘技术研究.pdf_第2页
(信息与通信工程专业论文)基于windows平台的软件安全漏洞发掘技术研究.pdf_第3页
(信息与通信工程专业论文)基于windows平台的软件安全漏洞发掘技术研究.pdf_第4页
(信息与通信工程专业论文)基于windows平台的软件安全漏洞发掘技术研究.pdf_第5页
已阅读5页,还剩78页未读 继续免费阅读

(信息与通信工程专业论文)基于windows平台的软件安全漏洞发掘技术研究.pdf.pdf 免费下载

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

文档简介

j :! i 弋 i ,r 、 iiii i iti l l l l l l l l l l l l l l l l l t l l l1111i t l l l m y 18 0 2 4 5 0 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名:盈燃 日期:年月 日 论文使用授权 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:缀翻苗k导师签名:兰堕业 日期:年 月日 参 : l 、二 ¥;a ,t 加 妒 t 摘要 摘要 随着信息化技术的不断创新发展、信息网络的不断普及,信息技术已经成为 最活跃的生产力要素,成为影响国家综合实力和国际竞争力的关键因素,信息化 成为全球经济社会发展的显著特征,并逐步向一场全方位的社会变革演进。而国 民经济和社会发展对信息化的高度依赖,使得信息安全已经发展成为涉及国民经 济和社会发展的各个领域,不仅影响公民个人权益,更关乎国家安全、经济发展、 公众利益的重大战略问题。 构建整个信息化系统的基础是各种软硬件设备,由于对功能需求的多元化, 使得现代软件系统越来越庞大和复杂,不可避免的出现了各式各样的安全漏洞。 为了阻挡这方面的威胁,各种防火墙和杀毒软件使用了各种防范入侵和破坏的措 施,但是计算机的安全问题却有愈演愈烈的趋势。其根本的原因在于计算机的安 全问题最主要是计算机软件所存在的缺陷,从外部阻挡攻击者的攻击始终是治标 不治本,没有抓住问题的核心部分,所以收效甚微。所以,如何提前检测出软件 系统中存在的漏洞,是现在软件安全领域急需解决的问题。 本论文是对w i n d o w s 平台下软件安全漏洞挖掘技术的一个总结与扩展创新。 文章首先介绍了软件安全漏洞的定义和多种产生原因,总结并比较了多种软件漏 洞的分类方法,并就其中一种对软件漏洞挖掘具有较大帮助和指导意义的分类方 法进行了较为详细的说明。然后,收集并分析了多种典型的软件安全漏洞挖掘方 法,主要分为静态检测方法、动态检测方法和混合检测方法三大类型。文章针对 每一类方法各自介绍了其优势和缺点,做了总结和对比,并列举和说明了一些应 用广泛的自动化与半自动化检测工具。接下来,针对传统漏洞挖掘方法主要是对 软件局部代码和功能进行检测,而对软件流程的全局逻辑关注度低的问题,本文 结合模型检测、有限状态自动机理论和模糊模式识别提出了基于模糊度量的软件 漏洞挖掘技术模型。文章先对此模型进行了理论阐述,并利用实验说明了此模型 的可行性、有效性,以及与传统漏洞检测方法相比较在软件安全流程检测方面的 优势。 最后对该项研究进行了总结和展望了今后的发展趋势。 关键字:安全漏洞,漏洞挖掘,模糊度量,有限状态自动机 ,; a b s t r a c t a b s t r a c t a si n f o r m a t i o nt e c h n o l o g yf o rc o n t i n u o u si n n o v a t i o na n dd e v e l o p m e n t ,t h e c o n t i n u i n gp o p u l a r i t yo fi n f o r m a t i o nn e t w o r k s ,i n f o r m a t i o nt e c h n o l o g yh a sb e c o m e t h e m o s ta c t i v ef a c t o r so f p r o d u c t i o n t h u sa f f e c t i n gt h ec o u n t r y sc o m p r e h e n s i v es t r e n g t h a n di n t e r n a t i o n a lc o m p e t i t i v e n e s so ft h ek e yf a c t o r s ,i n f o r m a t i o no nt h eg l o b a l e c o n o m i ca n ds o c i a ld e v e l o p m e n th a v eb e c o m et h es a l i e n tf e a t u r e s ,a n dg r a d u a l l yt o t h ee v o l u t i o no faf u l lr a n g eo fs o c i a lc h a n g e t h ee c o n o m i ca n ds o c i a ld e v e l o p m e n ti s h i g h l yd e p e n d e n to ni n f o r m a t i o n - o r i e n t e d ,i n f o r m a t i o ns e c u r i t y h a sb e c o m et o o i n v o l v e di ne c o n o m i ca n ds o c i a ld e v e l o p m e n ti na l lf i e l d s ,n o to n l ya f f e c t st h e i n d i v i d u a l r i g h t s o fc i t i z e n s ,b u ta l s or e l a t e st on a t i o n a ls e c u r i t y , e c o n o m i c d e v e l o p m e n t ,p u b l i ci n t e r e s t ,t h em a j o rs t r a t e g i ci s s u e s c o n s t r u c t i o no ft h ee n t i r ei n f o r m a t i o ns y s t e mi sb a s e do nav a r i e t yo fs o f t w a r e a n dh a r d w a r ee q u i p m e n t ,b e c a u s eo ft h ed i v e r s i t yo ff u n c t i o n a lr e q u i r e m e n t s ,m a k i n g m o d e ms o f t w a r es y s t e m sb e c o m ei n c r e a s i n g l yl a r g ea n dc o m p l e x ,t h ei n e v i t a b l e e m e r g e n c eo faw i d ev a r i e t yo fs e c u r i t yv u l n e r a b i l i t i e s i no r d e rt os t o p t h i st h r e a t , v a r i o u sf i r e w a l la n da n t i v i r u ss o f t w a r e ,u s i n gav a r i e t yo fm e a s u r e st op r e v e n tt h e i n v a s i o na n dd e s t r u c t i o n ,b u tt h e r ei sac o m p u t e rs e c u r i t yp r o b l e m si n t e n s i f i e dt r e n d t h eu n d e r l y i n gr e a s o ni st h a tm o s tc o m p u t e rs e c u r i t yp r o b l e m si sc o m p u t e rs o f t w a r e s h o r t c o m i n g s ,f r o mt h eo u t s i d et ob l o c ka t t a c k e r si sa l w a y sp a l l i a t i v e ,f a i l e dt og r a s p t h ec o r eo ft h ep r o b l e m ,s ol i t t l ee f f e c t s o ,h o we a r l yt od e t e c tl o o p h o l e si nt h e s o f t w a r es y s t e m ,t h es o , w a r es e c u r i t yf i e l di sn o wa nu r g e n tn e e dt os o l v ep r o b l e m s t h i sd i s s e r t a t i o ni saw i n d o w sp l a t f o r ms o f t w a r es e c u r i t yv u l n e r a b i l i t yo fa s u m m a r yo fm i n i n gt e c h n o l o g yi n n o v a t i o na n de x p a n s i o n t h i sp a p e rf i r s t i n t r o d u c e s t h ed e f i n i t i o no fs o f t w a r es e c u r i t yv u l n e r a b i l i t i e sa n dv a r i e t i e so fc a u s e s ,s u m m a r i z e d a n dc o m p a r e dt h ec l a s s i f i c a t i o no fav a r i e t yo fs o f t w a r ev u l n e r a b i l i t i e s ,a n dt oo n eo f t h em i n i n go fs o f t w a r ev u l n e r a b i l i t i e sh a v eg r e a t e rs i g n i f i c a n c et oh e l pa n dg u i d em o r e d e t a i l e dc l a s s i f i c a t i o nm e t h o di n s t r u c t i o n s t h e n ,t h ec o l l e c t i o na n da n a l y s i so faw i d e r a n g eo fs o f t w a r es e c u r i t yv u l n e r a b i l i t i e s i nat y p i c a lm i n i n gm e t h o d s ,t h em a i n h d e t e c t i o nm e t h o di sd i v i d e di n t os t a t i ca n dd y n a m i ct e s t i n gm e t h o d sa n dt h r e et y p e so f h y b r i d d e t e c t i o nm e t h o d s a r t i c l e sf o re a c h t y p eo fm e 血o dp r e s e n t e di t s o w n a d v a n t a g e sa n ds h o r t o o n 缸n g s ,h a v ed o n eas u m m a r ya n dc o m p a r i s o n , a n dl i s t sa n d d e s c r i p t i o n so fs o m ea p p l i c a t i o n saw i l cr a n g eo fa u t o m a t i o na n ds e m i - a u t o m a t e d d e t e c t i o nt o o l s n e x t , t h et r a d i t i o n a lm e t h o do fd i g g i n gh o l e si sm a i n l yf o rs o f t w a r e c o d ea n df u n c t i o n a l i t yo fl o c a lt e s t i n g , b u tt h eo v e r a l ll o 昏co ft h es o t h v a r ep r o c e s s c a 3 n 洲t h ep r o b l e mo fl o wd e g r e e ,t h i sc o m b i n a t i o no fm o d e lc h e c k i n g , f i n i t es t a t e a u t o m a t at h e o r ya n df u z z yp a t t e r nr e c o g n i t i o ni sp r o p o s e db a s e do n 吻m 嘶c s m i n i n gm o d e lf o rs o f t w a r ev u l n e r a b i l i t i e s t i l i sa r t i c l ef i r s td e s c r i b e dat h e o r e t i c a l m o d e la n du s i n gs i m u l a t i o nr e s u l t si l l u s t r a t et h ef e a s i b i l i t yo ft h i sm o d e l ,e f f e c t i v e n e s s , a sw e l la sv u l n e r a b i l i t yd e t e c t i o nm e t h o d sc o m p a r e dt ot r a d i t i o n a ls o f t w a r es e c u r i t y p r o c e d u r e si nt h ed e t e c t i o no fa d v a n t a g e s f i n a l l y , t h es t u d yi ss u m m a r i z e da n da l lo u t l o o ko nf u t u r et r e n d s k e y w o r d s :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 i e sm i n i n g , f u z z ym e a s u r e ,f i n i t es t a t e a u t o m a t a n i 1 p , “ q 目录 目录 第一章概述l 1 1 研究背景1 1 2 研究现状3 1 3 本文所做工作及论文组织结构5 第二章软件安全漏洞原理与分类7 2 1 软件安全漏洞概述。7 2 2 软件安全漏洞的产生8 2 3 软件安全漏洞的分类1 0 2 4 本章小结1 6 第三章静态检测技术。1 7 3 1 静态检测技术的概念:1 7 3 3 静态检测工具2 5 3 4 本章小结2 7 第四章动态检测技术2 9 4 1 动态检测技术的概念2 9 4 2 各种动态检测技术分析3 0 4 3 动态检测工具3 7 4 4 本章小结3 8 第五章混合检测技术4 0 5 1 混合检测技术概述4 0 5 2 各种混合检测技术分析4 0 5 3 混合检测技术的检测工具4 6 5 4 本章小结4 7 第六章基于模糊度量的软件漏洞挖掘技术4 8 6 1 理论基础4 8 6 2 基于模糊度量的漏洞挖掘技术框架5 5 6 3 实验结果6 2 6 4 本章小结6 6 “ 旦望! 一 - _ _ _ _ - - - - _ _ - _ _ _ _ _ _ _ _ _ - _ _ - - _ i - _ _ _ _ l _ _ - - _ - _ - _ _ _ - - _ - _ _ _ _ _ _ _ _ _ _ l _ _ _ l _ - _ _ _ _ _ _ _ _ _ _ - _ 一一一 第七章总结与展望6 8 致谢。7 0 参考文献7 1 在学期间的研究成果。7 4 v 第一章概述 1 1 研究背景 第一章概述 2 0 世纪9 0 年代以来,信息技术不断创新,信息产业持续发展,信息网络广 泛普及,信息化成为全球经济社会发展的显著特征,并逐步向一场全方位的社会 变革演进。进入2 1 世纪,信息化对经济社会发展的影响更加深刻。广泛应用、高 度渗透的信息技术正孕育着新的重大突破:信息资源日益成为重要生产要素、无 形资产和社会财富;信息网络更加普及并日趋融合;信息化与经济全球化相互交 织,推动着全球产业分工深化和经济结构调整,重塑着全球经济竞争格局;互联 网加剧了各种思想文化的相互激荡,成为信息传播和知识扩散的新载体;电子政 务在提高行政效率、改善政府效能、扩大民主参与等方面的作用日益显著;信息 化使现代战争形态发生重大变化,成为世界新军事变革的核心内容l l 】。 信息技术已经成为最活跃的生产力要素,成为影响国家综合实力和国际竞争 力的关键因素,各国都在通过积极发展信息技术及其产业,抢占世界经济竞争的 制高点。我国的现代化水平还不高,更应该重视信息化在国民经济和社会发展中 的催化剂的作用,加快信息化发展,坚持以信息化带动工业化,以工业化促进信 息化,这是我国加快实现工业化和现代化的必然选择。 国民经济和社会发展对信息化的高度依赖,使信息安全已经发展成为涉及国 民经济和社会发展的各个领域,不仅影响公民个人权益,更关乎国家安全、经济 发展、公众利益的重大战略问题。信息化高速发展的重要成果是银行、保险、税 务、证券、海关、铁路、电力、民航等关系到我国经济命脉的关键基础设施的全 面信息化。一旦出现信息安全问题,这些基础设施的故障或瘫痪将使我国经济受 到重创。由于其直接涉及国计民生,还会因此引发政治危机和社会动荡。特别是, 当前信息技术正在与各行业的产业技术相结合,用最先进的高新技术武装、改造 和提升传统产业,信息安全由此将成为工业生产安全的核心组成部分,直接影响 工业生产值,关系国家经济安全。另外,电子商务已经成为经济活动的主要形式 之一,国内外犯罪分子为获取非法经济利益,会大肆利用现代信息技术手段进行 电子商务犯罪活动。采用信息技术手段进行信息欺诈和勒索,窃取、篡改和盗用 信息散步虚假信息,非法传销等多种类型的网络经济犯罪活动将急剧增加,会 电子科技大学硕士学位论文 对我国经济发展和金融秩序造成严重危害 2 1 。 而构件计算机和网络的基础是软件,操作系统、网络通信以及各种应用型软 件构成了整个信息化系统,计算机软件中存在的缺陷和漏洞会对整个信息化系统 的安全产生巨大的威胁。为了阻挡这方面的威胁,各种防火墙和杀毒软件试图阻 止攻击者的脚步,但是计算机的安全问题却有愈演愈烈的趋势。其根本的原因在 于计算机的安全问题最主要是计算机软件所存在的缺陷,从外部阻挡攻击者的攻 击始终是治标不治本,没有抓住问题的核心部分,所以收效甚微。 计算机软件的漏洞总是居高不下。软件在编程过程中会产生各种错误( b u g ) , 虽然很多软件企业都有严格的质量控制过程,但即使如此,也不可能完全杜绝b u g 的产生,很多b u g 便成为了可被攻击者利用的漏洞。操作系统和应用软件中存在 的这些大量的漏洞致使网络与信息系统整体上十分脆弱。卡耐基梅隆大学的 c y l a b 实验室所进行的一项研究显示,具有代表性的商业性非开源程序每1 0 0 0 行语句平均带有2 0 3 0 个b u g 。而我们知道,w i n d o w s9 5 只有1 5 0 0 万行代码, w i n d o w s9 8 有1 8 0 0 万行代码,w i n d o w sx p 有3 5 0 0 万行代码。而到了s t a 系统, 代码行数则达到了5 0 0 0 万行,比w i n d o w sx p 多出了4 0 。w i n d o w sv i s t a 在内 部测试的过程中发现了2 万多个b u g ,知道2 0 0 6 年7 月的预定发布时间,v i s t a 仍有5 7 0 0 个b u g 没能消除,不得不多次延期发布。由此可知,软件中的安全漏洞 是大量、普遍的存在的,而且对于w i n d o w s 平台这样一个在民用中占绝大多数优 势的操作系统平台来说,存在任何b u g 都是相当危险的。更有甚者当然是w i n d o w s 平台上各种应用软件,很多软件的开发过程并不严谨,仅仅作为功能实现便投入 应用,其存在的b u g 更加的多。 根据中国信息安全评测中心国家漏洞库c n n v d 统计的数据显示:2 0 0 8 年 “、1 2 月份共发现安全漏洞9 8 0 个,其中1 1 月份发现安全漏洞4 5 0 个,包括: 高危漏洞9 7 个,中危漏洞2 5 9 个,低危漏洞9 4 个。与同年1 0 月相比,1 1 月漏洞 总数上升2 ,高危漏洞数上升3 :1 2 月份发现安全漏洞5 3 0 个,包括:高危漏 洞1 2 6 个,中危漏洞3 0 4 个,低危漏洞1 0 0 个,与1 1 月相比,1 2 月漏洞总数上升 1 8 ,高危漏洞数上升3 0 。1 1 、1 2 月份对我国使用的主流操作系统和常用应用 程序影响比较严重的高危漏洞有1 5 个。2 0 0 9 年l 、2 月份共发现安全漏洞1 1 5 7 个;2 0 0 9 年3 、4 月份共发现安全漏洞1 1 3 6 个;2 0 0 9 年6 、7 月份共发现安全漏 洞9 0 1 个;2 0 0 9 年8 、9 月份共发现安全漏洞1 0 2 8 个p j 。 造成这种情况的最根本原因在于构成整个信息系统的各个分支系统,特别是 各种软件系统,存在各种安全缺陷。虽然因为这些安全缺陷造成的严重后果让人 2 l 厂 第一章概述 们对软件安全表现出高度的重视,但是由于软件功能不断的增强及其代码开发量 和复杂度的不断增高,不可避免的使软件漏洞层出不穷。所以,如何高效检测出 软件中存在的漏洞,提高软件的安全等级,这是一件急待解决的任务。 1 2 研究现状 根据r f c 3 0 6 7 中的叙述,软件安全漏洞是存在于软件中,可以被恶意攻击者 用来非法突破系统原本的安全策略,从而访问未经管理者授权资源的安全缺陷。 怎么能够提前检测,发现软件中所存在的安全漏洞,然后指导相关人员及时的修 复它们,尽可能降低软件安全漏洞所带来的安全隐患,已经成为了信息安全领域 一个急待解决的问题【4 1 。从比较严格的意义上来说,编写安全的代码是解决软件 安全漏洞最根本的途径,但是短时期内是一件不可能实现的事情,所以目前信息 安全领域对软件安全漏洞的着眼点还是如何高效、准确的检测出软件中存在的安 全漏洞。 国内外有多个安全组织和个人都在从事漏洞方面的研究。其中比较权威的两 个漏洞发布机构是c v e ( c o m m o n v u l n e r a b i l i t i e sa n de x p o s u r e s ) 和c e r t ( c o m p u t e r e m e r g e n c yr e s p o n s et e a m ) 。另外,国外也还有不少组织对最新的漏洞进行跟踪和 分析,并且及时的发布漏洞的解决方案,其中比较著名的有e e y e 、l s d 等。在国 内,绿盟科技是发布自主研究安全漏洞最多的公司,已经完成对r p c 、s m b 、i i s 等多类漏洞的研究,并取得了不错的成绩p l 。 漏洞挖掘技术是一项需要分析者具备多种检测技术,共同运用、优势互补的 综合技术。目前的检测方法主要分为三类:静态检测技术( s t a t i cd e t e c t i o n ) p l 、动 态检测技术( r u n t i m ed e t e c t i o n ) 【7 】和混合检测技术( h y b r i dd e t e c t i o n ) 。 1 2 1 静态检测技术( s t a t i cd e t e c t i o n ) 静态检测技术是指对被测软件的源程序或者二进制代码进行扫描,从语法、 语义上理解程序的行为,直接分析被检测程序的特征,寻找可能导致错误的异常 【8 l 。具体的扫描过程可以使用采取形式化验证技术的程序扫描【9 1 ,或者手工测试【1 0 】 的方法。 二进制对比技术( b i n a 口c o n t r a s t ) t l l l 和词法分析( l 麟i c a la n a l y s i s ) 1 2 是针对软 仕代码进行审查的检测技术,这类技术具有简单高效的优势,但是只针对代码本 i3 t , 电子科技大学硕士学位论文 身特征的检查并不能很好的检查出具有逻辑关联的复杂漏洞,虽然可以对其中引 入模式识别来加强检查时特征的匹配类型,也只能略微加强其检查特征;规则检 查( r u l ec h e c k ) t 1 3 】是检测已知漏洞的一种代码扫描技术,对于已知类型漏洞,该技 术具有高效且准确率高的特点,但是并不能检测未知类型的漏洞;类型推导( t y p e i n f 盯c n c e ) t 1 4 】是针对编程语言本身的检测技术,自动化程度高,但是这种检查只能 针对控制流不相关的漏洞;模型检测( m o d e ld e t e c t i o n ) t 1 5 l 是一种较为成熟的形式 化检测方法,主要检测与时序相关的漏洞,但是这种检测方法对内存相关漏洞类 型支持度不高,且检测时资源消耗大;定理证明o h e o r e mp r o v i n g ) 0 6 1 与符号执行 ( s y m b o l i ce x e c u t i o n ) t 1 7 】检测方法偏重于理论证明,使用严格的数学推理进行,但 是目前并没有与实际应用契合度高的算法出现。 1 2 2 动态检测技术( r u n t i m ed e t e c t i o n ) 动态检测技术是一种不同于静态检测技术的动态的检测技术,它通过调试器 运行被检测的软件的某项功能,检查运行结果与预期结果的差距,来确定被测软 件此功能是否存在安全缺陷【1 8 】。这是一种针对软件功能的检测技术,它主要由构 造测试用例,调试软件程序,分析软件程序三个部分构成。 缺陷注入( d e f e c ti n j e c t i o n ) t 1 9 】具有自动化程度高的显著优点,但是其测试具有 盲目性,测试用例量大,时间效率低;内存映射( m e m o r ym a p p i n g ) 2 0 | 通过对内存 映象进行管理来发现与内存相关的漏洞,该检测技术需要修改操作系统内核策略, 在w i n d o w s 平台下实用意义不大:安全共享库( s a f e t y s h a r e dl i b r a r i e s ) 睇l j 是针对与 系统调用相关的漏洞,检测准确率高,但是类型单一,对其他类型漏洞扩展性不 佳;堆栈控铝1 ( s t a c kc o n t r 0 1 ) 2 2 l 是针对缓冲区溢出型漏洞的检测技术,对大部分漏 洞具有很好的效果,但是对早期的程序兼容性不佳,且有较高的系统开销;沙箱 ( s a n d b o x ) t 2 3 j 和程序释义( i n t e 甲r e t a t i o np r o c e d u r e ) t 2 4 1 分别是过滤型和伴随型的安全 策略检测技术,控制严格,检测准确率较好,但是制订安全策略复杂,缺少实用 度高的算法。 1 2 3 混合检测技术( h y b r i dd e t e c t i o n ) 针对静态检测技术和动态检测技术所存在的缺陷,近年来出现了混合检测技 术这一概念。从广泛的意义上来说,它是静态检测技术与动态检测技术在应用中 , 4 ,_ j 第一章概述 的结合,但是由于混合检测中的一些技术已形成较为规范检测方法,所以本文特 别分类对其中一些典型代表进行说明。 混合检测技术是实践应用的产物,具有自动化程度高,实用性好的特点,各 种技术也不可避免的存在一些缺陷。f u z z i n g 检i 9 1 1 ( f u z z i n gd e t e c t i o n ) t 2 5 j 误报率高, 漏洞类型覆盖不全;检测集( t e s ts e t ) t 2 6 l 性能消耗大;源代码改写( s o u r c c o d e r e w r i t e ) 【2 7 l 容易引起竞争条件问题,不支持多线程技术:堆栈编译器保护( c o m p i l e r s t a c kp r o t e c t i o n ) 2 8 l 检测漏洞类型单一;二进制代码改写( b i n a r yr e w r i t i n g ) ( 2 9 1 准确 率不高,误报率较高;标准检查( s t a n d a r di n s p e c t i o n ) t 3 0 】标准建立复杂,可靠性不 高;异常检查( a b n o r m a le x a m i n a t i o n ) 3 i l 误报率高,兼容性问题大。 现有大部分软件安全漏洞检测方法对软件漏洞的主要停留在针对某单一特征 或者某单一功能的检测上。整个软件系统是一个有机的整体,它的不同代码段之 间、各个功能之间存在种种的依赖的关系,所以针对单一点的检测方法,由于未 考虑其间的以来关系,所以容易造成“漏报”和“误报 虽然也出现了一些分析 执行路径 3 2 】与数据流图结合图论知识【3 3 l 的漏洞检测方法,但是这些检测理论主要 。 停留在理论的说明上,在实际应用中也并不能取得特别理想的效果。 1 3 本文所做工作及论文组织结构 本论文是对w i n d o w s 平台下软件安全漏洞挖掘技术的总结与创新。w i n d o w s 平台是目前用户最多的操作系统平台,依托其平台的软件系统数量也非常庞大, 致使其上软件漏洞的频繁爆发,造成了非常恶劣的影响。如果快速高效的挖掘软 件可能存在的漏洞具有非常重要的研究意义。本文的研究得到了两项国家8 6 3 计 划的支持,课题名称应用软件安全缺陷综合发掘方法和技术研究,课题编号 2 0 0 9 a a 0 1 2 4 0 3 ;课题名称基于主动发现的恶意代码应急响应系统,课题编号 2 0 0 9 a a o l z 4 3 5 。 本文的研究工作主要包括以下几个方面: l 、介绍了安全漏洞的定义及产生原因,总结并比较了各种漏洞分类方法,对 适宜作为软件漏洞分析的分类方法作出了说明。总结前人的研究成果,收集并分 析了各种典型软件安全漏洞检测方法,比较了各自的优缺点,说明了之问的区别。 介绍了数种应用广泛的软件安全漏洞检测工具。 2 、结合模型检测、有限自动机和模糊数学等理论提出了基于模糊度量的软件 电子科技大学硕士学位论文 漏洞挖掘理论,建立了基于模糊度量的漏洞挖掘技术框架,并得出实验结果,说 明此挖掘技术减少未知漏洞漏报方面的优势。 本文结构一共分为七个章节,各个章节的简要介绍如下: 第一章“概述 ,阐述了论文的研究背景,简要说明了软件安全漏洞挖掘领域 的研究现状和相关漏洞检测方法,最后介绍本文的组织结构。 第二章“漏洞的定义与分类 ,对软件安全漏洞的定义和产生原因做出了说明, 分析了不同阶段漏洞分类的情况,着重对其中一种影响软件漏洞分析较大的分类 方法做出了较为详细的说明。 第三章“静态检测技术一,介绍静态检测技术的概念,分析了几种较为典型的 静态检测技术,说明了其优缺点,并对常用的静态检测工具做了简单介绍。 第四章“动态检测技术 ,介绍动态检测技术的概念,分析了几种较为典型的 动态检测技术,说明了其优缺点,并对常用的动态检测工具做了简单介绍。 第五章“混合检测技术 ,介绍混合检测技术的概念和典型的混合检测技术, 说明了其优缺点,列举了几种应用较为广泛的检测工具。 第六章“基于模糊度量的软件漏洞挖掘技术”,本章结合模型检测、有限自动 机和模糊数学等理论提出了基于模糊度量的软件漏洞挖掘理论,建立了基于模糊 度量的漏洞挖掘技术框架,并得出实验结果,说明此挖掘技术减少未知漏洞漏报 方面的优势。 第七章“总结与展望”,对全文作出总结,提出下一步研究的方向。 6 第二章软件安全漏洞原理与分类 第二章软件安全漏洞原理与分类 对软件漏洞进行挖掘是以了解漏洞原理为前提的,只有在了解了漏洞的原理 与产生原因时,才能够把握其本质,使得挖掘工作直接针对可能存在的漏洞本身, 排除软件其他部分的干扰;而漏洞的分类可以使对不同类型漏洞挖掘更加具有针 对性,这两个方面都有助于提高漏洞挖掘效率,增加挖掘结果的准确性。 2 1 软件安全漏洞概述 目前国际上对软件安全漏洞的定义并没有一个权威的结论,相关组织和研究 人员发表了对软件安全漏洞的一些定义和解释。 在r f c 3 0 6 7 中对安全漏洞做出了一个广泛的定义:“af l a wo rw e a k n e s si na s y s t e m sd e s i g n , i m p l e m e n t a t i o n ,o ro p e r a t i o na n dm a n a g e m e n tt h a t c o u l db e e x p l o i t e dt ov i o l a t et h es y s t e m ss e c u r i t yp o l i c y 这个定义从软件流程比较概括的角 度给出了软件安全漏洞的解释。 从访问控制角度,d e n n i n g 在( c r y p t o g r a p ha n dd a t as e c u r i t y ) 中给出了他对 软件安全漏洞的解释。他认为,任何对软件本身的操作和使用实际上都是对软件 这个系统本身的一个访问控制,这个控制可以抽象为一个访问矩阵,这个访问矩 阵中包含了这个软件系统本身的所有访问权限,也就是这个系统本身的安全策略 矩阵。那么,如果对软件本身的流程与这个访问矩阵相悖,那么就认为这个软件 存在安全漏洞。 从授权状态方面,b i s h o p 和b a i l y 在ac r i t i c a la n a l y s i so fv u l n e r a b i l i t y t a x o n o m i o s ) 对软件安全漏洞做出了他们的定义。他们认为,计算机软件系统可 以在任何时候的状态都可以看做是授权的状态、未授权的状态、容易受到攻击的 状态和受到损害的状态之一。系统被攻击者利用就是攻击者从授权的状态出发, 到达未授权的状态,然后到达系统容易受到攻击的状态,最终对系统造成不同程 度损害的这样一个过程。系统可以被攻击者从授权的状态通过一系列非法手段达 到未授权的状态,那么这个系统就存在安全缺陷。而如果系统还可以被攻击者从 7 电子科技大学硕士学位论文 未授权状态突破到容易受到攻击状态,那么这个系统安全缺陷就是可利用的安全 缺陷,称之为安全漏洞。软件安全漏洞的特征就是是否可以被攻击者所利用来造 成对软件系统的危害。 综合各种研究机构和人员对软件安全漏洞的解释,本文认为软件安全漏洞是 存在于软件中,可以被恶意攻击者用来非法突破系统原本的安全策略,从而访问 未经管理者授权资源的安全缺陷。 2 2 软件安全漏洞的产生 在目前市面上具有各种优秀的防火墙、杀毒软件产品,但是软件漏洞所产生 的威胁依然严重。其最重要的原因在于防火墙,杀毒软件等安全产品,都是从外 部试图阻挡或者封锁具有不良企图者的攻击,但是由于软件本身漏洞的存在,并 不能从本质上消除这种威胁的存在。而且在信息安全领域,攻击和防御本身就具 有严重的不对称性,攻击者可以“攻其一点,不及其余”,为达到攻击目的甚至“无 所不用其极,而防御方却不得不面面俱到,时刻担心哪怕有极小的疏忽便会导致 满盘皆输。所以如果不从本质上消除软件安全漏洞的存在,那么就不可能杜绝攻 击者的威胁。而怎么消除软件安全漏洞的存在,首先需要关注的就是软件安全漏 洞是怎样产生的。 软件安全漏洞主要由四个方面产生: 设计方面:在软件的设计过程中,由于设计者的疏忽或者考虑不周,会给软 件的逻辑工作流程中留下一些缺陷f 3 4 3 5 1 。这些缺陷一部分会使系统崩溃,而更严 重的情况是可以被攻击者利用从而得到或者篡改未授权资源,这就是在软件设计 方面留下的安全漏洞。这类软件安全漏洞属于非常严重的一类,因为设计时所留 下的缺陷,一般很难用后续的补丁文件去修补。但是由于这类漏洞受到重视的程 度比较高,而且软件系统的设计人员一般水平比较高,所以软件设计方面存在的 安全漏洞大部分情况又是数量比较少的一类。 编码测试方面:在编码方面,由于现在的软件系统的复杂度和综合度越来越 高,所以普通程序员一般很难理解整个系统的架构,仅能对负责编码附近的一小 部分逻辑流程进行理解,并会假定程序能在任何环境中正确的运行。那么一旦编 码人员的假设出现错误,就会使得程序进入较为危险的状况,软件运行流程与预 先设定的安全策略产生冲突,就产生了软件安全漏洞1 3 6 】。而且由于程序员对系统 3 第二章软件安全漏洞原理与分类 架构的理解不足,也会使一些比较庞大的架构在各部分完成之后进行整合的时候 产生这样那样的安全漏洞。另一方面,由于软件编程的水平问题,不能保证所有 人都编写安全高效的代码。所以由于编程过程不严谨而出现软件安全漏洞也是安 全漏洞产生的一个重要原因。在测试方面,由于测试用例的不完全和压力测试的 不充足,也可能产生软件安全漏洞。 运行环境方面:软件是与其运行环境密不可分的。软件的运行总需要指定的 硬件和软件环境。而硬件与软件环境常常又会因为种种原因( 比如说版本原因、 配置条件等等) 产生差异,而软件在发行前的测试有可能没有考虑到某些因素, 那么在这样出现差异的运行环境下,软件安全漏洞也会不可避免的产生。 软件的修补方面:软件系统在对外发行以后,随着使用的人数和使用时间的 增加,总会或多或少的被发现一些安全漏洞。软件的生产者一定会对这些漏洞进 行修复,最常见的做法就是对软件进行“打补丁一。“补丁 的意思就是软件厂商 生产的对其发行软件进行修复的程序。一般补丁程序不需要用户重新安装软件的 整个完整版本,而直接修补或者替换某些文件来达到消灭软件安全漏洞的目的。 但是这么做实际上就对软件的整个流程产生了影响。软件安全漏洞对于软件整体 来说是个局部的概念,当修补程序对这个局部修补之后,对软件系统会经过这个 局部的所有流程都产生了影响,那么有可能在考虑不周的情况下,又会产生新的 漏洞,而且根据实际应用的软件显示,这个“考虑不周”还是个普遍情况。 这就是软件安全漏洞产生的四个主要方面。在实际生活中,很多安全漏洞并 不只包含其中一个方面的原因。恰恰相反的是,绝大多数软件安全漏洞是由于多 个原因产生的。比如说,软件发行之后,由于操作系统修补安全漏洞进行补丁升 级导致在运行在其上的软件产生安全漏洞,那么这类软件安全漏洞就是由于软件 修补和运行环境两方面原因产生的漏洞。所以对软件安全漏洞挖掘所要进行的工 作不能只着眼于软件的某一部分,应该更加全面的看待问题,这也恰恰是传统安 全漏洞挖掘方法所欠缺的。综合来说,软件的安全漏

温馨提示

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

评论

0/150

提交评论