




已阅读5页,还剩74页未读, 继续免费阅读
(计算机应用技术专业论文)二进制程序行为检测分析平台.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
芒:弋! 一 独创性声明 jjjjjiiij|jiljijiiiifjiiliijlii|jjjfjill y 18 0 2 6 6 1 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均己在论文中作了明 确的说明并表示谢意。 签名:痘丝k日期:帅年j 月硝日 论文使用授权 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:鏖纽导师签名:碰 日期: 聊年f 月夕垆日 -,i ij 、 j 摘要 摘要 随着互联网技术的不断发展和应用范围的不断扩大,信息安全越来越成为政 府,企业和个人所关注的焦点。近年来,以病毒、蠕虫、木马、后门和r o o t l 【i t 等 为主要形式的恶意程序正成为这一范畴内的主要研究课题。如何应对日益泛滥的 恶意程序并有效地检测出它们的样本是所有研究里的重中之重。 新型的恶意程序除了具备攻击性与破坏性等传统特性外,更开发出了多样性, 隐蔽性和自我保护性等新型特性,并以此获得了更为强大的攻击力和生存能力。 如何有效地瓦解恶意程序所使用的代码迷惑,加壳以及反调试技术已成为公认的 难点。与此同时恶意程序的检测技术也呈出现不断发展的趋势,出现了动态特征 码扫描、虚拟机查毒、行为特征识别等方法,但是这些方式方法中最成熟,利用 也最广泛的还是传统的基于特征码的检测技术。 因此,如何有效地对抗目前恶意程序所拥有的新型特性,准确地检测出某个 程序是否符合恶意程序的规范,并弥补当前检测技术的不足成为了本文的研究目 的。为达到以上目标,本文提出了一个基于动态分析的行为检测平台,通过设置 隐蔽的监视断点来捕获二进制程序运行时所执行的各种行为,同时广泛地调研当 前恶意程序的行为规范来构造行为规则库,从而通过规则匹配的方式来判定该程 序的行为是否符合某些恶意行为的标准,最后对该程序的威胁度进行评定并输出 综合结论。 该平台最重要的特性就是能够有效应对当前恶意程序所使用的隐蔽和反检测 技术,针对恶意程序的多样性,隐蔽性和自我保护性提出相应的检测方案。本文 的主要工作内容如下: 1 重点研究当今恶意程序所普遍使用的反检测技术,从而对症下药: 2 从静态分析与动态分析两方面来介绍目前检测恶意程序的主要方法,提出每 种方法的局限与不足并尝试给出可能的解决方案; 3 针对当前恶意程序所使用的技术和安全检测所存在的不足给出基于动态分 析二进制程序行为的检测方案,该方案继承了动态检测的优点并能在一定程度上 弥补其不足: 4 给出二进制程序行为检测分析平台的概要设计和详细设计,描述整个平台的 运行流程,并详细介绍平台子系统与功能模块的作用与实现方式; 摘要 5 最后对本文所提出的平台进行实验和测试,分析其优点及尚存的不足并指出 未来的研究方向。 实验证明该平台能够有效地检测和分析各种恶意程序,平台输出的分析结果 可以作为评价这些程序的重要标准。 关键词:恶意程序,二进制,隐蔽,行为检测 n a b s t i 翟c t a b s t r a c t w i t l lt l l er a p i dd e v e l o p m e n ta n dt l l ee x t e n d i n gu s a g eo fi i l t e n l e tt e d 1 0 l o g y t l l e s e 吼l r i t yo fi n f o m l a t i o ni sm o r e 觚dm o r ec a r e db yg o v 锄e n t ,e n t e 叩r i s e 嬲w e n 鹤 i n d i v i d u a l hr e c e n ty e a r s ,m em a l w a r e ,砌c h m a i n l yr e f 打st ot l l ev i r u s ,w o m s ,仃1 0 j 锄, b a c l 【d o o ra 1 1 dt l l er o o t l ( i t ,b e c o m e sm ef o c u so ft h er e s e a r c hi nn e t 、) i r o r ks e c u r i t yf i e l d a n dh o wt 0d e f 肌da g a i n s tt l l e s em a l w a r e s 嬲w e n 嬲d e t e c tt 1 1 es w a t c h 髓o ft l l e mi st l l e m o s ti m p o r t a n tq u e s t i o no ft 1 1 es l l b j e c t t h em a l w a r eo fn e wt y p eh 嬲n o to l l l yt l l e 仃a d i t i o n a lf e a t u r e ss l l c h 鹞i n f e c t i v i t ) r 锄dd e s t m c t i v i 吼b u ta l s om en e wf e a _ t u r e so fd i v e r s i 坝s t e a l 廿l 锄ds e l f p r o t e c t i o nt l l a t a r ed e v e l o p e db ym e i r 、 r r i t e 墙,s om ep o w e r 觚d 啊a :b i l i t yo fn e wm a l w a r eh 勰e n h a n c c d 伊e a t l y h o wt oe f l e c t i v e l yc o l l a p s em et cc _ h n o l o 百姻u s e db ym a l w a r es u c h 嬲c o d e o b m s c a t i o n ,p a c k i n g 锄d 锄t i d e b u g 西n gh 嬲b e c o m e 觚a c l ( i l o w l e d g e dd i f f i c u l 够a tt l l e s a m et i m em em a l w a 豫d e t 剃o nt e c h o l o g ya l s os h o w e dm e 臼e n do fc o n t i i m o 啦 d e v e l o p m 锄t ,m e 佗h 勰b e e n m en e wd e t e c t i o nm e t l l o d 跚c h 弱d y i l a l i l i cs i 印a t u 心 s c a l l i l i n 吕啊r t u a lm a c h i i l en a r c 0 t i c sc h e c l 【i n ga n db e h a 们o r a lm e t h o d s ,e t c ,b u ti l lm e s e w a y s a r l dm e a n st l l em o s tm a t l j r e锄dm o s t w i d e l y l l s e di st l l e 缸a d i t i o n a l s i 印a t u r e - b 嬲e dd e t e “t e c l l l l o l o 醪 t h e r e f o r e ,1 1 0 wt 0e 仃e 嘶v e l yc o 加b a tn l en e wf e a t u r 髓o w n e db ym a l w a r e ,a n d a c c u r a t e l yd e t e c ti fap r 0 争锄i si nl i i l ew i mn o 肌so f m a l i c i o u sp r o g r a m s 弱w e l l 够 c o m p 锄s a t ef o rd i s a d v 锄t a g 豁o f t l l ec l 】删l td e t e c t i o nt e c h o l o g yb e c 0 m e st 1 1 ep u r p o s e o ft h er e s e a r c hi nm i sd i s s e r t a t i o n t b 如1 6 l lm et a 理r e ta b o v e ,t t l ed i s s e r t a t i o np r e s e n t sa b e 量l a 啊0 rd e t e c t i o np l a t f 0 加b 嬲e do nd y n 枷ca n a i y s i st 0o b t a i nav a d e t yo f be _ h a 啊o r s o fb i n a f ) re x e 咖e d 砒t l l em nt i m eb ys e t t i n gs t e a l t l lb r e 岫i n t s ,觚de x t e n s i v e l y 陀s e a r c h 鹤t l l em l 豁o fb e h a v i o rf o rc i 】盯e n tm a l w a 坞t 0c o n s 协j c tt l l el i b r a r ym l 伪o f c o n d u c t ,w k c hm a t c h 髓m ew a y 廿l r o u g ht l l er u l e st 0d e t e 丌r l i n ew h e t l l e rap r o g 姗i s c o n s i s t 饥tw i t l ls o m el 【i n do fm a l i c i o u sb e h 删o rs t a n d a r d s ,a n da tl 嬲te 、,a l u a t et l l e t l i 嘲tl e y c lo ft 1 1 ep r o g r a m 锄do u t p u t sac o m p 代h s i v cc o n c l u s i o n t h em o s ti m p o r t a n tf e a t i l 他o ft l l ep l a t f 0 珊i sm ea b i l i t yt 0e f f e c t i v e i yd e a lw i t l lt l l e l l i d d c i la n d 觚t i d e t e c t i o nt 仪h i l i q u 鹤o w n e db yn e wm a l w a r e ,a n di ti sa b l et om a k ea i i i a b s 廿_ a c t d e t e c t i o ns c h e i l l et 06 9 1 1 ta g a i n s t 虹l ed i v e r s i 坝s t e a l ma 1 1 ds e l f p r o t e “o nf e a n u e so f m a l w a r e t h em a i n w o r ko ft 1 1 i sd i s s e r t a t i o ni sa sf o l l o w s : 1 t h ed i s s e r t a t i o nf o c :u s e so nt t l er e s e a r c ho fm e 锄t i d e t e c t i o nm e t l l o d st 1 1 a t 锄e w i d e l yl l s e db yc u r r e n tp o p u l a rm a l w a r e ,s oa st 0m a l ( em e 如n c t i o n a lg o a lo ft h e p l a t f o n n ; 2 f r o 】mt l l es t 撕ca 1 1 a l y s i sa 1 1 dd y n a m i ca n a l y s i sb o mt oi n 仃o d u c et h ec 眦e n t 一 p r i m a r y m e a n so fm a l w a r ed e t e c t i o n t e c h n o l o 百e s ,p r o p o s em el i m i t a t i o l l s a i l d i d i s a d v a n t a g e so fe a c ha n dt 巧t o 舀v eo u ts o m ep o s s i b l es o l u t i o n s ; 3 b yt h en e wt e c m o l o 酉e so w n e db ym a l w a r ea n dt h ed i s a d v a n t a g e so fc u r r e i l t d e t e c t i o np 0 1 i c i e s ,t l l ed i s s e r t a t i o np r o p o s e san e wm e t h o db a s e do nd y n 姗i c a i l a l y s i st 0 t h eb i n a y ,w h i c ho w n st h ea d v a l l t a g e so fd y n 锄i ca l l a l y s i sa 1 1 dc a nm a k eu p 研论 d i s a d v a n t a g e s ; 4 t h ed i s s e r t a t i o nt l l e n 百v e so u tt h es y s t e n ld e s i g na n dd e t a i l e dd e s i g no ft h e b e h a v i o rd e t e c t i o na n da 1 1 a l y s i sp l a t f o n n ,a j l dd e s 嘶b e sm ee n t i r e p r o c e s so ft 1 1 e a n a l y s i so p e m t i o n ,t l l e ni n t r o d u c em e 如n c t i o n a l i t i e sa n di m p i e i i l e n to fe a c hs u b s y s t e m a n d 如n c t i o n a lm o d u l eo ft h ep l a t f o 肌; 5 f i n a l l y ,t h ed i s s e r t a t i o n 百v e so u tm ee x p e r i m e n t a lr e s u l to ft l l ep l a t f o m l , p o i n t i n go u tm e i ra d v a n t a g e sa l l dm em t l l r er e s e a r c hd i r e c t i o n s e x p e m e l l t ss h o wt 1 1 a tt h i sp l a t 南姗c a ne 伍c i e i l t l yd e t e c ta i l da 1 1 a l y z ea l l 虹n d so f m a l i c i o u sp r o g 姗s ,a i l a l y s i sr e s u l t se x p o r t e db yt h ep l a t f o n nc a i lb eu s e da si m p o n a l l t 嘶t 嘶o n sf o r “a l u a t i o no ft h e s ep r 0 伊锄s k e y w o r d s :m a l w a r e ,b i n a r y ,s t e a l m ,b e h a v i o rd e t e c t i o n 目录 目录 第一章绪论。l 1 1 选题依据和研究意义1 1 2 国内外研究现状3 1 3 国内外发展态势3 1 4 论文的组织形式及内容。4 第二章恶意程序的生存与检测技术。6 2 1 恶意程序的分类6 2 2 恶意程序的生存技术。7 2 2 1 加壳技术7 2 2 2 代码迷惑技术。8 2 2 2 1 多态与变形9 2 2 2 2 代码变形的实现。l l 2 2 3b o o t l ( i t 技术一12 2 2 4 反调试技术1 3 2 2 5 虚拟机检测技术1 4 2 3 恶意程序检测技术。15 2 3 1 静态分析技术1 5 2 3 1 1 特征码检测技术1 6 2 3 1 2 基于语义分析的恶意程序检测技术1 7 2 3 2 动态分析1 9 2 4 小结2 1 第三章行为检测的方案及流程设计2 2 3 1 系统方案2 2 3 2 技术原理及分析流程2 3 3 2 1 虚拟环境的搭建技术2 3 3 2 2 隐蔽断点调试技术2 3 v 目录 3 2 3 行为捕获技术原理及过程2 5 3 2 4 规则库的建立与匹配。2 7 3 2 5 整体工作流程2 9 3 3 小结3 0 第四章二进制程序行为检测分析平台系统设计。3 2 4 1 功能目标3 2 4 2 运行环境3 2 4 3 系统框架3 2 4 4 详细设计3 4 4 4 1 二进制程序监控平台的模块划分一3 4 4 4 2 行为检测引擎的模块划分3 5 4 4 3 行为分析引擎的模块划分。3 6 4 5 小结3 6 第五章二进制程序行为检测分析平台的实现。3 8 5 1 二进制程序监控平台的实现3 8 5 1 1 虚拟机模块的实现3 8 5 1 2 反汇编模块的实现4 0 5 1 3 隐蔽断点调试模块的实现4 1 5 2 行为检测引擎的实现4 5 5 2 1 函数原型获取模块的实现4 5 5 2 2 敏感参数获取模块的实现4 5 5 - 3 行为分析引擎的实现4 9 5 3 1 恶意行为规则库的实现4 9 5 3 2 规则匹配模块的实现5 l 5 3 3 行为记录模块的实现5 3 5 4 用户界面的实现5 4 5 5 小结5 5 第六章实验测试结果。 6 1 功能测试5 6 6 2 性能测试5 9 v l t 一 目录 6 3 小结5 9 第七章结论。6 0 7 1 全文总结6 0 7 2 未来展望6 l 墅| 【谢。6 2 参考文献6 3 攻硕期间取得的研究成果。6 7 v 第一章绪论 1 1 选题依据和研究意义 第一章绪论 近年来计算机网络技术得到了飞速的发展,随之而来的副作用却是恶意程序 的不断完善与大幅增加。2 0 0 2 年所统计的恶意程序( 病毒,蠕虫,木马及其变种) 就已经达到了6 0 0 0 0 多种,而到目前为止,这一数字已经超过了1 0 0 0 0 0 【l 】。据统 计,连上网络的主机平均每3 9 秒就会经历一次恶意攻击。在中国过去的一两年中 【2 3 1 ,全国的网络虽然在总体上没有出现大规模的拥塞及瘫痪现象,但部分病毒( 如 熊猫烧香,a v 终结者等) 大肆猖獗,他们广泛地使用a 印欺骗,代码变形【4 】以及 r o o t l ( i t 【5 8 】隐藏等反安全软件技术,加大了分析检测的难度,并造成了巨大的经济 损失。恶意程序的撰写者已经越来越多的由单纯地炫耀技术转化为谋求利益,利 用网络来制作和贩卖恶意程序的现象日趋普遍,使用木马来进行网上诈骗,盗窃 的犯罪事件日益增多。恶意程序在技术上的尖端化与其在目标上的明确化正成为 所有安全人员不得不面对的重大难题【“7 1 。 当前的恶意程序除了具备以往的传统特性( 传染性,破坏性等等) 以外,其随着 网络与计算机技术的提高所发展出的新型特点也成为了研究恶意程序的重点与难 点所在。总的来说,这些值得被研究的技术特点包含以下几种: 一多样性 这是恶意程序为了对抗静态分析( 当然对动态分析也会有影响) 所采用的一种 方法。众所周知的静态分析技术就是基于特征码的安全检测,这种技术通过提取 恶意程序样本所特有的字符串作为特征码来建立病毒库,这样每个匹配了库中特 征码的程序都可以被判定为是恶意的。该方法对于检测已知的病毒十分有效,但 对于未知病毒却束手无策,并且特征码的提取也是一个相对漫长的过程,当一个 恶意程序的特征码被提取出来的时候,该程序一般都已经造成了相当大的损失。 基于这种弱点,恶意程序撰写者们发展了快速产生变种的技术,其中主要包括两 类: 1 软件加壳与加密技术。 该技术本来是用于保护软件不被逆向工程所分析,到了恶意程序这里就成为 躲避安全检测的利器。它的基本思想是将程序本身或其关键部分进行压缩和加密, 电子科技人学硕士学位论文 使得静态分析无法得到想要的有效信息,从而躲过静态检测。 2 代码迷惑技术。 该技术也可称为多态变形技术,它的主要思想是在不改变恶意程序功能和语 义的前提下,尽可能地窜改其代码( 包括源代码和二进制代码) 以掩盖程序的真实意 图,使得变形后的程序在分析者面前犹如一团乱麻,较分析普通程序要花费更多 的时间与人力物力。针对这种技术静态分析的研究人员也提出了诸如语义分析, 模式分析及堆栈平衡这样的应对方案,但一旦攻击者熟悉了这些方案的原理,想 躲过相关的检测也是易如反掌,况且这些检测方案本身也存在着效率及准确率的 问题。代码迷惑技术一般具有以下几种形式: ( 1 ) 代码乱序:改变程序指令的语法顺序并通过跳转指令来保持执行顺序。 ( 2 ) 指令替换:用功能相同的指令来替换原有指令。 ( 3 ) 插入垃圾指令:插入不影响程序执行与功能的无关代码。 ( 4 ) 寄存器替换:用另一个寄存器来代替初始寄存器。 二隐蔽性 该特性在r o o t l ( i t 【乳1 0 】上得到了最突出的体现。它经常以内核驱动的形式出现, 一旦被安装加载,就拥有了和内核一样的访问权限,因而可以对内核指令进行修 改,随意操作系统资源,既而完成进程,文件以及端口等行为的隐藏。最新的内 核级m o t l ( i t ,将多种类型的恶意程序包装在内,它可以跳转到处理器,在b i o s 检测时, 再跳转到系统内核,在计算机被清除和恢复后也难于彻底根除。因此,检测这种隐 藏在内核中的恶意程序对于保护主机安全来说具有重要意义。 三自我保护性 现在的恶意程序正变得越来越狡猾,程序的撰写者们在躲避静态检测的同时 也开始注意保护自己的软件不被动态地分析。分析者在进行动态分析的时候经常 会将恶意程序运行在一个虚拟的空间中,使用调试程序对其设置断点,执行步进 或步入,查看a p i 调用等操作来判断程序的行为。然而现在的恶意程序也拥有了检 测自己是否在虚拟机中执行或是否被设置了断点的能力,一旦检测到了,恶意程 序会改为执行良性的行为或干脆自己退出来逃避对它的检测和分析。因此我们亟 需设计一个对恶意程序不可见的环境来准确安全地分析其行。 以上恶意程序所体现出的新型特性及危害正是本文的选题依据,而如何有效 地防御和抵抗这些特性也正是本文的研究意义所在。 2 一 , 第一章绪论 1 2 国内外研究现状 以上提到的恶意程序技术特点及发展趋势得到了国内外安全专家们的广泛关 注,近年来针对这些问题的研究也得出了很多成果。 在对抗多态变形方面,动态分析上的研究主要集中于分析程序的a p i 调用及参 数来判断其行为,方式主要有a p i h 0 0 k 和分析二进制指令等,1 a 1 ) ,z e 【1 1 1 2 】( u l r i c h b a y 贸等,2 0 0 6 ) 和s 肌d b o x 【1 3 l ( c a r s t 朗w i l l e m 等,2 0 0 7 ) 就是这些方式的典型 代表。国内也对此进行了细致研究,开发出了一些主动防御系统并已投入使用。 而静态分析则出现了多种研究思路,如模式匹配,代码标准化,语义分析和堆栈 平衡等等,其本质思想都是通过对数据流和控制流的分析来找出或还原程序的恶 意行为。然而,这些方法在准确性和性能上都存在一些问题,因此绝大部分还没 有投入使用。 在对抗隐蔽性方面,目前的研究主要分为3 种:主动防御系统( h i p s ) ,执行 路径分析( e p a ) 和微分测试( d i t i a l 陷t ) 。这些方式主要基于动态分析,并 且在某些方面可以有效检测r o o t l ( i t ,但仍不全面,而且有些在效能上也存在问题。 国内对这方面的研究也是刚刚起步。 在对抗自我保护性方面,国外的1 r a n a l y z e 使用了开源的p c 仿真器伽e m l l 4 j 来躲避恶意程序对虚拟机的检测,而s p i k e f ”】( a m i t a 跚d e v 锄等,2 0 0 6 ) 则提供 了一个对于恶意程序不可见的调试平台,使用隐蔽调试技术来准确地分析程序的 二进制代码。国内的g h o s t 也使用了类似s p i l 江的技术,其平台也已搭建成功。 1 3 国内外发展态势 随着计算机技术的快速发展,恶意程序也不断地进行着自我更新,未来的恶 意程序将拥有越来越复杂的迷惑技术,越来越高的隐蔽性,越来越强的自我保护 能力以及越来越大的破坏力和传染力。因此,国内外的研究态势也将所着恶意程 序的进化和以上威胁的深入解决而不断发展。 静态分析方面,检测一个程序是否包含恶意行为已被证明为是不可判定的。 然而,恶意程序的作者们也不可能将一个程序变形为彻底掩盖其行为的地步,因 为这将大大影响到恶意程序本身的大小和执行效率,而且会起到欲盖弥彰的效果, 因此总可能存在一些方法来挖掘出程序的恶意行为。目前的模式匹配,语义分析 及a p i 序列检测等技术虽然尚不成熟,但随着研究的深入与计算机技术的提高前 3 电子科技大学硕士学位论文 景依旧光明。 动态分析方面,由于运行时只能执行单条路径,因此无法全面的得出程序的 总体情况,如何全面地覆盖程序所有的执行路径将是未来研究的重要议题。同时, 动态分析一般运行在虚拟环境中,容易被自保护的程序检测到,将来也要研究如 何躲过这种程序的检测。最后,动态分析的性能也需不断提高。 另外,本文所做的研究都是基于主机检测的,而现有恶意程序主要依靠网络 传播,只依靠主机的检测是远远不够的,还需要结合网络入侵检测、审计等措施才能 有效确保系统的安全。恶意程序的入侵很大程度上是由于系统存在漏洞,对于 w i n d o w s 这样的未开源系统来说,对未知漏洞的发掘和对已知漏洞的保护工作对 于防范恶意程序显得尤为重要。 1 4 论文的组织形式及内容 本文的组织及内容如下: 第一章:介绍恶意程序与检测技术当前发展的总体情况以及国内外的研究现 状,提出了本文要解决的问题和研究的价值与意义所在; 第二章:主要对恶意程序所使用的各种技术进行了深入的研究并详细阐述了这 些技术的目的,原理及实现方式,并介绍了对抗这些技术的难点所在;同时也从 静态分析和动态分析两方面介绍了当前恶意程序的检测技术,通过与恶意程序的 反检测技术进行对比,发掘出这些检测技术的优点与不足,从而确定了分析平台 要解决的问题的具体内容; 第三章:针对上一章所提出的具体问题本章进行了具体分析,提出了相应的系 统方案,并介绍了方案中所使用的各种技术( 如虚拟机,隐蔽断点调试技术等) 及其原理,最后综合所有技术给出了系统的整个运行流程; 第四章:介绍二进制程序行为检测分析平台的系统设计目标与运行环境,提出 了整个平台的系统框架和各子系统的划分,并进一步对各子系统进行功能模块层 面上的划分,最后介绍了每个功能模块的具体作用和输入输出; 第五章:介绍分析平台各个子系统和功能模块的实现方式,给出各个模块实 现时所涉及的数据结构,函数原型和工作流程以及恶意行为规则库的构建方式; 第六章:对分析平台进行功能和性能两方面的测试,功能测试注重于分析平 台对恶意行为的捕获和分析能力,性能测试注重于分析平台运行时的系统开销情 况,通过实验结果对分析平台进行评价; 4 第一章绪论 第七章:总结和评价全文所做的所有研究和开发工作,展望未来的研究内容 及发展方向。 5 电子科技大学硕士学位论文 第二章恶意程序的生存与检测技术 恶意程序是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序 中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感 染电脑数据的安全性和完整性的目的【l6 1 ,它通常是与网络入侵和渗透控制紧密联 系在一起的。按照类型来划分,恶意程序包括了病毒、蠕虫、木马、后门以及r o o t l ( i t 等,而后三种也被人称之为间谍软件。本章将简要介绍恶意程序的概念及分类并 将重点放在恶意程序的生存技术及分析检测方法方面,通过剖析这两者的原理, 本章将呈现出检测当前恶意程序的难点和不足之处。 2 1 恶意程序的分类 通过恶意程序的入侵方式,发作条件以及目的可以对恶意程序加以分类: 1 按入侵方式分类 有意的入侵: 这类恶意程序包括特洛伊木马,后门,陷阱等。 一随机繁殖传播:以病毒为例。病毒通过将自己与程序相联接来感染程序。 然后它要么毁坏程序要么与它共存。蠕虫也属于该范畴。 一受驱使的传播 逻辑鱼雷,螃蟹,爬行者和对特定系统的入侵。恶意攻击有特定的目标并且 在到达目标之前不会有显眼的举动。 一软件开发期的恶意程序 任何在软件开发期间危及到文件完整性的恶意程序( 系统开发攻击) 。 一无意的入侵: b u g ,漏洞以及其他由开发者所造成的错误。 2 按发作条件分类 逻辑事件: 这一类行为只要符合某种逻辑条件就会发作。允许运行多次的程序,一连串 准确的操作,访问特定的网站,所有的逻辑炸弹,某些类型的木马和陷阱以及复 活节彩蛋都属于这一范畴。 6 第二章恶意程序的生存与检测技术 定时事件: 这些逻辑事件依赖于特定的时间和日期。举例来说,一种病毒会庆祝“圣诞快 乐”,并在3 0 天后再度发作。定时炸弹与某些类型的木马属于该范畴。 携带执行: 这种行为在携带者执行的时候就会引发。例如:病毒和特洛伊木马。 3 按恶意程序的目的分类 阻止对系统资源的访问: 所有拒绝服务攻击,系统开发攻击等。 取得被保护的信息: 转换通道,入侵,嗅探器,网络公车。 取得网络连接或信息: 有时,信息在一台机器上保护得很好,可是这台机器却接入了网络。嗅探器 和转换通道属于这一类。 危及系统文件: 病毒,系统开发攻击,s e c h o l e 等等。 2 2 恶意程序的生存技术 为躲避安全软件的检测,当前的恶意程序开发出了包括加壳和代码迷惑等多 种先进的反检测技术,下面对这些技术进行详细介绍: 2 2 1 加壳技术 加壳的全称应该是可执行程序资源压缩,是保护文件的常用手段【l 丌。它其实 是利用特殊的算法,对e x e 、d l l 文件里的资源进行压缩、加密,因此,加壳也 可以理解为加密。压缩或加密之后的文件,可以独立运行,解压过程完全隐蔽, 都在内存中完成。它们附加在原程序上通过w i n d o w s 加载器载入内存后,先于原 始程序执行,得到控制权,执行过程中对原始程序进行解密、还原,还原完成后 再把控制权交还给原始程序,执行原来的代码部分。加上外壳后,原始程序代码 在磁盘文件中一般是以加密后的形式存在的,只在执行时在内存中还原,这样就 可以比较有效地防止破解者对程序文件的非法修改,同时也可以防止程序被静态 反编译。 加壳技术广泛地运用于软件保护领域,安装后的壳不但可以隐藏软件的源代 7 电子科技大学硕士学位论文 码,还能够执行额外的功能,如反调试跟踪、自校验及用密钥加密保护等;还可 以提供多种限制使用措施,如:使用天数限制、次数限制及对应的注册。 可以看出,拥有如此强大功能的加壳技术是一柄双刃剑。当恶意程序加上了 壳以后,由于其运行时首先执行的是解密的操作,所以分析工具( 各种动态或静 态的调试器等) 就无法看到程序执行部分的真正代码( 一般是汇编代码) ,直到壳 的解压结束,程序运行到它的入口点地址时才算是真正开始执行自己的功能。同 时,恶意程序也可以把其他的隐蔽功能集成在壳中完成,达到一箭双雕的目的。 从对壳的介绍可知,想要去掉加在程序上的壳,就必须要找到程序的入口点 地址,寻找程序入口点地址的技术也叫做脱壳技术。遗憾的是,该项技术是当今 公认的难题,目前还没有特别通用的自动化脱壳方法,分析人员一般要靠丰富的 经验来手动调试脱壳。 加壳用于对付当前使用最广泛的特征码检测技术相当有效。由于加壳的过程 改变了恶意程序的源代码,该程序原来的特征码部分经过加密已面目全非,使用 特征码检测技术的安全软件必须实时更新扫描引擎,提取新的特征码。因此加壳 和变形结合起来,将使得安全厂商手忙脚乱,也使得反病毒软件用户痛苦不堪, 频繁的更新,除了特征码,还有扫描引擎。 2 2 2 代码迷惑技术 恶意程序植入目标系统后,必然采用各种技术来提高自身的生存能力,以免 被计算机用户或管理员发现,使生存期尽可能延长。早期的恶意程序并没有采用 迷惑技术,都具有固定的特征码。具有固定特征码的恶意程序很容易被恶意程序 检测软件使用特征码扫描技术识别。恶意程序的实现技术和反恶意程序技术总是 在矛盾中发展,虽然网络安全专家采用了各种各样的方法来检测恶意程序,但是 新的恶意程序还是层出不穷,而且技术水平越来越高,隐蔽性越来越强。许多恶 意程序已经应用自动化迷惑技术来逃避特征码的检测【l 妣o 】。针对自动化的迷惑技 术,只有对其迷惑技术机理进行深入剖析,才能找到有效的检测方法。恶意程序 的生存能力在一定程度上依赖于隐藏技术和迷惑变换技术这两项技术。任何恶意 程序的运行都可以抽象成为一台有限状态机,只要有足够的时间和精力,检测者 就能随心所欲地修改有限状态机的状态。迷惑变换技术使用的方法是隐藏和伪装 保护目标,提高分析和检测的难度【2 1 】,从而恶意程序能完成入侵、传播和破坏 的目的,多态变形是实现迷惑安全技术的两项主要技术。 8 第二章恶意程序的生存与检测技术 2 2 2 1 多态与变形 多态( p 0 1 y m o 印h i s m ) 是一种只改变程序的外部形式( 代码外观,执行流程等) 而不影响程序真正功能的技术。也就是说,程序在运行期间虽然对自己进行了更 改,却完全没有影响到原有的各种功能。恶意程序经常所使用这种技术来隐蔽自 身以躲避安全程序的检测。对程序实施变换的过程代码又称为多态引擎,下一节 将专门介绍该引擎的结构和实现。 多态最常见的形式是加密( 与上一节加壳所提及的加密相似,可视为二者的 交集) 。通过加密,程序代码的主体部分将变得面目全非,各种基于源代码的静态 分析技术都会基本失效,程序知道运行时才开始解密,并展现真实的行为。通过 使用不同的加密解密算法,程序可以展示出多种外观,但拥有的却是同一种功能。 变形( m e t a m o 印m s m ) 是指程序在运行时可以“改编”自己的技术。要完成这一 功能,恶意程序通常会将自己的源码翻译为一种中间语言,然后对中间语言进行 编辑,最后将编好的中间语言反译回自己的代码中去。这一过程通常由恶意程序 自身来完成,完成变形工作的代码又被称为变形引擎。使用了变形技术的恶意程 序可以保证其改编出的变种不会与自身有任何相似之处,因此变形技术可以有效 地躲避基于模式识别的检测方法。 多态和变形的区别是二者使用的代码变换方法不同。多态更注重与加密和解 密算法的选择,一旦解密,程序的外观和原来没有区别;而变形则是用具有相同 功能的代码来替换原有的代码。一般情况下,变形要比多态更难分析一些,因为 解决多态只需要找到相应的解密算法,而解决变形则需要检测工具提供某种算法 来分析代码的行为,遗憾的是,目前并没有特别有效的算法出现。为了更深入地 了解变形技术,下一节( 2 2 2 2 ) 将专门讲述该技术的实现方法。 基于以上两种思想,黑客们提出了各种迷惑手段来躲避安全软件( 特别是特 征码技术) 的检测,图2 1 是一个多态引擎的模块图【2 4 】。 9 电子科技大学硕士学位论文 图2 1 多态变形引擎的功能模块图 从模块图可以看出,多态引擎实际上就是对指令的变换操作,或是变换顺序 或是扩展( 替换) 或是无用( 垃圾) 指令的插入,通过这样的方式来扰乱恶意程 序自身的特征,从而逃过检测。 而变形引擎在多态引擎的基础上,使用了中间语言( 由原始代码反汇编而成) , 并在实际执行时进行汇编编译变换,这样进一步使恶意程序的代码发生变形,使 得变种与原程序完全丧失相同点。 l o 第二章恶意程序的生存与检测技术 2 2 2 2 代码变形的实现 本节将对常用的变形技术进行详细介绍。 1 指令重排序 改变程序指令的语法顺序并通过跳转指令来保持执行顺序。 例如表2 1 : 表2 1 指令重排序的例子 初始代码重排序后的代码 2 指令变换 指令变换是将原有的一个或一组指令替换为拥有相同功能的其他指令,指令 变换主要有指令扩展,指令收缩和相同指令替代形式。 表2 2 指令变换的例子 电子科技大学硕士学位论文 指令扩展是把单个指令扩展为拥有相同功能的指令组。例如表2 2 : 而指令收缩则是把一段指令组转化为具有相同功能的单个指令。例如: m o v 【e d i ,e d ) 【 a d de d i ,4 将以上两行转换为:s t o s d p u s he d x x c h ge a x ,e d x p o pe d x 将以上三行转换为:m o ve a x ,e d x ( 3 ) 相同指令替代是指把指令变换为相同功能的指令 例如( 注:e x x 表示任何通用寄存器) : x o r e ) 【) 【,e x x 专 s u b e x x ,e x x a d de x x ,1 专 i n c e ) 【) 【 3 垃圾代码插入 从指令序列中移除后不影响程序原始行为的代码称为垃圾代码。选择垃圾代 码的原则如下: ( 1 ) 不能影响任何寄存器( 当然,e i p 是一定要改变的) 和标志位的状态。 ( 2 ) 不能修改程序中的任何数据。 4 寄
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025广西贺州市商务局公开招聘1人模拟试卷及答案详解(全优)
- 2025年河北唐山幼儿师范高等专科学校选聘工作人员35人考前自测高频考点模拟试题及答案详解(名校卷)
- 2025福建南平绿发集团有限公司招聘及拟进入考前自测高频考点模拟试题及答案详解(典优)
- 2025江苏省宿迁市沭阳县面向普通高校应届师范类毕业生招聘16人(第二批次)考前自测高频考点模拟试题及一套完整答案详解
- 2025江苏南通市川姜镇招聘人力资源和社会保障基层公共服务平台工作人员4人考前自测高频考点模拟试题有答案详解
- 2025江苏师范大学招聘工作人员78人(第一批)考前自测高频考点模拟试题参考答案详解
- 2025劳动合同的订立程序
- 2025江苏盐城市射阳县农业水利投资开发集团有限公司招聘考前自测高频考点模拟试题及答案详解(夺冠系列)
- 2025安徽皖西国有投资控股集团公司部分经理层、内设部门和子公司负责人选聘拟聘用人员考前自测高频考点模拟试题及答案详解(历年真题)
- 2025广西崇左凭祥市国防动员办公室公开招聘工作人员1人考前自测高频考点模拟试题有完整答案详解
- 中国冠心病康复循证实践指南(2024版)解读
- 委托找工作合同模板
- 部编版历史八年级上册第一单元 第2课《第二次鸦片战争》检测卷(后附答案及解析)
- 《北京市二年级上学期数学第二单元试卷》
- 中国老年患者术后谵妄防治专家共识2023
- 山东省济南市舜耕中学2024-2025学年九年级上学期10月月考化学试题(无答案)
- 明股实债合作完整协议
- 2024年“蓉漂人才荟”四川成都市农林科学院招聘高层次人才8人历年【重点基础提升】模拟试题(共500题)附带答案详解
- 厦门航空港货运业务竞争战略研究的中期报告
- 设计伦理与社会责任
- 钼靶科室管理制度
评论
0/150
提交评论