Discuz!NT
欢迎 游客 , 注册 | 登录 | 会员 | 界面 | 简洁版本 | 在线 | 帮助
商都网教育宝典宝库

发表新主题 回复该主题
本主题被查看653次, 共1个帖子, 1页, 当前为第1页     选择页数: 1      跳转到第   上一主题   下一主题
标题: 守护者的绝招杀毒软件技术焦点全接触
-[尕硴]
超级版主
UID: 71
来自:
精华: 130
积分: 14003
帖子: 12909
注册: 2007-10-22 17:59:00
状态: 离线
威望: 444.00
金钱: 3355.00 元
只看楼主 2008-01-15 10:50
守护者的绝招杀毒软件技术焦点全接触
当生命的执着遇到死亡的力量,一定会碰撞出激烈的火花;当病毒的执着遇到杀毒软件的力量,也一定会出现备受争议的话题。当我们还没有真正认识到杀毒软件之于网络安全有多么重要的时候,它已经悄然成为了安全领域的焦点,连带着一些杀毒的技术也成为了网友津津乐道的话题,例如杀毒能力和病毒库的关系,例如启发式杀毒到底好在哪里。

  作为与用户的计算机同命运的安全软件,防病毒软件一直都受到人们的特别关注,其实在有关杀毒软件的能力问题的争论背后更多的是对杀毒技术的关注。

焦点话题一、杀毒软件引擎与病毒库的关系

  从理论上讲,病毒库与杀毒引擎没有直接的关系,杀毒引擎的任务非常简单,就是对指定的文件或者程序进行判断其是否合法。而病毒库,只不过是对杀毒引擎的一种补充,也就是说:“我们没有足够聪明的杀毒引擎来完成这个过程”,这里所提到的过程,就是杀毒引擎对文件或者程序的判断。

  看到这里,我们就明白了:好的杀毒软件,重要在引擎的优秀,病毒库只不过是补充,而且病毒库越大,杀毒的速度会随之降低,这是一个反比的关系。因为病毒库杀毒的过程,是引擎把判断能力交给病毒库,用病毒库与指定的文件进行对比判断。这就是为什么很多网友总是抱怨卡巴斯基全面扫描的速度总是那么慢,原因之一它有一个太过强大的病毒库,间接拉下了杀毒的速度。

焦点问题二、有关加壳、脱壳技术的种种

  什么是加壳?

  所谓加壳,是通过一系列数学运算,将可执行程序文件或动态链接库文件的编码进行改变(目前还有一些加壳软件可以压缩、加密驱动程序),以达到缩小文件体积或加密程序编码的目的。当被加壳的程序运行时,外壳程序先被执行,然后由这个外壳程序负责将用户原有的程序在内存中解压缩,并把控制权交还给脱壳后的真正程序。一切操作自动完成,用户不知道也无需知道壳程序是如何运行的。一般情况下,加壳程序和未加壳程序的运行结果是一样的。

  判断一个可执行文件是否被加壳的简单方法:用记事本打开一个可执行文件,如果能看到软件的提示信息则一般是未加壳的,如果完全是乱码,多半是已经被加壳了。

  病毒编写者为什么喜欢使用加壳技术?

  众所周知,目前大部分杀毒软件主要依靠特征码技术查杀病毒。由于加壳软件会对源文件进行压缩、变形,使加密前后的特征码完全不同。脱壳能力不强的杀毒软件,对付“加壳”后病毒就需要添加两条不同的特征记录。如果病毒编写者换一种加壳工具加壳,那么对于杀毒软件来说又是一种新的病毒,需要添加新的特征记录才能够查杀。

  应对“加壳”而生的技术—脱壳

  相对加壳而言,能够将加壳文件还愿成源文件的过程就是“脱壳”。脱壳主要有两种方法:硬脱壳和动态脱壳。 第一种,是硬脱壳,这是指找出加壳软件的加壳算法,写出逆向算法,就像压缩和解压缩一样。由于,目前很多“壳”均带有加密、变形的特点,每次加壳生成的代码都不一样。硬脱壳对此无能为力,但由于它比较容易实现,在技术名词上也容易混淆用户的视听,所以多被杀毒软件采用。

  目前,有一种脱壳方式是抓取(Dump)内存中的镜像,再重构成标准的执行文件。相比硬脱壳方法,这种脱壳方法对自行加密、变形的壳处理效果更好,使得加壳程序会在运行时自行脱掉“马甲”,因而叫做动态脱壳。

  而最新流行的技术是“虚拟机脱壳引擎(VUE)技术”。给病毒构建一个仿真环境,诱骗病毒自己脱掉“马甲”,最重要的是“虚拟环境”和用户的计算机隔离,病毒在虚拟机的操作不会对用户计算机有任何影响。这种技术已经成为近年来全球安全业界公认的、解决这一问题的最有效利器,现在非常火的杀毒软件McAfee的防毒能力为什么出色,基本上全是虚拟脱壳技术的功劳。
焦点问题三、启发式杀毒到底好在哪里   

  启发式杀毒是最近刚刚开始迅速发展的一种新的杀毒技术。在具体涉及到启发式杀毒技术前,先让我们了解一下什么是“启发式”:“自我发现的能力”或“运用某种方式或方法去判定事物的知识和技能”即可理解为启发式。

  病毒程序与正常的应用程序在启动时有很多区别,有些非常明显的区别可以被发现,例如:通常一个应用程序在最初的指令,是检查命令行输入有无参数项、清屏和保存原来屏幕显示等,而病毒程序则通常是最初的指令是直接写盘操作、解码指令,或搜索某路径下的可执行程序等相关操作指令序列。启发式代码扫描技术实际上就是把这种经验和知识运用到一个查杀病毒软件中的具体程序体现。

  一个运用启发式扫描技术的病毒检测软件,实际上就是以特定方式实现的动态高度器或反编译器,通过对有关指令序列的反编译逐步理解和确定其蕴藏的真正动机。上文提到过的McAfee,也是此技术的支持者之一。

  有人说,启发式杀毒代表着未来反病毒技术发展的必然趋势,因为它具备人工智能特点,向人们展示了一种通用且很少依赖升级的病毒检测技术和产品的可能性。有资料显示,目前全球排行前五名的杀毒软件都采用了这种方式。从来自不同机构和出处的评测结果来看,纯粹的启发式代码分析技术的应用(不借助任何事先的对于被测目标病毒样本的研究和了解),已能达到80%以上的病毒检出率, 而其误报率极易控制在0.1%之下,可见,“魔高一尺,道高一丈”已经离我们不远了。

总结:

  就好像“有人的地方就有江湖”,有杀毒软件的领域也一定会有争议,杀毒软件技术正在飞速地发展之中,不过无论采用了哪种技术,杀毒软件总是存在一定的瑕疵,对技术的了解只是让我们从另外一个方面了解杀毒软件的特点从而进行更好的选择。病毒在更新,杀毒技术也在进步,让我们期待有一天杀毒软件会成为病毒终结者。
#1  
发表新主题 回复该主题
本主题被查看653次, 共1个帖子, 1页, 当前为第1页     选择页数: 1      跳转到第







现在的时间是 2008-07-26 02:46:26

版权所有 商都网教育宝典
         Powered by Discuz!NT 1.0.6666    Copyright © 2001-2008 Comsenz Inc.
Processed in 0.064 seconds