WEB开发网
开发学院网络安全安全技术 恶意软件反检测技术简介(上) 阅读

恶意软件反检测技术简介(上)

 2008-10-14 13:28:12 来源:WEB开发网   
核心提示: 然而,这一系统也有其缺点,恶意软件反检测技术简介(上)(2),首先,花在仿真上的时间越多,让它觉得该代码在这段时间内没有做恶意的事情,等危险期过后,在对目标程序进行实际分析之前所必须等待的时间也就相应越长,其次

然而,这一系统也有其缺点。首先,花在仿真上的时间越多,在对目标程序进行实际分析之前所必须等待的时间也就相应越长。其次,仿真过程是缓慢的,因为不仅对目标程序实施监控需要开销,而且对操作系统和硬件进行仿真同样也需要开销。QEMU,一种硬件和操作系统仿真器,其仿真出来的硬件比物理硬件的速度有四分之一到十分之一之间的下降,软件在其上运行的速度只是在内存管理单元上运行时的二分之一。同时,因为QEMU不具备任何动态监控功能,这会进一步降低速度。最后一个缺点是,恶意软件可以利用各种反仿真技术来“忽悠”模拟器,这些技术分为三类:比耐力型、比智力型以及过度扩展模拟器。

三、跟模拟器比耐力

因为仿真的代价较高,所以模拟器通常只运行代码的前几百条指令来检测恶意软件,后面的指令通常不予理会。在英特尔的X86系统上,人们普遍相信,只要运行1000条指令便足以检测出恶意代码,同时还能保持较短的运行时间。如果在这段时间内没有运行被视为恶意的指令,那么模拟器就不会再将该代码作为恶意软件而继续检查。跟模拟器比耐力的方法有很多,如基于特定概率的感染技术,在运行恶意代码之前先将良性代码运行特定的时间,或通过入口点迷惑技术来达到目的。

1.概率式感染

一些恶意软件的恶意代码并不是每次都会执行,而是按照一定的概率发作。例如,某病毒在运行时执行恶意代码的概率是10%,这就意味着,模拟器将其运行若干次,才有可能检测到恶意代码。

2.运行良性代码

有的恶意软件会在每次启动时先运行良性代码,并且良性代码运行一段时间后,才开始运行恶意代码。这样做的目的是让模拟器运行指定数量的指令,让它觉得该代码在这段时间内没有做恶意的事情。等危险期过后,它就会露出本来面目:感染并危害系统。

上一页  1 2 3 4 5  下一页

Tags:恶意 软件 检测技术

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接