正在阅读:矛和盾的游戏 小谈病毒免杀和安软原理矛和盾的游戏 小谈病毒免杀和安软原理

2013-08-01 15:36 出处:PConline原创 作者:Aimo 责任编辑:censi

安全软件的反病毒技术

  虽然安全软件诞生得很早,人们也足够重视这方面的技术,但是,因果律早已注定安软是属于被动的那一方,特别是杀毒软件,总是扮演着后知后觉的角色。从逻辑关系上来说,只有病毒出现了,安全软件才有一展身手的机会。在这个过程中,很明显安全软件处于滞后的位置。如何更有效地防御注定处于先手位置的病毒,是安全厂商们努力的方向。

病毒一般都是先出手的那方
病毒一般都是先出手的那方

  实际上,现在主流的安全软件都采取了多种多样的反病毒机制,同时用好几种技术来建立自己的安全体系,下面来简单介绍一下几种比较常见的反病毒手段。

  特征码查杀

  接触杀软年头比较久的朋友,应该还会有着在90年代的时候,对着电脑报上王江民先生发布的病毒特征码,一个个字符手工打入KV系列杀毒软件的回忆。转眼十数年的时光如江水奔流入海一去不复还,王江民先生也已经乘鹤西去,不禁令人一阵唏嘘。

国内的反病毒先驱——王江民先生
国内的反病毒先驱——王江民先生

  没错,特征码是杀软查杀病毒的主流方式,也是最远古的方式。计算机病毒归根到底是一段代码,杀软可以通过定义目标文件或者进程中是否存在病毒的特征代码,来判断计算机是否受到了病毒的威胁。

  我们继续把安全软件比作警察,病毒比作罪犯,用户的电脑比作城池。杀软的病毒特征库就相当于警察手中的通缉令,上面描述着罪犯的体征,如相貌、年龄、身形、口音等等。警察可以根据这张通缉令盘查城池及其附近的人口,发现罪犯后,如果罪犯在城外则阻止他进城,在城内则一枪爆头。

病毒特征库相当于通缉令
病毒特征库相当于通缉令

  这张通缉令通常是实时更新的,每天都会有很多新的罪犯被加入其中。上文提到的在KV系列杀毒软件中手工输入病毒特征码这种事情存在于很久之前的年代,那时候病毒数量只手可数,网络也不发达,病毒难以传播,手工输入特征码即可对付新病毒。现在的话,安全软件们都是通过联网定时更新特征库,有的先进的安软如avast还通过流式更新来实时更新特征库,对新病毒的反应更加及时。

  特征码查杀有着它的局限性。具体体现如下:

  一、特征码查杀具有滞后性。很明显只有在新病毒出现后,安全厂商们才会得到这个病毒的特征码。得到特征码之前,杀软对新病毒是无能为力的,只会一边报告着自己被关闭或者是系统一切安全,一边看着用户嘤嘤嘤地哭红了眼。

  二、特征码查杀针对对象有限。传统意义上的特征码和病毒是一一对应的,一个特征码只能侦测一种病毒。而病毒可以通过人工或者自动诞生出大量变种,在这种情况下,传统的特征码查杀力不从心。不仅如此,上文提到的加壳、加花、修改特征码的方法都能有效规避特征码查杀。化装过后的罪犯,警察只靠这么一张通缉令无法辨认,在新时代的严峻安全形势下,特征码查杀迎来了最艰巨的时刻。

  广谱特征码(基因码)查杀

  在广义上来说,基因码查杀也属于特征码查杀的一种,不过对特征码查杀进行了技术上的极大改良。

  基因码检测总结了某类病毒的特征,一个基因码既可对应一大票病毒。除此以外,基因码还能有效地对付变种病毒,一定程度上弥补了特征码查杀对未知病毒无可奈何的窘境。

听到“基因”两字就觉得高科技啊
听到“基因”两字就觉得高科技啊

  按照比喻,基因码查杀相当于改进了通缉令。警察不仅可以从相貌、年龄、身形、口音等外表特征辨认罪犯,还能通过虹膜、指纹、基因等更深入的元素去辨认罪犯。这样一来,罪犯靠伪装躲过追捕的概率就大大减少。

  基因码也有它的局限,具体如下:

  一、增加了误杀的概率。在银河系里,我们知道火星人都很喜欢偷东西,每年因为盗窃入狱的火星人数不胜数。于是,当我们发现地球上有人有着火星人血统的时候,是否应该把他关进小黑屋呢?很明显,这种地域论是不对的。同理,基因码查杀也容易将带有某些特征代码的正常软件判为威胁,一些正常软件会躺着中枪。

  二、对新型病毒的查杀仍然较弱。虽说基因码拥有了对变种病毒的查杀能力,但对于全新的病毒,还是没有用武之地。让它看过黑熊白熊,它能认出熊猫,但它仍然认不出企鹅。

看过白熊能认出熊猫,但认不出企鹅
看过白熊能认出熊猫,但认不出企鹅

  目前大部分杀软都使用了基因码技术,如avast、MSE等。值得一提的是MSE,很多人都说它查杀率低,理由是同一个病毒测试包,其他杀软能杀出几千个病毒,MSE可能只会扫出几百上千个。其实这和MSE对病毒数量的定义有关——同一个病毒的变种,无论存在多少个,MSE都只会把它们归为一个。总的来说,MSE还是十分可靠的——谁能比微软更了解Windows的代码呢?

键盘也能翻页,试试“← →”键

关注我们

最新资讯离线随时看 聊天吐槽赢奖品