网络安全 频道

精心打造个人PC安全设置

     【IT168 专稿】21世纪的今天,随着网络时代的发展,网民安全意识的提高,病毒一词已不是以前那么的神秘,那么面对今天这个病毒横飞、杀软无助的网络时代如何保护好自己的爱机呢?在这里我们首先来分析下病毒为什么会一而再再而三的躲过杀软和防火墙查杀的。

    病毒躲过杀软的秘密
    目前绝大多数杀软都是根据病毒特征码来查杀,何为特征码呢,也就是说病毒无论用任何语言编写,但运行的时候都会编译成计算机识别的汇编语言,杀软就是通过搜集其病毒的汇编特征码进行比较,如果软件的特征码在其病毒库中可以找到那么杀软就会识别为病毒,相反就是正常文件,因此也就是大家经常听到的某款杀软病毒库达到几十万、几百万的由来,这时聪明的你肯定会问,那么一个新型的病毒杀软岂不是查不到?答案是肯定的,这也就是为什么你电脑的杀软病毒库已经是最新还会中毒,杀软只会查杀已经横飞的病毒,对于新型病毒杀软是迟钝的。

    这时聪明的你又会问,杀毒软件病毒库中已经有的病毒为什么还是查不到。

    其一、如果病毒制造者为病毒加了一些另类的冷门壳,杀软就无能为力了,何为壳呢?

    在自然界中,我想大家对壳这东西应该都不会陌生了。自然界中植物用它来保护种子,动物用它来保护身体等等。同样,在一些计算机软件里也有一段专门负责保护软件不被非法修改或反编译的程序。它们一般都是先于程序运行,拿到控制权,然后完成它们保护软件的任务。就像动植物的壳一般都是在身体外面一样理所当然(但后来也出现了所谓的“壳中带籽”的壳)。由于这段程序和自然界的壳在功能上有很多相同的地方,基于命名的规则,大家就把这样的程序称为“壳”了。就像计算机病毒和自然界的病毒一样,其实都是命名上的方法罢了。 从功能上抽象,软件的壳和自然界中的壳相差无几。无非是保护、隐蔽壳内的东西。而从技术的角度出发,壳是一段执行于原始程序前的代码。原始程序的代码在加壳的过程中可能被压缩、加密……。当加壳后的文件执行时,壳-这段代码先于原始程序运行,他把压缩、加密后的代码还原成原始程序代码,然后再把执行权交还给原始代码。 软件的壳分为加密壳、压缩壳、伪装壳、多层壳等类,目的都是为了隐藏程序真正的OEP(入口点,防止被破解)。

    知道了这些,我们就会知道杀软为什么查不到他病毒库已有的病毒了,虽然杀软有托壳的能力但是对于一些比较冷门的壳,杀软无法脱掉,也就是无法得到病毒原始代码,因此就无法于病毒库中的特征码进行比较,所以杀软就会以正常软件让其病毒运行。

    其二、如果病毒制作者,通过修改软件特征码的位置仍然可以躲过杀软。通过以上大家知道杀软是通过特征码来进行查杀的,如果病毒制造者,通过某款软件把其病毒分成N份然后逐步运行与查杀,从而定位出杀软病毒库中的特征码是什么,然后相对于的利用 “nop”“jpm”等汇编语句进行修改特征码的位置同样可以隐藏特征码使杀软无法查到,这样也完全躲过了杀软的查杀。

    小结:杀软要有但不可依赖。

0