查看: 1746|回复: 5
收起左侧

[资讯] 前摄性病毒防御 杀毒软件技术看点新主流

[复制链接]
傻猪猪米走鸡
发表于 2008-4-18 16:54:13 | 显示全部楼层 |阅读模式
80年代末期,基于个人电脑病毒的诞生,随即就有了清除病毒的工具──反病毒软件。这一时期,病毒所使用的技术还比较简单,从而检测相对容易,最广泛使用的就是特征码匹配的方法。然而为了躲避杀毒软件的查杀,病毒开始了进化,逐渐演变为变形的形式,每感染一次,就对自身变一次形,通过对自身的变形来躲避查杀。
这样一来,同一种病毒的变种病毒大量增加,杀毒软件单纯依靠病毒库和特征码技术已经不能适应如今的网络安全。于是,便出现了广谱特征码的概念,这个技术在一段时间内,对于处理某些变形的病毒提供了一种方法,但是也使误报率大大增加,所以采用广谱特征码的技术目前也不能有效的对新病毒和未知病毒进行查杀,那么,现如今种类繁多的杀毒软件都有哪些新技术和新特征来适应当前的病毒威胁,又是如何实现的呢?

主动防御技术
由于传统的基于病毒库扫描的反病毒软件都是很被动的,只能在新病毒出现之后才能有应付措施,一个病毒制造者所编写的病毒很有可能在被杀毒软件厂商截获并添加到产品病毒库之前进入用户电脑。此时,由于该病毒的特征码还未添加到杀毒软件病毒库中,杀毒软件会将病毒认为是正常文件而放过,使得用户电脑被病毒所感染。因此,业界将能够主动检测和拦截未知威胁的防御方法称为“主动防御”。
杀毒软件具有滞后性,这是业界公认的一个杀毒软件弊端,而主动防御却很好的解决了这个问题。主动防御技术主要是针对未知病毒提出来的病毒防杀技术,在没有病毒样本的情况下,对病毒进行全面而有效的全面防护,阻止病毒的运作,从技术层面上有效应对未知病毒的肆虐,一是在未知病毒和未知程序方面,通过“行为判断”技术识别大部分未被截获的未知病毒和变种。另一方面,通过对漏洞攻击行为进行监测,这样可防止病毒利用系统漏洞对其它计算机进行攻击,从而阻止病毒的爆发。
然而由于主动防御概念,各厂商技术水平不同,其效果悬殊也较大,最显著的弊端就是常常出现大量的误报或误杀,或是将行为监控和病毒特征码监测结合的方式等同于主动防御,虽然病毒运行时其行为监控有警报提示,但就算用户选择“拒绝”操作也无法阻止病毒的运行。在《c′t》杂志对全球17款主要杀毒软件进行了测试中表明,在新病毒查杀方面,杀毒软件的平均检测率只有20%~30%,甚至低于去年的40%~50%。相比之下,只有ESETNOD32和BitDefender表现较好,查杀率分别为68%和41%。值得一提的是, ESETNOD32采用世界领先的高级启发式ThreatSense®引擎,可同时支持基因码,虚拟机,以及代码分析这三种启发式防毒技术,在查杀大部分未知病毒的同时只产生了极少的误报,为业界最低,因此ESET NOD32的ThreatSense技术被公认为主动防御技术成熟和稳定的集大成者。

启发式查毒技术
说到主动防御,不得不提起启发式查毒技术,启发式查毒技术属于主动防御的一种,是当前对付未知病毒的主要手段,从工作原理上可分为静态启发和动态启发两种。
启发式指 “自我发现的能力”或“运用某种方式或方法去判定事物的知识和技能”,是杀毒软件能够分析文件代码的逻辑结构是否含有恶意程序特征,或者通过在一个虚拟的安全环境中前摄性的执行代码来判断其是否有恶意行为。在业界前者被称为静态代码分析,后者被成为动态虚拟机。
静态启发技术指的是在静止状态下通过病毒的典型指令特征识别病毒的方法,是对传统特征码扫描的一种补充。由于病毒程序与正常的应用程序在启动时有很多区别,通常一个应用程序在最初的指令,是检查命令行输入有无参数项、清屏和保存原来屏幕显示等,而病毒程序则通常是最初的指令是直接写盘操作、解码指令,或搜索某路径下的可执行程序等相关操作指令序列。静态启发式就是通过简单的反编译,在不运行病毒程序的情况下,核对病毒头静态指令从而确定病毒的一种技术。
而相比静态启发技术,动态启发技术要复杂和先进很多。动态启发式通过杀软内置的虚拟机技术,给病毒构建一个仿真的运行环境,诱使病毒在杀软的模拟缓冲区中运行,如运行过程中检测到可疑的动作,则判定为危险程序并进行拦截。这种方法更有助于识别未知病毒,对加壳病毒依然有效,但如果控制得不好,会出现较多误报的情况。动态启发因为考虑资源占用的问题,因此目前只能使用比较保守的虚拟机技术。尽管如此,由于动态启发式判断技术具有许多不可替代的优势,因此仍然是目前检测未知病毒最有效、最可靠的方法之一,并在各大杀软产品中得到了广泛的应用。
由于诸多传统技术无法企及的强大优势,必将得到普遍的应用和迅速的发展。纯粹的启发式代码分析技术的应用(不借助任何事先的对于被测目标病毒样本的研究和了解),已能达到80%以上的病毒检出率,而其误报率极易控制在0.1%之下,这对于仅仅使用传统的基于对已知病毒的研究而抽取“特征字串”的特征扫描技术的查毒软件来说,是不可想象的,启发式杀毒技术代表着未来反病毒技术发展的必然趋势,具备某种人工智能特点的反毒技术,向我们展示了一种通用的、不依赖于升级的病毒检测技术和产品的可能性。 作为启发式杀毒软件的代表产品ESETNOD32,以其完善的启发式引擎ThreatSense,超过68%的未知病毒检测率以及低于0.1%的误报率闻名遐迩。成为业界的最高水准,同时也被冠以“启发之王”的美誉。
咖啡反病毒
发表于 2008-4-18 17:01:15 | 显示全部楼层
顶!我只想说在未来安全软件的杀毒理念是:启发式查毒技术。防毒理念是:主动防御
diaojf
发表于 2008-4-18 18:15:30 | 显示全部楼层

杀毒软件中主动防御新技术全面介绍

http://www.hacker.com.cn/ 2007-7-29 黑客防线

《黑客防线》技术文章
好的杀毒软件,重要在引擎的优秀,病毒库越大,杀毒速度肯定会降低。因为病毒库杀毒的过程,是引擎把判断能力交给病毒库,用病毒库与指定的文件进行对比判断。

  一、杀毒软件引擎与病毒库的关系

  其实病毒库与杀毒引擎没有直接的关系,杀毒引擎的任务和功能非常简单,就是对指定的文件或者程序进行判断其是否合法。而病毒库,只不过是对杀毒引擎的一种补充,那个过程,就是杀毒引擎对文件或者程序判断。明白这一点,就应该知道,好的杀毒软件,重要在引擎的优秀,病毒库越大,杀毒速度肯定会降低。因为病毒库杀毒的过程,是引擎把判断能力交给病毒库,用病毒库与指定的文件进行对比判断。

  二、加壳、脱壳

  1.什么是加壳

  所谓加壳,是一种通过一系列数学运算,将可执行程序文件或动态链接库文件的编码进行改变(目前还有一些加壳软件可以压缩、加密驱动程序),以达到缩小文件体积或加密程序编码的目的。

  当被加壳的程序运行时,外壳程序先被执行,然后由这个外壳程序负责将用户原有的程序在内存中解压缩,并把控制权交还给脱壳后的真正程序。一切操作自动完成,用户不知道也无需知道壳程序是如何运行的。一般情况下,加壳程序和未加壳程序的运行结果是一样的。

  如何判断一个可执行文件是否被加了壳呢?有一个简单的方法(对中文软件效果较明显)。用记事本打开一个可执行文件,如果能看到软件的提示信息则一般是未加壳的,如果完全是乱码,则多半是被加壳的。

  为什么黑客能够利用加壳技术来对抗反病毒软件呢?众所周知,目前杀毒软件主要依靠特征码技术查杀病毒。由于加壳软件会对源文件进行压缩、变形,使加密前后的特征码完全不同。

  脱壳能力不强的杀毒软件,对付“加壳”后病毒就需要添加两条不同的特征记录。如果黑客换一种加壳工具加壳,则对于这些杀毒软件来说又是一种新的病毒,必须添加新的特征记录才能够查杀。如果杀毒软件的脱壳能力较强,则可以先将病毒文件脱壳,再进行查杀,这样只需要一条记录就可以对这些病毒通杀,不仅减小杀毒软件对系统资源的占用,同时大大提升了其查杀病毒的能力。

  2. 脱壳

  马甲”能穿也能脱。相应的,有加壳也一定会有解壳(也叫脱壳)。脱壳主要有两种方法:硬脱壳和动态脱壳。

  第一种,是硬脱壳,这是指找出加壳软件的加壳算法,写出逆向算法,就像压缩和解压缩一样。由于,目前很多“壳”均带有加密、变形的特点,每次加壳生成的代码都不一样。硬脱壳对此无能为力,但由于其技术门槛较低,仍然被一些杀毒软件所使用。

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

三、虚拟机脱壳引擎(VUE)技术

  对于病毒,如果让其运行,则用户计算机就会被病毒感染。因此,一种新的思路被提出,即给病毒构造一个仿真的环境,诱骗病毒自己脱掉“马甲”。并且“虚拟环境”和用户的计算机隔离,病毒在虚拟机的操作不会对用户计算机有任何的影响。

  “虚拟机脱壳”技术已经成为近年来全球安全业界公认的、解决这一问题的最有效利器。但由于编写虚拟机系统需要解决虚拟cpu、虚拟周边硬件设备、虚拟驱动程序等多个方面的困难。

  四、启发式杀毒

  病毒和正常程序的区别可以体现在许多方面,比较常见的如:通常一个应用程序在最初的指令,是检查命令行输入有无参数项、清屏和保存原来屏幕显示等,而病毒程序则没有会这样做的,通常它最初的指令是直接写盘操作、解码指令,或搜索某路径下的可执行程序等相关操作指令序列。这些显著的不同之处,一个熟练的程序员在调试状态下只需一瞥便可一目了然。启发式代码扫描技术实际上就是把这种经验和知识移植到一个查病毒软件中的具体程序体现。

  启发式指的“自我发现的能力”或“运用某种方式或方法去判定事物的知识和技能。”一个运用启发式扫描技术的病毒检测软件,实际上就是以特定方式实现的动态高度器或反编译器,通过对有关指令序列的反编译逐步理解和确定其蕴藏的真正动机。例如,如果一段程序以如下序列开始:MOV AH ,5/INT,13h,即调用格式化盘操作的BIOS指令功能,那么这段程序就高度可疑值得引起警觉,尤其是假如这段指令之前不存在取得命令行关于执行的参数选项,又没有要求用户交互性输入继续进行的操作指令时,就可以有把握地认为这是一个病毒或恶意破坏的程序。

  启发式杀毒代表着未来反病毒技术发展的必然趋势,具备某种人工智能特点的反毒技术,向我们展示了一种通用的、不需升级(较省需要升级或不依赖于升级)的病毒检测技术和产品的可能性。由于诸多传统技术无法企及的强大优势,必将得到普遍的应用和迅速的发展。纯粹的启发式代码分析技术的应用(不借助任何事先的对于被测目标病毒样本的研究和了解),已能达到80%以上的病毒检出率, 而其误报率极易控制在0.1%之下,这对于仅仅使用传统的基于对已知病毒的研究而抽取“特征字串”的特征扫描技术的查毒软件来说,是不可想象的,一次质的飞跃。在新病毒,新变种层出不穷,病毒数量不断激增的今天,这种新技术的产生和应用更具有特殊的重要意义。

  五、主动防御技术的概念

  主动防御技术这是目前炒得比较热的一个概念。从概念上来讲,是指对未知病毒的防范,在没有获得病毒样本之前阻止病毒的运作。目前主动防御技术主要是针对未知病毒提出来的病毒防杀技术。 也就是有些人所说的:通过病毒的行为特征来判别其是否为病毒并进行处理。病毒行为阻断技术通过提取计算机病毒的共性特征,如修改注册表、自我复制、不断连接网络等,综合这些病毒行为特征来判断其是否为病毒。

  江民防病毒专家称,主动防御核心技术有“虚拟机技术”“病毒行为阻断技术”等。虚拟机技术用软件虚拟CPU环境,激活病毒,判断其是否是病毒并清除。

  瑞星病毒专家称,“主动防御”一是在未知病毒和未知程序方面,通过“行为判断”技术识别大部分未被截获的未知病毒和变种。另一方面,通过对漏洞攻击行为进行监测,这样可防止病毒利用系统漏洞对其它计算机进行攻击,从而阻止病毒的爆发。
luyou006
发表于 2008-4-18 22:58:44 | 显示全部楼层
学习一下。o(∩_∩)o...。。。o(∩_∩)o...
sanhu35
发表于 2008-4-18 23:21:05 | 显示全部楼层
不错 学习了
lingbo110120
发表于 2008-4-19 00:52:56 | 显示全部楼层
文章不错哈
】呵呵
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

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

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2024-11-25 21:52 , Processed in 0.131465 second(s), 17 queries .

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

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