查看: 5126|回复: 29
收起左侧

[已解决] 以Kaspersky官网的文章为基础来总结自己对这篇文章的认识

[复制链接]
The EQs
发表于 2007-2-16 16:42:06 | 显示全部楼层 |阅读模式
主动防御技术概论

    当代反病毒产品使用两种主要方法检测恶意程序码——以病毒码为基准的分析,与主动防御/探索式分析。第一种方法相当简单,将使用者电脑上的物件与已知病毒的范本(例如病毒码)作比较。此种技术牵涉到新型恶意程序的持续追踪,并根据其性质建档,包含于病毒码资料库中。因此,反病毒公司应拥有追踪及分析恶意程序码的有效服务(亦即反病毒实验室)。评估病毒码方法有效程度的主要标准,包括新威胁的回应时间、更新频率及检测率。

    以病毒码为基准的方法有几项明显的缺点。主要的缺点就是在应对新威胁上会出现延迟。病毒的出现与病毒码释出之间,必定存在有延迟时间。而当代的病毒可以在非常短的时间内感染数百万台电脑。

    因此,主动防御/探索式的病毒检测方法逐渐普及。主动防御方法不需要释出病毒码。相对的,反病毒程序会分析扫描到的物件程序码,及/或启动的应用程序行为,并根据预先设定的规则,判定软件是否为恶意软件。

    理论上,此种技术可用于检测未知的恶意程序,因此许多反病毒软件开发者争先恐后的宣传主动防御方法是对付新型恶意软件的万灵丹。但事实不然。如果要评估主动防御方法的有效程度,以及其是否可独立于以病毒码为基准的方法之外单独使用,我们必须先了解主动防御技术所根据的原理。

    主动防御可通过数种方法达成。在此我们将探讨其中两种最普遍的方式:启发式分析器与行为拦截工具。

启发式分析

    启发式分析器是分析物件程式码的程序,使用间接方式判定物件是否具有恶意。不同于以病毒码为基准的方法,启发式分析器可以检测出已知和未知的病毒(亦即在启发式分析器写成之后才问世的病毒)。

    分析器通常会先由扫描式码开始,寻找具备恶意程序特征的可疑属性(命令)。此方法称为静态分析。举例说明,许多恶意程序会搜寻执行档,然后开启找到的档案并加以修改,启发式分析器检视应用程序之程序码,并在找到可疑命令时增加该应用程序的可疑指数。若检查完全部程序码后的指数值超过预设的标准,该物件即归类为可疑物件。

    此方法的优势包括便于实施,以及具备高效能。然而,此方法对新型恶意程序码的检测率较低,而误判率也较高。

    因此,在目前的方病毒程序中,静态分析会与动态分析并用。此种综合型方法背后的概念,是让应用程序实际在使用者电脑上执行前,先在安全的虚拟环境(又称模拟缓冲区或“沙磐”中进行模拟。在厂商的行销资料中,亦称作“虚拟PC模拟”。

    动态启发式分析器会将应用程序的程序码部分复制到反病毒程序的模拟缓冲区中,并使用特别的“技巧”模拟其执行。若在此“模拟执行”中检测到可疑的动作,该物件将归类为恶意物件,且该物件在电脑上执行时将遭封锁。

    由于以动态方法为基准的分析须使用受到保护的虚拟环境,此方法因此比静态方法需要更多的系统资源,而应用程序在电脑上执行时,也将因为完成分析所需的时间量而造成若干延迟。然而,比起静态方法,动态方法提供较高的恶意软件检测率,误判率也比较低。

    反病毒产品使用启发式分析器已有相当的历史,因此,目前所有反病毒解决方案所采用的启发式分析器,或多或少都是为进阶的版本。

行为拦截工具

    行为拦截工具是在应用程序执行时分析其行为,并封锁任何危险活动的程序。不同于在模拟模式中追踪可疑动作的(动态)启发式分析器,行为拦截工具乃是在实际的环境中运作。

    第一代行为拦截工具并不太成熟。每当检测到潜在危险的动作时,使用者便收到提示,询问是否封锁该动作。虽然此种方法在许多场合中有效,但正常的程序有时也会执行“可疑”的动作(包括作业系统本身),而未必熟悉此类过程的使用者,常无法理解系统的提示。

    新一代的行为拦截工具分析的对象是一连串的作业,而非个别的动作,这代表在判定应用程序行为是否具危险性时,根据的是更加纯熟的分析。如此有助于大幅减少系统提示的出现次数,并增加检测恶意软件的可靠度。

    如今的行为拦截工具可监控系统中各式各样的事件。其主要目的在于控制危险的活动——亦即分析所有执行于系统中的处理程序行为,并将所有对档案系统与登录档作出变更行为资讯储存。若应用程序执行危险的动作,使用者会收到警示,指出处理程序带有的危险性。封锁工具亦可拦截任何企图将程序码注入其他处理程序的行为。此外,封锁工具可检测到Rootkit——此种程序会隐藏恶意程序码对档案、资料夹与注册机码的存取,并导致使用者无法发现程序、系统、服务、驱动程序与网络连线。

    行为拦截工具另一项特别值得一提的功能,便是其控制应用程序与Microsoft Windows系统登录档完整性的能力。就后者而言,封锁工具会监控针对注册机码所进行的变更,并可定义不同应用程序对注册机码的存取权限规则。因此便可在检测到系统中危险的活动,或甚至当未知的程序执行恶意活动后,恢复变更,借以还原系统至感染前的状态。

    不同于现代反病毒程序普遍使用的启发式分析器,行为拦截工具较为少见。包括于卡巴斯基实验室产品中的Proactive Defense Module(主动防御模块)便是有效的新时代行为拦截工具之其中一例。

    该模组包含上述所有功能,以及同样重要的,一套便利的系统,可通知使用者任何与检测到的可疑动作有关的危险性。任何行为封锁器都需要使用者某种程度的输入,因此使用者也必须具备相当之能力。实际上,使用者通常不具所需之知识,因此资讯支援(实际说来,应是决策支援)是任何当代反病毒解决方案皆不可或缺的一部分。

    总结上述的讨论,行为拦截工具可预防已知及未知(亦即封锁工具开发完毕以后才写成的)病毒扩散,这是此类防护方式毋庸置疑的优势。但另一方面,即使是新时代的行为拦截工具也有重要的缺点:部分正常程序的动作可能遭辨识为可疑动作。此外,决定应用程序是否具有恶意,尚需要使用者输入,这代表使用者必须具备足够的知识。

主动防御与软件的缺陷

    部分反病毒厂商在其广告与行销资料中声明,表示主动/探索防护是对新威胁的万灵丹,不需要更新,因此随时可以封锁攻击,甚至可以对付尚未存在的病毒,更甚者,在手册与资料单中,不但常把这类的宣称套用到利用已知弱点的威胁上,更包括了所谓的“零时差”攻击。换句话说,根据这些厂商所言,他们的主动防御技术甚至可以封锁利用应用程序中未知缺陷(尚未有修补档)的恶意程序码。

    不幸的是,这些宣传资料的作者若不是有意欺骗,便是根本还不了解此技术,具体而言,与恶意程序码对抗的战争可说是病毒写作者与自动化方法(主动防御/探索)间的战争。在实际生活中,则是人与人之间的战斗——病毒写作者对抗反病毒专家。

    上述之主动防御方法(启发式分析器与行为拦截工具)乃植基于恶意程序典型可疑动作相关的“知识”。然而,这套“知识”(亦即一组与行为有关的规则)原是反病毒专家借由分析已知病毒行为所取的,并输入程序中。然而,针对那些在规则开发完毕以后才问世的、使用全新方法渗透并感染计算机系统的恶意程序码而言,主动防御技术可说是无用武之地——这就是零时差危险的真相。此外,病毒写作者不断努力找出新方法,借以避开现存反病毒系统使用的行为规则,如此始终将导致主动防御方法的有效性大打折扣。

    反病毒开发者别无选择,只能更新他们的行为规则,并升级启发式分析器,以回应新威胁的崛起。比起病毒码(程序码范本)的更新频率,此类更新在频率上当然不会那样频繁,但仍需定期执行,随着新威胁的数量增加,这类更新的频率也将无可避免地随之上升。因而,主动防御将发展为病毒码方法的一系分支,只不过它所根据的并非程序码模式,而是“行为”。部分反病毒厂商向使用者隐瞒更新主动防御的需求,事实上就是在欺骗其企业与个人客户以及媒体。结果导致大众在主动防御技术的能力方面拥有不太正确的概念。

主动防御vs.病毒码方法

    尽管有其缺陷,主动防御式方法的确能在相关病毒码发行前检测到部分威胁。以反病毒解决方案针对称为Email-Worm.Win32.Nyxem.e (Nyxem)的蠕虫,所采取的回应之道为例。

    Nyxem蠕虫 (亦称 Blackmal、BlackWorm、MyWife、Kama Sutra、Grew 及 CME-24)可在使用者开启内含色情图片、色情网站或者档案连接(存于公开网络资源上)的电子邮件附件时渗透电脑。病毒只需极短时间便能删除硬盘中的资讯。影响所及的档案格式多达11种(包括Microsoft Word、Excel、PowerPoint、Access、Adobe Acrobat)。病毒会以无意义的字元组复写一切有用的资讯。Nyxem另外一项特征是只在每个月三号发作。

    Magdeburg大学的研究团队(AV-Test.org)所进行的一项独立研究,评估不同的开发者在Nyxem出现时的反应时间。结果有数种反病毒产品能在病毒码发行前,使用主动防御技术检测到蠕虫:


下面来说一下自己对这篇文章的认识和总结,这篇文章不同于一般的解释,牵扯到很专业的名词,首先,我们知道了主动防御分为启发式扫描器和行为拦截工具,而Kaspersky一直宣称的主动防御其实是行为拦截工具,而我们常常看到的nod32,antivir,vba32等就是属于启发式扫描器,由Kaspersky这篇文章来看,启发式扫描器又分为动态启发式和静态启发式两种,而nod32因为有更高的查杀未知病毒的效率和低误报,so是动态启发是肯定的,但是很多人说是动态+静态综合的,这个就无法考证了。。再说说启发式和行为拦截都有几个共同的地方,那就是都是用来防范未知病毒的,都是以病毒特征码为基础的技术,都会存在一定的误报。。。而Kaspersky这篇文章说的很详细了,而行为拦截工具也很类似我们现在看到的hips,选择阻止就能避免病毒的运行了,下面偶来说一下两种技术的缺点,启发式分析器的缺点很明显,查杀效率根本不可能达到100%,就目前而言,普遍都在60%~80%之间,而且是依赖于特征码的,so就看特征码的识别能力如何,并且误报是会存在的,相比来说动态启发比静态启发的误报更低是无庸置疑的,接着我们来分析一下行为拦截工具,行为拦截工具的缺点也很明显那就是遇到死马就完蛋了,因为行为拦截工具简单来说就是根据病毒的动作来判断的,so如果是死马,就不会有反应,而想完全用好行为拦截的话需要一定的知识,就是识别文件的能力,如果没有这个能力的话,用起来会觉得很烦人。。。。就目前的情况而言,个人更加看好启发式,毕竟启发式在不断的发展,而用行为拦截工具的厂商比较少,想要快速发展需要一定的时间。效果上启发式也更好一点,因为考虑到会碰上死马。。单就最好的查杀未知病毒而言,偶个人认为是需要特征码+行为拦截+启发式三者结合才能发挥到最佳,因为特征码是基础,没有特征码一个杀软就没有意义了,而如果遇到未知病毒的话,特征码就无效了,接着就轮到行为拦截工具上场了,但是是死马的话,行为拦截工具也无效,启发式最后上场。。经过这样的顺序的话,能通过这三种技术的病毒寥寥无几,不过要真的实现的话,很困难,要考虑到优先级并且查杀速度会变得更慢一些,毕竟要使用到这三种技术,就效果而言,绝对是最佳的,现在也有很多人说只要一个hips就够了,但是事实上光装hips而不装杀软还是不行的,因为hips也需要配合病毒特征码使用才能达到最佳,况且hips也不能取代现在的传统杀软,hips以后会是一种潮流,可以这样说,我们可以用启发式类的杀软+hips来抵御未知病毒,这样做比一个杀软实行特征码+行为拦截+启发式更为真实些,而且查杀速度也不会慢。。。当然具体还要看厂商以后的发展了

评分

参与人数 1经验 +3 收起 理由
曲中求 + 3 版区有你更精彩: )

查看全部评分

ly250094040
发表于 2007-2-16 16:44:04 | 显示全部楼层
对这种亡羊补牢的技术不感兴趣
The EQs
 楼主| 发表于 2007-2-16 16:45:41 | 显示全部楼层
原帖由 ly250094040 于 2007-2-16 16:44 发表
对这种亡羊补牢的技术不感兴趣

偶认为对于任何一个人来说,Kaspersky这篇文章都是非常具有价值的。。。因为这篇文章相比其他文章来说专业一些。。。。
jpzy
发表于 2007-2-16 16:54:30 | 显示全部楼层
楼上的技术文章似乎是翻译软件翻译的~!虽然大部分还算通顺,但是还是看起来怪怪的~!

HIPS软件是无法取代特征码扫描的~!不过两者的结合应该更有看头~!
启发式扫描,尤其是动态启发,看文章描述,类似于虚拟机脱壳技术~!不过我觉得启发式不如行为拦截~!对于一个文件,启发式也许会误报,行为拦截则会在其执行危险动作,尤其是在用户不知情的情况下执行的时候予以拦截,应该会降低误报,提高软件效率!
The EQs
 楼主| 发表于 2007-2-16 16:56:12 | 显示全部楼层
原帖由 jpzy 于 2007-2-16 16:54 发表
楼上的技术文章似乎是翻译软件翻译的~!虽然大部分还算通顺,但是还是看起来怪怪的~!

HIPS软件是无法取代特征码扫描的~!不过两者的结合应该更有看头~!
启发式扫描,尤其是动态启发,看文章描述,类似 ...

在现有的条件下,行为拦截也会误报的。。。如果你使用卡巴的话。。你就知道了。。。卡巴的行为拦截会误报不少正常文件的。。。
jpzy
发表于 2007-2-16 16:57:07 | 显示全部楼层
个人觉得,专家系统的引入可能会对行为拦截的发展起到很大作用~!
通过专家系统的学习,杀软可以智能的判断哪些操作危险系数较低可以放行,哪些危险系数较高,需要提示用户,哪些需要直接拦截~!
The EQs
 楼主| 发表于 2007-2-16 16:57:32 | 显示全部楼层
而启发式造成的误报是由于文件特征码和病毒特征码比较像。。。。而启发式判断文件是否是病毒是有一个比例的。。。这个比例没有厂商会透露的。。。
jpzy
发表于 2007-2-16 16:58:18 | 显示全部楼层
原帖由 EQ2 于 2007-2-16 16:56 发表

在现有的条件下,行为拦截也会误报的。。。如果你使用卡巴的话。。你就知道了。。。卡巴的行为拦截会误报不少正常文件的。。。

呵呵,技术不成熟吗~!启发的误报也很高啊~!
对于一些比较懂电脑的人来说,这种报告可以轻松的进行判断的!
The EQs
 楼主| 发表于 2007-2-16 16:58:51 | 显示全部楼层
原帖由 jpzy 于 2007-2-16 16:57 发表
个人觉得,专家系统的引入可能会对行为拦截的发展起到很大作用~!
通过专家系统的学习,杀软可以智能的判断哪些操作危险系数较低可以放行,哪些危险系数较高,需要提示用户,哪些需要直接拦截~!

偶其实认为由反病毒厂商每隔一段时候更新一次智能系统的话。。那么这样会更好的。。。。
The EQs
 楼主| 发表于 2007-2-16 17:00:09 | 显示全部楼层
原帖由 jpzy 于 2007-2-16 16:58 发表

呵呵,技术不成熟吗~!启发的误报也很高啊~!
对于一些比较懂电脑的人来说,这种报告可以轻松的进行判断的!

要看是静态启发还是动态启发。。就nod32而言。。。其误报率还是控制的很好的。。。
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

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

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2024-5-2 09:24 , Processed in 0.128753 second(s), 18 queries .

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

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