恶意代码原理、技术与防范 课件 8-特征码定位与免杀_第1页
恶意代码原理、技术与防范 课件 8-特征码定位与免杀_第2页
恶意代码原理、技术与防范 课件 8-特征码定位与免杀_第3页
恶意代码原理、技术与防范 课件 8-特征码定位与免杀_第4页
恶意代码原理、技术与防范 课件 8-特征码定位与免杀_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

第八章特征码定位与免杀引言恶意代码最大的威胁是安全软件。安全软件通常采用基于特征码的静态检测方法和基于程序行为的动态检测技术识别恶意代码。为了继续生存,恶意代码不断升级自保护技术以增强与安全软件对抗的能力。本章内容主要包括特征码的基本概念、特征码在文件中的定位原理以及消除特征码的方法,详细阐述了特征码定位和修改的恶意代码自保护技术。恶意代码的特征码特征码定位原理恶意代码免杀技术1.相关概念特征码:从恶意代码中提取的,能够唯一代表某个恶意代码家族或变种,并被杀毒软件纳入到特征库的字节流。形态:16进制长度:<64字节CIH:“

558D4424F833DB648703”Mydoom:“35D32C40??4F5C*7B54”武汉男孩:“2E7768626F79”(.whboy)1.相关概念免杀技术:恶意代码免于被安全软件查杀的技术。特征码免杀:指在不改变恶意代码原有功能的前提下,定位特征码所在位置,通过修改或清除特征码达到逃避安全软件检测的技术。定位特征修改特征程序验证1.相关概念单一特征码:是指恶意代码只包含安全软件特征库中的一个特征码。A=A1∧A2∧…∧An,任取i∈[1,n],若修改Ai后免杀,那么Ai则为特征的一个特征子串。恶意代码中的特征码唯一吗?不一定1.相关概念复合特征码:恶意代码体内存在一个以上的特征码。表示为:

A=A1∨A2∨…∨An对于所有的Ai(i∈[1,n]),全部修改后代码才能免杀。每个Ai都是一个单一特征码必须找到所有的特征码?怎么找恶意代码的特征码特征码定位原理恶意代码免杀技术2.特征码定位技术问题:如何知道特征码在恶意代码中的位置?单一特征码:分块填充法(1)将文件分为从1到n的连续块;(2)将文件复制并对其第i块填0,其它部分不变;(3)循环第(2)步,直至n块全部完成;(4)对生成的n个文件进行查杀,保留下来的文件对应的块区域即为特征所在区域;(5)可将(4)中得到的区域进一步分块缩小特征范围,重复(1)-(4)操作。CCL定位方法2.特征码定位技术两种特殊情况:所有分块后的文件均被查杀!所有分块后的文件均被保留!复合特征特征损坏调整块的大小2.特征码定位技术复合特征码:分块保留法(1)将文件分为从1到n的连续块;(2)生成n个文件副本并命名为从1开始的数字,对第i个文件的前i块进行保留,其他部分填零;(3)对所有n个文件进行查杀,被查杀文件中序号最小的文件(设为k)所对应的块为特征所在块;(4)将原始文件中第k+1块填零,并重复第(2)~(3)步的操作,直到没有文件被查杀为止,则每次填充块的位置为一个单一特征码所在的区域;(5)对原始文件只保留一个单一特征码区域,对其他特征码区域填零,按分块填充定位法对特征码区域进行处理,直至达到特征码单元符号特征修改要求的大小为止。MyCCL的定位方法2.特征码免杀技术二叉树在定位中的应用:折半定位。将待检测段一分为二,分别替换并生成两个文件A和B,其中A是原文件后半部分被0替换后生成的,B是前半部分被0替换的,杀毒开始查杀生成文件。算法的优化恶意代码的特征码特征码定位原理恶意代码免杀技术3.特征码修改技术针对特征码所在位置的不同,采用相应的特征码修改方法:数据段字符串PE文件头PE文件头位置导入表函数指令/序列代码段更改加壳变形混淆移动隐藏修改原则:不破坏恶意代码功能3.特征码修改技术特征码在PE头typedefstruct_IMAGE_DOS_HEADER{

USHORTe_magic;//魔术数字‘MZ’USHORTe_cblp;USHORTe_cp;……

LONGe_lfanew;//PE头起始}PE头特征码的特点:偏移+特征码DOSStub是为了与DOS操作系统兼容而保留的头部3.特征码修改技术免杀方法:移动PE头(1)从DOSSTUB至PEHeader之间选择一个位置作为移动后的起始地址Vs;(2)将24字节的PE

Header和224字节的OptionalHeader共248字节剪切至(1)中Vs;(3)将PEHeader的SizeofOptionalHeader字段大小变为Vdirectory-Vs。特征码的修改技术特征在数据段的导入表导入表包括了恶意代码需要调用的API函数,可以透露出程序的意图,因此也常作为查杀的对象。3.特征码修改技术免杀方法:混淆导入表函数名和偏移方法1.将导入表中指定的API函数名移到空闲区间,并将其对应的TrunkValue修改指向空闲区间。方法2.采用类似加壳的方式,将导入表加密存至空闲区间,运行时通过壳代码将导入表解密,获得相应API地址,重新构造导入表。3.特征码修改技术特征码在代码段:对特征码上下文反汇编后修改修改原则:变换前后代码语义等价;变换后代码不能成为病毒库中的特征码;变换后不影响程序的其它功能。3.4数据段免杀方法大小写替换法填零法3.5利用编译器转换的免杀方法由于历史原因大多数恶意代码采用C或C++进行编写,因此安全软件在定义特征码时往往取自于由C/C++编译器生成的二进制文件。如果改用其它编译器对于恶意代码重新编译或者转换,甚至在C/C++编译时选择不同的编译选项,都有可能改变编译的二进制文件内容,达到绕过特征码检测的方法。思考题221.复合特征码的恶意代码中具有多个不同种类的特征码,但是当使用安全软件查杀时却只报一个确定的恶意代码名称。结合特征码的定位方法,说说如何让安全软件识别代码中的所有的特征码?2.分块填充法和分块保留法分别针对单一特征码和复合特征码进行定位,有没有办法将两个方法结合,使其适用于各

温馨提示

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

评论

0/150

提交评论