病毒只有在足够长的时间内不被检测到,以此赢得向其他计算机传播的时间,才能生存下来。为了提高病毒的生存机会,病毒程序员使用了各种手段。
5.2.1 感染方法
反病毒程序可以通过两种方式发现病毒。第一种,反病毒程序可以认出特定病毒的签名,签名就是内嵌在病毒中的具体指令,告诉病毒如何表现和行动。病毒的签名就像罪犯的指纹,每一个都是独特的,与众不同的。
反病毒程序的第二种方法是通过检测病毒的行为发现病毒。反病毒程序经常能通过在病毒试图感染其他文件或磁盘时捕捉此病毒,来检测到以前未知的病毒的存在。
为了躲过反病毒程序,很多病毒使用各种传播方法:
● 直接感染
● 快速感染
● 慢速感染
● 间或感染
● 常驻内存的感染
直接感染是指每次运行被感染的程序或打开被感染的文档时,病毒会感染磁盘,或一个、多个文件。如果既不运行被感染的程序,又不打开被感染的文件,那么病毒根本就不会传播。直接感染是感染计算机的最简单,但也是最引人注意的方法,反病毒程序能轻易地检测到。
快速感染是指病毒感染被感染的程序访问的每一个文件。例如,如果病毒感染了反病毒程序,就要当心了!受到感染的反病毒程序每次检查一个文件时,实际上会在证实该文件没有病毒之后,立即感染这个文件。
慢速感染是指病毒只感染新创建的文件或被合法程序修改的文件。病毒试图借此进一步伪装,不让反病毒程序检测到。
间或感染是指病毒从容不迫地感染文件。有时感染一个文件,有时不感染。通过慢慢感染计算机,减少了病毒被检测到的机会。
常驻内存的感染是指病毒驻留在计算机的内存中,每次运行程序或插入软盘时,病毒就会感染这个程序或软盘。常驻内存的感染是引导病毒传播的惟一方式。引导病毒永远不能通过网络或Internet传播,因为它们只能通过物理地在计算机中插入被感染的软盘进行传播,虽然它们仍可以感染连接到网络的单台计算机。
5.2.2 隐形
病毒通常会在感染时暴露踪迹。例如,文件感染病毒一般会改变所感染文件的大小、时间和日期标记。但是,使用隐形技术的文件感染病毒可以在感染程序时不修改程序的大小、时间和日期,因此仍是深藏不露。
引导病毒总是使用隐形技术。当计算机读取磁盘的引导扇区时,引导病毒快速地加载真正的引导扇区(引导病毒已经把真正的引导扇区隐藏到了磁盘上的另一个位置),然后隐藏在它后面。这就像您的父母打电话回家,看您是不是很乖,但您其实是在邻近的游泳池的大厅中用电话转接接的电话。在您父母看来,他们打了家里的电话,您接了电话。但实际上,他们的电话从您家里的电话机上转接到了游泳池大厅的电话上。引导病毒在使用隐形技术时就是利用这种误指来隐藏它们的行踪,不让计算机发现。
多数情况下,隐形技术能掩盖病毒的踪迹,避免用户察觉,但并不是每次都能骗得过反病毒程序。病毒还有保护自己不被反病毒程序检测的另一招,这就是多态性。
5.2.3 多态性
为了避免一旦感染同一个文件或引导扇区(并因而暴露踪迹),病毒就必须首先查看它们是否已经感染了这个文件或引导扇区,其办法就是寻找它们的签名,也就是一套组成该病毒的指令。自然,反病毒程序也能通过寻找这些签名发现病毒,但前提是以前捉到和检查过这种病毒。如果没有,反病毒程序永远也不会识别出病毒的签名。
如果犯罪分子每次作案时能修改指纹,追捕他们会更加艰难。这就是多态性的思想。
从理论上来说,多态性病毒在每次感染文件时都会修改签名,这意味着反病毒程序永远都不能找到它。然而,因为多态性病毒需要确保不再三感染同一个文件,它们仍然会留下一个小的、明显的签名,既然它们可以发现这个签名,反病毒程序自然也能。
5.2.4 反击者
最好的防守是有力的进攻。很多病毒不是被动地东躲西藏,而是主动出击,寻找反病毒程序决战。当您使用最喜欢的反病毒程序时,这些反击型的病毒或者修改反病毒程序,使它不能检测病毒,或者感染反病毒程序,使得反病毒程序实际上帮助了病毒的传播。在两种情况下,受到攻击的反病毒程序都会洋洋自得地显示:“在您的计算机上没有发现病毒”的信息,而与此同时,在您计算机上的病毒却欢天喜地的到处传播http://www.hack58.net/Article/60/64/2006/6642.htm