Board logo

标题: 谈谈"启发式扫描技术"和"主动防御技术"的区别 [打印本页]

作者: calm_cs     时间: 2006-8-29 16:25    标题: 谈谈"启发式扫描技术"和"主动防御技术"的区别

最近由于再做这方面产品的可行性分析,满世界的找资料,借此把我的一些感受和广大的杀毒技术爱好者分享一下,希望大家都来参与讨论哈。
      启发式扫描技术和主动防御技术都是为了弥补被广泛应用的特征嘛扫面技术的局限性而提出来的。启发式很早提了出来,俄罗斯的杀毒软件厂商在这上面的技术处于领先的地位(随便说一句,卡巴 确实在它的产品里集成了主动防御的技术,可是我觉得它在这上面做秀的成分大于实际的成分,毕竟它是启发式扫描技术的领军人物,在它的产品里,主动防御技术只是一个辅助角色)。主动防御是最近才出现的一个十分热门的概念,很多的厂家都基于这个概念推出了自己的产品。这两种技术都是未来杀毒技术的发展方向。从它们的发展历史来看,由于启发式扫描技术的提出时间较早,已经发展了很长一段时间,而主动防御技术还处于发展的初期,所以光以它们现阶段产品的优劣来评论两种技术就有失公允。我对这些技术也是只看了一些这方面的资料,而非什么有多少深刻的讲解,所以我只好结合我对它们的了解来谈谈自己的感受。
       关于这两种技术的具体原理和实现方式大家可以分别去清华的BBS上和微点的网站上看看,我在这里只是用打比方的方式谈谈我对这两种技术的理解。
      首先来看看启发式原理的比方。最终用户好比是董事长,启发式杀毒系统好比是保安主任。现在董事长让保安主任来负责公司的安全问题。保安主任就想我怎么知道谁对公司有不良企图了。他从"黑客帝国"中得到起适,先将要考察的每个员工都弄睡着了,放到那个电脑虚拟的社会中去。他自己了就冲杯咖啡,像看电影一下看着每个员工在虚拟的公司里工作。当"电影"看完了,他也了解了这个员工的所有行为。他据此做出判断,某某某是个好同志。要是谁在虚拟的公司里做着诸如偷窃,泄密,挑拨离间得事,当这位破坏者还在洋洋得意的时候,保安确坐在电脑前大笑:“呵,孙子,老子先让你表演够,最后再来收拾你,小样儿”。就这样他便能完成董事长给他的任务。
      再来看看主动防御的比方。保安主任接受了任务后,他马上在公司的各个地方装了无数的摄像机监视器(估计董事上办公室他不敢去装,要是董事长和小蜜在办公室....被拍到就不好了啥 :)),搞了一套十分完善的监视系统来监视公司的每位员工的情况。好了经过一段时间的观察,对员工的情况也基本掌握了。有人要问为什么要经过一段时间的观察了,这很正常嘛,因为现在的人都不傻,都是用高科技犯罪的啥,手法隐秘,你把它的破坏行动分开来看都是正常行为,只有联系起来才好得出结论啥。于是保安主任把搞破坏的员工请了出来,准备好好教育一下。可人家满不在乎的说:“兄弟,别忙乎了,我要做的事都做完了,你要咱办就咋办嘛,老子不在乎。” 保安主任于是把这个情况告诉董事长,董事长把他一顿臭骂,“老子花钱养你有什么用,我们的重要信息被删除,资料被竞争对手掌握,你回去好好反省”。保安主任一想,“得,老子把规矩改一改,有谁值得怀疑得,先橹了再说,宁可错杀三千,不能放过一个啥”。好嘛,这样一来,隔三差五就有人被保安主任处理并报告给董事长。过了一段时间,董事长又火了,把保安主任找来,又是一顿臭骂,”你他妈的神经病是吧,我的公司成了内奸窝是吧,得,你看看我可不可疑,要不你把我也橹了得了 ....:)“。
       呵呵,上面的例子有点夸张哈,但是它也从一定程度上说明了我现在对两种技术的看法。启发式也有其自身的弱点,从上面的例子里来说,那就是搞这么一套系统花费太高,搞不好还需要进口。而且要是遇到厉害的间谍,比如(李若基微斯 那个档次的)通过一段时间的试探之后,知道了他所处的是一个虚拟的环境,到时候你笑他傻,他还笑你太天真了。
      讲了这么多,我就是想说,这两种技术都有很多需要改进的地方,都有许多需要完善之处。究竟谁能做得最好,成为以后业界的主流,那就要看各自的本事了。希望大家多多的讨论,俗话说,理不辨不明嘛。我希望论坛里的朋友都能信守一个原则: 我不同意你的观点,但我坚决捍卫你说话的权利。
作者: aidi     时间: 2006-8-29 17:29
非常佩服楼主对技术执著精神
  但感觉楼主还需要继续做更深入的测试,光是学习网站上的原理与材料还是不够的,因为正向楼主所说两种技术都处于发展阶段甚至是发展的初期,就像一所大学新开了一个专业一样,都是全新的知识与管理,不可能像那些已有数十年管理经验的专业,你所能查到的新专业只是其中的一部分跟多的都得像你一样还需要深入的测试;能够积累的只能是去实践;
  上面比喻中所说的启发式扫描技术更倾向于虚拟机,应该说没有体现出启发式的特点;启发式好比是无间道中的警方卧底,它可以根据自己在罪犯那里看到的那个档案袋、罪犯卧底那个敲拍子的动作给那个人加权,最终的权值之合高过了预先制定好的阀值,确定那个警察是可疑的,他的嫌疑是最大的,但他没有十足的证据证明这个人就是卧底,最终还是命丧在他的枪下;
  主动防御,靠的不只是那些监视系统所反映的画面,它是一位资深的保安主任,他有很多这方面的经验,可以自己判定一个人的好坏,不是等那个间谍做完了窃取的行为才去抓他,而是在他准备窃取时首先阻止他当前的行为,对于情结较轻的交与董事长处理,情节严重的直接移交到公安机关处理;
  两种技术都有各自的优点,都可以互相的借鉴,相信最终的反病毒技术不只是单一的,应该是多种技术的结合体,就像一个球队,有人做前锋也需要有人做门将,一个进攻一个防守,两者都强才是最好的球队。
作者: calm_cs     时间: 2006-8-29 17:40    标题: 谢谢二楼的朋友

二楼的朋友对启发式的实现原理的补充是很正确的,大家如果要深入了解可以去我提到的网站上(清华BBS)看看。我也会继续学习,欢迎大家来讨论,人者见人,智者见智了。呵呵,今天下班了,改天接着聊吧。
作者: zqrsc     时间: 2006-8-29 18:22
看起来两位很可能成为莫逆~
俺乐观其成~
明天继续啦~ 呵呵~

收工~收工~~
作者: FairLife     时间: 2006-8-29 18:42
"启发式扫描技术"我没体会。
楼主对"主动防御技术"的比方好像偏颇了。和“特征码”一样是监视,只不过一个是特征码,一个是行为特征。系统资源消耗我“想”差别不是很大。
特征扫描是看你的学历,行为扫描是看你的能力。嘿嘿。。。
作者: nasdaq     时间: 2006-8-29 20:08
首先,calm_cs的讲述非常精彩,具体而形象。另,对calm_cs朋友始终保持心平气和地与不同意见者进行讨论,表示尊敬和钦佩。呵呵,

按照calm_cs的描述,我对启发式的理解就是适合于全盘扫描杀毒,而不适合于用作实时监控。因为我觉得如果应用于实时监控,先把程序在虚拟机里过一遍,再实际运行,用户的体验恐怕只能是又卡又慢了。

呵呵,看了aidi的补充,我才知道我说的其实是虚拟机哈。

行为引擎,我觉得理论上的最佳情况应该是在小偷把手伸进口袋的一瞬间出手,人赃俱获,小偷被带走,事主也没有任何损失。当然为了提高安全度,实际操作的时候可能是在那一瞬间之前一点儿警察就出手了,因为绝不可以让事主出现任何的损失。显然行为引擎很适合应用于实时监控。

我个人认为,微点所说主动防御应该不是单独指一个行为引擎,而是指包含行为引擎的一整套信息安全解决方案。
作者: calm_cs     时间: 2006-8-30 16:35    标题: 神探不好做呀

下午来这里转了转,发现有一个用户抱怨微点的产品老是报有可疑行为发生。这也正是我对"光依靠"主动防御技术的杀毒产品的担心和质疑,也是为什么我强调在现阶段最好作为一块辅助杀毒工具推向市场的原因。如果没有其它杀毒技术的配合,光依靠主动防御技术,很容易发生类似“狼来了”的时间。这倒不是微点的技术不行,而是在这方面的产品都有这个通病。因为再真实的环境下,为了在病毒破坏之前采取措施就不得不进行“严打”嘛。而采用了虚拟机技术的启发式扫描的杀毒技术在这点上确更容易做到一种平衡,既不放过一个坏人也不冤枉一个好人。因为在虚拟的环境下随你怎么做都不能造成真实的危害。所以我尽可以让病毒尽情的表演,直到它狐狸尾巴露出来再动手。  呵呵,其实我也再想,不管是现实的世界还是IT世界,要做到一个神探都是很不容易的呀。
       最后我在补充一下,也许有的朋友还不轻松启发式扫描这种技术,简单说来,不1楼和2楼的内容看一下,基本可以了解它的概念了。这种技术和主动防御技术一样,是不需要特征码的。
作者: aidi     时间: 2006-8-30 17:13
    “误报”问题应该不只微点主动防御有,启发式扫描好像也存在而且多于主动防御;
    正如楼上所说,要想做到足够的安全,采取措施就不得不进行“严打”;但是随着主动防御技术的发展,这种误报的情况会越来越少的;
    虚拟机技术,目前水平应该也还不是能够达到很高,它所模拟的软件环境还是存在问题的,并不能够保证完全准确的,在系统资源占用方面也是一个缺陷;有些病毒只在特定的软件环境下才会被激活发作,在模拟的环境下只是正常的程序,而到了用户的系统中就开始做坏事了,这种情况还是防不胜防的;
    最安全的还是多种技术的结合!

[ Last edited by aidi on 2006-8-30 at 17:20 ]
作者: calm_cs     时间: 2006-8-30 17:50    标题: 非常同意aidi朋友的观点

十分同意aidi的观点,这位朋友关于当前虚拟机的问题说得很到位。感兴趣的朋友可以去清华的BBS上看看相关的详细资料,这里我大概讲一下吧,所谓的虚拟机并不是想VMware那样一个完整的虚拟机,而是一个简化的版本。如何做到执行效率与模拟的完整性的平衡,是当前虚拟机技术面临的一个最大的挑战。当前的许多病毒也针对杀毒引擎中的虚拟机技术的不完整性做了很多反虚拟机的处理,所以虚拟机技术也还有很多路要走。
     我与aidi朋友的观点的不同之处在于用上了虚拟机技术后,病毒由于没有真正的执行,无论它执行多久,都不能造成实际的危害。在这样的情况下,启发式扫描技术无疑会有更多的选择。在进一步说,我其实觉得启发式扫描技术和主动防御技术都差不多,都是靠规则办事。但是,由于启发式扫描技术是运行在可控的虚拟机上,有一种我的地盘我做主的感觉哈,它的自由度比架构在真实环境上的主动防御技术无疑要大得多。当然,天下没有免费的午餐,这种自由度是以执行效率换来的。
      所以我觉得,目前没有一种技术能够解决所有的问题。只有综合现有的各种技术,包括特征码扫描技术,才能为用户提供一种可靠的计算机安全解决方案。
      下班了,各位朋友,明天见哈。
作者: aidi     时间: 2006-8-31 10:35
换个角度考虑,calm_cs所担心的问题是真实环境中,病毒已经发作达到了破坏的目的,虽然被发现但已经是亡羊补牢了;这就是问题的关键所在,为什么微点官方一直强调微点随系统启动很重要,这就是在于微点强大的底层监控能力,“微点分布在操作系统的众多探针,动态监视所运行程序调用各种应用编程接口(api)的动作,自动分析程序动作之间的逻辑关系,自动判定程序行为的合法性,实现自动诊断新病毒,明确报告诊断结论”相信能达到这个底层技术的病毒是很少的,就连现在的杀毒软件也没有几个敢保证已经做到这个级别;就像前段时间的灰鸽子一样,开始时杀毒软件都发现不了,后来有了样本,提了特征却确又清除不了,为什么?因为权限不够,自身的启动没有病毒启动的级别高,微点当时是完全可以发现并清除鸽子的;所以主动防御完全可以监控到病毒的行为,在病毒真正对系统造成危害前彻底的清除病毒;
当然,没有一款安全软件可以说自己是万能的,所有的病毒都可以查杀的;病毒的技术也是在飞快的发展的,反病毒技术更需要进一步的更新完善,在相互的竞争中谋求生存;
作者: nasdaq     时间: 2006-8-31 13:15
呵呵,这个帖子比较热闹,把我别的帖子里的一个回复引过来,参加讨论

原帖在http://bbs.micropoint.com.cn/showthread.asp?tid=2140&fpage=1

懒得对本帖做调整了,大家凑活着领会精神吧

昨天参与了一个讨论贴后,我也在考虑技术大融合的问题。

借着楼主这个贴子,我谈谈我的想法。

我不太赞成,楼主说的主动激发应用程序,利用行为引擎进行“扫描式”的查杀。楼主的这个想法在技术上问题不大,正如楼主所说建一个批处理就能实现。但是实际实行的时候,查杀速度太慢了,试想一下,每一个程序都先运行然后判断查杀,效率太低了,除非很有必要(譬如做检测评测什么的),否则一般人是难以忍受这个杀毒速度的。

就像楼主说的,以后的发展方向应该是技术大融合,扫描用虚拟机,实时监控用行为引擎。但是说实话,执行起来应该是非常麻烦的,这两项技术都是前沿技术,现如今的企业受实力所限,只能暂且围绕一个课题做核心攻关。我觉得至少得过好几年才有可能出现两种技术大融合的优秀产品,这个产品才是真正的跨时代性产品,目前的一些探索只能说是前进了.5代吧。

还有个大环境的问题,目前大家都在研究基于NT5.0内核的产品(2000、XP、2003),而Vista马上就要上市了,按照以往经验分析,大约在2-3年左右将产生巨大的影响。想必Vista内核机制会有相当程度的变化,对于一般应用程序来说,没太大的影响,对于杀软这种嵌入底层的软件来说,麻烦应该是很大的。无论是虚拟机还是行为引擎都要做巨大的调整。这个巨大调整的工作量,将严重影响两种技术大融合产品的出现速度。

相对来说,我个人比较偏爱行为引擎,可能与我个人的情况有关吧。我对计算机技术有一定的了解,我很希望实时了解我的电脑在做什么,有异常情况的话,我希望可以第一时间做出处理和判断,而且我自信我有能力做出正确的处理和判断。我所缺少的就是一个实时报警实时报告异常的工具。客观地说,如果有一款能达到我上述要求的实时信息安全工具,我就真不会花若干个小时去扫描我200多G的数据们。呵呵,以前被迫花费时间去扫描硬盘,很大程度上是由于特征码型的实时监控,并不能真正意义上保卫我的系统安全,解决的方法只有被迫全盘扫描。

当然,我的情况比较特殊,应该算是一个特例,不具有普遍性。没有什么市场参考价值。譬如说,我也是一个信息安全爱好者,我从来就没有对静止躺在硬盘上的那些病毒样本担心过,因为我知道它们不会给我带来危害。但是,广大人民群众似乎不是这么想的,他们觉得硬盘上存在有未激活状态的病毒,也是一种威胁,他们表示很难接受。

对行为引擎很有兴趣,还有另外一个原因,我觉得以行为引擎为核心,配上个特种行为库,就是一台基于主机的入侵检测系统——HIDS,国内厂商目前卖的IDS都是基于网络的NIDS。HIDS不是不好,而是非常难搞,国外对咱们封锁。目前,我只听说北京理工大学出了HIDS产品,当然北理工的情况特殊,它有军方背景。

呵呵,扯到网络安全了哈,实事求是地讲,国内的整体信息安全技术水平并不理想,譬如说目前卖的硬件防火墙,基本上都是装有改造BSD系统的工控机,和咱们的普通电脑没什么不一样。真正的高级硬件防火墙是不用咱们电脑上用的那种x86CPU的,因为效率不高,国外的厂商的高级产品用得都是自己设计的专用CPU。在专用领域,通用CPU的效率必然是远低于专用CPU的。呵呵,专用CPU不是不好,也是很难搞阿。
作者: idea     时间: 2006-8-31 13:39
又是一个精彩的好帖啊~~
作者: dmland     时间: 2006-9-1 00:32


  Quote:
Originally posted by aidi at 2006-8-31 10:35:
换个角度考虑,calm_cs所担心的问题是真实环境中,病毒已经发作达到了破坏的目的,虽然被发现但已经是亡羊补牢了;这就是问题的关键所在,为什么微点官方一直强调微点随系统启动很重要,这就是在于微点强大的底层 ...

了解了,呵呵!更放心了,我可是只用微点一个啊,现在连墙都去掉了:P
作者: pjc1980     时间: 2006-9-1 07:03
昨天成功用微点把灰鸽子干掉了,爽
作者: playworm     时间: 2006-9-1 09:14
好贴好贴,学习了,长见识了,特别是12楼的朋友。
作者: calm_cs     时间: 2006-9-1 09:51    标题: 12楼的朋友说得很好哈

12楼的朋友说的不错,虚拟机结合启发式扫描最大的问题就是效率太忙了。在这点上,我是深有体会的。我用的还是正版的卡巴6.0,那个速度呀,真实名副其实的"卡",它对CPU的占用很高,因为在它的实时监控里和扫描里都用上了虚拟机技术。这也是为什么当前很多一流的杀毒软件如诺顿对虚拟机技术的应用范围很谨慎的一个重要原因。感觉俄罗斯人对技术的追求很狂热,而美国人更注重一个产品的综合性能,即强大的功能和效率的平衡问题。
       但是我们还是应该看到,虚拟机的技术在不断的进步,在杀毒领域已经从最初的概念进入了大规模的应用阶段。而且现在的硬件环境发展很快,我上个周末去市场上看了看,CPU最低的都差不多是3.4G(我现在的工作机才1.8G 汗),双核技术也开始普及开来,这一切都为以后的虚拟机发展,成熟奠定了坚实的硬件基础。前不久,Inter和AMD也发步一些新的CPU,在这些CPU的指令集里新增了很多对虚拟机技术的优化处理指令。所以,我的看法是虚拟机的效率会有一个大的提高,逐步满足人们对效率的需求。而主动防御技术有一些在我看来是致命的缺陷,有关这方面的资料,感兴趣的朋友可以去看看 主动防御不可完成的任务 这个帖子,上面讨论了不少技术问题,我认为有的还是很有道理的。
作者: nasdaq     时间: 2006-9-1 13:22


  Quote:
Originally posted by calm_cs at 2006-9-1 09:51:
12楼的朋友说的不错,虚拟机结合启发式扫描最大的问题就是效率太忙了。在这点上,我是深有体会的。我用的还是正版的卡巴6.0,那个速度呀,真实名副其实的"卡",它对CPU的占用很高,因为在它的实时监控里 ...

受教了,我一直用老版的卡巴做样本鉴定用,呵呵,刚知道卡巴连实时监控都用启发式了~!

关于双核的问题,我很您的看法比较一致。呵呵,双核对安全软件将是一个很好的平台。我粗浅的理解:一个核日常应用,一个核专职跑杀软可以极大地提高使用者的最终综合体验,像卡巴很卡这类问题将得到极大的改善。当然,您谈到的层次比较高,虚拟机指令优化,这个我不太懂开发的人,只是觉得是件挺牛逼的事情,但是不知道它牛逼在哪。
作者: 中国操作系统     时间: 2006-9-2 09:11
问一下楼主,如果一病毒或木马需接受特别的指令才能被激活,对于这种长期潜伏在电脑可能任何角落的东西“启发式扫描技术”的虚拟环境有用吗?




欢迎光临 微点交流论坛 (http://bbs.micropoint.com.cn/) bbs.micropoint.com.cn