恶意代码生存技术有哪些


发现错别字 3天前 提问
回答
1
浏览
37
请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!
Andrew
CISP-PTE CISM-WSE
最佳答案

1. 反跟踪技术

恶意代码靠采用反跟踪技术来提高自身的伪装能力和防破译能力,使检测与清除恶意代码的难度大大增加。反跟踪技术大致可以分为两大类:反动态跟踪技术和反静态分析技术。

l)反动态跟踪技术

  • 禁止跟踪中断。针对调试分析工具运行系统的单步中断与断点中断服务程序,恶意代码通过修改中断服务程序的入口地址来实现其反跟踪的目的。 1575 计算机病毒使用该方法将堆栈指针指向处于中断向量表中的 INTO INT 区域,阻止调试工具对其代码进行跟踪,封锁键盘输入和屏幕显示,使跟踪调试工具运行的必需环境被破坏。
  • 检测跟踪法。根据检测跟踪调试时和正常执行时的运行环境、中断入口和时间的不同,采取相应的措施实现其反跟踪目的。例如,通过操作系统的 API 函数试图打开调试器的驱动程序句柄,检测调试器是否激活确定代码是否继续运行。

  • 其他反跟踪技术。如指令流队列法和逆指令流法等。

    2)反静态分析技术

  • 对程序代码分块加密执行。为了不让程序代码通过反汇编进行静态分析,将分块的程序代码以密文形式装入内存,由解密程序在执行时进行译码,立即清除执行完毕后的代码,力求分析者在任何时候都无法从内存中获得执行代码的完整形式。
  • 伪指令法。伪指令法指将“废指令"插入指令流中,让静态反汇编得不到全部正常的指令,进而不能进行有效的静态分析。例如, Apparition 种基于编译器变形的 Win32 平台的病毒,每次新的病毒体可执行代码被编译器编译出来时都要被插入 定数量的伪指令,不仅使其变形,而且实现了反跟踪的目的。不仅如此,伪指令技术还广泛应用千宏病毒与脚本恶意代码之中。

2. 加密技术

加密技术是恶意代码进行自我保护的手段之 ,再配合反跟踪技术的使用,让分析者不能正常调试和阅读恶意代码,无法获得恶意代码的工作原理,自然也不能抽取特征串。从加密的内容上划分,加密手段有 种,即信息加密、数据加密和程序代码加密。大部分恶意代码对程序体本身加密,但还有少数恶意代码对被感染的文件加密 例如, Cascade 是第一例采用加密技术的 DOS 环境下的恶意代码,其解密器稳定,能够解密内存中加密的程序体 Mad和 Zombie 是 Cascade 加密技术的延伸,让恶意代码加密技术扩展到 32 位的操作系统平台。此外,“中国炸弹”和“幽灵病毒”也是这一类恶意代码。

3. 模糊变换技术

恶意代码每感染一个客体对象时都会利用模糊变换技术使潜入宿主程序的代码不尽相同。尽管是同一种恶意代码,但仍会具有多个不同样本,几乎不存在稳定的代码,只采用基千特征的检测工具 般无法有效识别它们。随着这类恶意代码的增多,不但使病毒检测和防御软件的编写难度加大,还会使反病毒软件的误报率增加。

目前,模糊变换技术主要分为以下几种:

  • 指令替换技术 模糊变换引擎 (M tation Engine) 对恶意代码的 进制代码进行反汇编,解码并计算指令长度再对其同义变换。例如,指令 XORREG, REG 被变换为SUB REG, REG; 寄存器 REGl 和寄存器 REG2 互换; JMP 指令和 CALL 指令变换等。Regswap 就使用了寄存器互换这 变形技术。
  • 指令压缩技术。经恶意代码反汇编后的全部指令由模糊变换器检测,对可压缩的指令同义压缩。压缩技术要想使病毒体代码的长度发生改变,必须对病毒体内的跳转指令重定位。例如指令 MOV REG, 12345678 / PUSH REG 变换为指令 PUSH 12345678 等。
  • 指令扩展技术。扩展技术是对汇编指令进行同义扩展,所有经过压缩技术变换的指令都能够使用扩展技术来进行逆变换。扩展技术远比压缩技术的可变换空间大,指令甚至能够进行几十或上百种的扩展变换。扩展技术也需要对恶意代码的长度进行改变,进行恶意代码中跳转指令的重定位。
  • 伪指令技术。伪指令技术主要是将无效指令插入恶意代码程序体,例如空指令。

  • 重编译技术。使用重编译技术的恶意代码中携带恶意代码的源码,要在自带编译器或者操作系统提供编译器的基础上进行重新编译,这种技术不仅实现了变形的目的,而且为跨平台的恶意代码的出现提供了条件。这表现在UNIX/Linux 操作系统,系统默认配置有标准C的编译器。宏病毒和脚本恶意代码是典型的采用这类技术变形的恶意代码。 Tequtla是第一例在全球范围传播和破坏的变形病毒,从其出现到研发出可以有效检测该病毒的软件, 共花费了研究人员 个月的时间。

4. 自动生产技术

普通病毒能够利用“多态性发生器”编译成具有多态性的病毒。多态变换引擎能够让程序代码本身产生改变,但却可以保持原有功能。例如保加利亚的 “Dark Avenger”, 变换引擎每产生一个恶意代码,其程序体都会发生变化,反恶意代码软件若只是采用基千特征的扫描技术,则无法检测和清除这种恶意代码。

5. 变形技术

在恶意代码的查杀过程中,多数杀毒厂商通过提取恶意代码特征值的方式对恶意代码进行分辨。这种基千特征码的病毒查杀技术的致命缺点是需要 个特征代码库,同时这个库中的代码要具有固定性。病毒设计者利用这一漏洞,设计出具体同 功能不同特征码的恶意代码。这种变换恶意代码特征码的技术称为变形技术。常见的恶意代码变形技术包括如下几个方面:

  • 重汇编技术。变形引擎对病毒体的二进制代码进行反汇编,解码每一条指令,并对指令进行同义变换。如 “Regswap” 就采用简单的寄存器互换的变形。

  • 压缩技术。变形器检测病毒体反汇编后的全部指令,对可进行压缩的 段指令进行同义压缩。

  • 膨胀技术。压缩技术的逆变换就是对汇编指令同义膨胀。

  • 伪指令技术。伪指令技术主要是对病毒体插入废指令,例如空指令、跳转到下一指令和压弹栈等。

  • 重编译技术。病毒体携带病毒体的源码,需要自带编译器或者利用操作系统提供的编译器进行重新编译,这为跨平台的恶意代码的出现打下了基础。

6. 三线程技术

恶意代码中应用 线程技术是为了防止恶意代码被外部操作停止运行。 线程技术的工作原理是一个恶意代码进程同时开启了三个线程,其中一个为负责远程控制工作的主线程,另外两个为用来监视线程负责检查恶意代码程序是否被删除或被停止自启动的监视线程和守护线程。注入其他可执行文件内的守护线程,同步于恶意代码进程。只要进程被停止,它就会重新启动该进程,同时向主线程提供必要的数据,这样就使得恶意代码可以待续运行。“中国黑客”就是采用这种技术的恶意代码。

7. 进程注入技术

在系统启动时操作系统的系统服务和网络服务一般能够自动加载。恶意代码程序为了实现隐藏和启动的目的,把自身嵌入与这些服务有关的进程中。这类恶意代码只需要安装一次,就能被服务加载到系统中运行,并且可以一直处千活跃状态。如 Windows 下的大部分关键服务程序能够被 “WinEggDropShell” 注入

8. 通信隐藏技术

实现恶意代码的通信隐藏技术一般有四类:端口定制技术、端口复用技术、通信加密技术、隐蔽通道技术。

  • 端口定制技术,旧木马几乎都存在预设固定的监听端口,但是新木马 般都有定制端口的功能。优点:木马检测工具的 种检测方法就是检测缺省端口,定制端口可以避过此方法的检测。
  • 端口复用技术利用系统网络打开的端口(如25 139 等)传送数据 木马 Executor 用 80 端口传递控制信息和数据; BladeR ner Doly Trojan Fore FTP Trojan Larva ebEx、WinCrash 等木马复用 21 端口; Shtrilitz Stealth Terminator WinPC WinSpy 等木马复用 25 端口。使用端口复用技术的木马在保证端口默认服务正常工作的条件下复用,具有很强的欺骗性,可欺骗防火墙等安全设备,可避过 IDS 和安全扫描系统等安全工具。

  • 通信加密技术,即将恶意代码的通信内容加密发送。通信加密技术胜在能够使得通信内容隐藏,但弊端是通信状态无法隐藏。

  • 隐蔽通道技术能有效隐藏通信内容和通信状态,目前常见的能提供隐蔽通道方式进行通信的后门有: B02K Code Red II Nimida Covert TCP 等。但恶意代码编写者需要耗费大量时间以便找寻隐蔽通道。

9. 内核级隐藏技术

1) LKM 隐藏

LKM 是可加载内核模块,用来扩展 Linux的内核功能。 LKM 能够在不用重新编译内核的情况下把动态加载到内存中。基千这个优点,LKM 技术经常使用在系统设备的驱动程序和Rootkit 中。 LKMRootkit 通过系统提供的接口加载到内核空间,将恶意程序转化成内核的某部分,再通过 hook 系统调用的方式实现隐藏功能。

2) 内存映射隐藏

内存映射是指由 个文件到一块内存的映射。内存映射可以将硬盘上的内容映射至内存中,用户可以通过内存指令读写文件。使用内存映射避免了多次调用 1/0 操作的行为,减少了不必要的资源浪费。

回答所涉及的环境:联想(Lenovo)天逸510S、Windows 10。

2天前 / 评论
回答数量: 1