查看: 2530|回复: 18
收起左侧

[江民] 既然主防的出现是代替引擎脱壳,那么?

[复制链接]
liningaigo
发表于 2011-10-21 19:03:08 | 显示全部楼层 |阅读模式
本帖最后由 liningaigo 于 2011-10-21 20:11 编辑

既然主防的出现是代替引擎脱壳,那么扫描引擎是否还需要行为启发、虚拟脱壳等耗资源技术?
lll714775117
发表于 2011-10-21 19:04:35 | 显示全部楼层
因为运行之后什么都有可能发生
wsn110
发表于 2011-10-21 19:41:13 | 显示全部楼层
一个是对未知病毒程序进行拦截,他需要程序运行,一个是保证高的查杀率,程序不需要运行,所以当然有必要存在。
chujunci
发表于 2011-10-21 20:05:05 | 显示全部楼层
那个跟你讲是可以替代的???根本就是两码事!!!
雨之神
发表于 2011-10-21 23:12:07 | 显示全部楼层
扫描引擎是肯定需要行为启发、虚拟脱壳等耗资源技术
MagicFuzzX
发表于 2011-10-23 16:38:15 | 显示全部楼层
两者有相关联的部分,比如主防往往是将进程挂起后,将相关代码拷贝到虚拟机引擎进行解析,再结合其它的判断是不是可疑的
流年春去
发表于 2011-10-23 21:07:45 | 显示全部楼层
进来学习下
liningaigo
 楼主| 发表于 2011-10-24 11:15:44 | 显示全部楼层

    上个世纪80年代末期,基于个人电脑病毒的诞生,随即就有了清除病毒的工具──反病毒软件。这一时期,病毒所使用的技术还比较简单,从而检测相对容易,最广泛使用的就是特征码匹配的方法。
    特征码一般都选得很长,有时可达数十字节,一般也会选取多个,以保证正确判断。杀毒软件通过利用特征串,可以非常容易的查出病毒。


广谱特征
   为了躲避杀毒软件的查杀,电脑病毒开始进化。病毒为了躲避杀毒软件的查杀,逐渐演变为变形的形式,每感染一次,就对自身变一次形,通过对自身的变形来躲避查 杀。这样一来,同一种病毒的变种病毒大量增加,甚至可以到达天文数字的量级。大量的变形病毒不同形态之间甚至可以做到没有超过三个连续字节是相同的。
   为了对付这种情况,首先特征码的获取不可能再是简单的取出一段代码来,而是分段的,中间可以包含任意的内容(也就是增加了一些不参加比较的“掩码字节”,在出现“掩码字节”的地方,出现什么内容都不参加比较)。这就是曾经提出的广谱特征码的概念。这个技术在一段时间内,对于处理某些变形的病毒提供了一种方法,但是也使误报率大大增加,所以采用广谱特征码的技术目前已不能有效的对新病毒进行查杀,并且还可能把正规程序当作病毒误报给用户。


启发式扫描
   为了对付病毒的不断变化和对未知病毒的研究,启发式扫描方式出现了。启发式扫描是通过分析指令出现的顺序,或特定组合情况等常见病毒的标准特征来决定文件是 否感染未知病毒。因为病毒要达到感染和破坏的目的,通常的行为都会有一定的特征,例如非常规读写文件,终结自身,非常规切入零环等等。所以可以根据扫描特 定的行为或多种行为的组合来判断一个程序是否是病毒。
    这种启发式扫描比起静态的特征码扫描要先进的多,可以达到一定的未知病毒处理能力,但还是会有不准确的时候。特别是因为无法确定一定是病毒,而不可能做未知病毒杀毒。


行为判定
    针对变形病毒、未知病毒等复杂的病毒情况,极少数杀毒软件采用了虚拟机技术,达到了对未知病毒良好的查杀效果。它实际上是一种可控的,由软件模拟出来的程序虚拟运行环境,就像我们看的电影《黑客帝国》一样。在这一环境中虚拟执行的程序,就像生活在母体(Matrix)中的人,不论好坏,其一切行为都是受到建筑师(architect)控制的。虽然病毒通过各种方式来躲避杀毒软件,但是当它运行在虚拟机中时,它并不知道自己的一切行为都在被虚拟机所监控,所以当它在虚拟机中脱去伪装进行传染时,就会被虚拟机所发现,如此一来,利用虚拟机技术就可以发现大部分的变形病毒和大量的未知病毒。




简单总结一下各种引擎技术的优缺点:


特征码技术


       

静态广谱特征扫描技术

       


启发式扫描技术

(静态扫描+未知特征)


       


行为判定技术



速度快,准确率高

       


可以检测部分变形病毒

       


误报率低,能检测变形病毒和病毒变种

       


基于强大而完整的虚拟机技术

能够对未知病毒进行判别,对标准病毒准确率高


不能对付变形病毒或加密病毒

       


误报率高

       


对未知病毒的检测能力较低

       


实现难度大,速度慢



解压缩与去壳   
   
    病毒隐藏自身的方法还有加壳和压缩两种方法。加壳是通过一系列的数学运算,将可执行程序或动态链接文件的编码进行改变,以达到缩小程序体积或加密程序编码的目的。通常常见的加壳工具有UPX、ASPack等。 病毒通过使用不同种类或者版本的加壳软件,对自身进行加壳,使得杀毒软件无法发现真正的病毒体,以逃避查杀。并且由于加壳的工具种类很多,同一个工具也存 在不同的版本。为了检测已加壳的病毒,就必须要针对不同种类不同版本的壳编写脱壳程序才可以发现壳内隐藏的真正病毒体。所以,杀毒软件对病毒的查杀能力也 在一定程度上取决于他自身的脱壳能力。
    压缩是普通用户日常经常使用的减小文件体积的方法,常见的工具软件有WinZip、WinRAR等。 病毒有时候会隐藏在压缩包内部,如果一个杀毒软件没有解压缩的能力就不可能查杀压缩包内的病毒。同时,如果杀毒软件不具备相应格式的压缩能力,在查杀病毒 后就不能复原压缩包,导致压缩包破坏。可见,杀毒软件要想做到对病毒的全面捕获与查杀,脱壳解压能力也是至关重要的。

大多数病毒是有触发条件 而目前所有的100%的虚拟机是无法自主虚拟条件的。。
也就是说。。除了自身有缺陷的病毒 其他的。。杀软虚拟机是没用的
引擎的虚拟机是挑自己感兴趣的代码执行的
http://bbs.kafan.cn/thread-866036-6-1.html

反病毒软件的脱壳能力跟压缩文件嵌套层数是两个不同的概念:
文件加壳,是利用特殊的算法,对可执行文件资源进行压缩、加密。加壳过的程序可以直接运行,但是不能查看源代码.要经过脱壳才可以查看源代码,这个过程在内存中进行,调用CPU执行。
这个过程和winzip等压缩过程比较相似,但是这是两个不同的技术原理。首先,加壳文件并不一定是压缩文件;第二,加壳文件可以利用CPU,在内存中解壳之后运行,自解压格式的压缩文件虽然也可以自动运行,但是他确实是通过压缩算法压缩和解压的。

压缩文件嵌套层数,指的是一个文件被加壳压缩的层数。比如说一个病毒样本,采取了加壳压缩的方式以躲避反病毒软件的侦测,甚至会多层加壳和压缩以规避侦测。正如上面所说的,首先,这个文件必须是压缩文件,可能是加了壳,也可能没有。

由于压缩文件往往需要解压之后才能运行,增加压缩文件嵌套层数只会增加扫描的时间,并消耗资源占用,所以一般反病毒软件都设置了压缩文件嵌套层数和压缩比的大小。一般情况下,个人用户20层应该是足够了的。

http://bbs.kafan.cn/forum.php?mo ... ;page=2#pid20943717

脱壳能力强,有诸多的好处,比如说:
1、减少误报;很多病毒会加壳来躲避反病毒软件的侦测,但是加壳的文件并不等于病毒。一些反病毒软件由于无法准确识别打包器,所以往往会报壳;一些反病毒软件则是将一些病毒常用的打包器列入了病毒的范畴,作出了启发式的判断,即使利用这个打包器的文件中超过85%是病毒,但仍旧有15%是正常文件,会产生误报。
2、有助于彻底地扫描文件;正如2L网友和3L版主所描述的压缩文件嵌套层数,由于资源占用的问题,很多反病毒软件都设置了限制,这么做,有一个缺点,就是可能会使得隐藏很深的病毒遗漏。
3、有利于清除病毒,修复文件。

http://bbs.kafan.cn/forum.php?mo ... ;page=2#pid18969187
bbbxyoiil
发表于 2011-10-24 17:43:10 | 显示全部楼层
liningaigo 发表于 2011-10-24 11:15
上个世纪80年代末期,基于个人电脑病毒的诞生,随即就有了清除病毒的工具──反病毒软件。这一时期, ...

有这么强的,,厉害
xiaoicao886
发表于 2011-10-24 17:44:19 | 显示全部楼层
坐看楼上科普信息。
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-2-2 22:43 , Processed in 0.128134 second(s), 16 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表