LINKS

 

 

[回首页]

文件型病毒与引导区型病毒工作的方式

文件型病毒与引导区型病毒工作的方式是完全不同的, 在各 种PC机病毒中, 文件型病毒占的数目最大,传播得广,采用的技巧 也多。 通过分析以下几个文件型病毒, 可以了解到这类病毒的一些 特性,从而体会到文件型病毒的工作原理以及相应的反病毒措施。


黑色星期五是个早在1987年秋天就被发现的老牌PC机病毒, 它流传最广, 变种很多,别名也多。除了它的多个变种之外,基于 它发展出来的其它病毒也最多。 这里列举的是黑色星期五的一些别名和一些变种: PLO,以色 列 (Israeli) , 十三号星期五, 俄罗斯,1813, 黑色窗口(Black Window) ,阿拉伯之星,希伯莱大学(Hebrew University),耶路撒 冷病毒(Jerusalem Virus) 。变种有: A 204, Anarkia,Bogota, Antiviru,Captain Trips,C zech,Get Password 1,Jerusalem B, C,D,E,JVT,Messina,Payday,Skism,Triple等。 黑色星期五病毒是一个内存驻留型的病毒, 其代码长度在 1808~1822字节之间。它感染COM型文件和EXE型文件, 一些变种 也感染.SYS、.BIN和.PIF文件以及覆盖文件。其突出特点是由于 编程上的漏洞,对EXE型的文件会发生反复感染的现象,即它对EXE 型被感染标志的判断不正确,对已被它感染的EXE型文件当做尚未 被感染的文件又进行感染。曾经发现的一个例子是, 一个原长度 为9KB多的EXE文件,被反复感染了40多次,被感染文件总长达到近 100KB。 当感染有黑色星期五病毒的文件运行时, 病毒就驻留在内存 中, 像TSR程序一样驻留在低端内存中,占1792字节。病毒程序截 取了时钟中断08H和DOS中断21H。 以后再运行的病毒文件若检测 到内存中已驻有与自身相同的黑色星期五病毒,就不再驻留了。 黑色星期五感染除了COMMAND. COM以外的所有COM型文件和 EXE型文件。病毒代码位于COM型文件的前部,而在EXE型文件中则 位于文件的后部。文件的创建时间和日期在被感染前后不发生变 化, 这是由于病毒使用了DOS中断的57H功能调用的原故。病毒还 截取了时钟中断08H, 病毒进入内存半小时之后,整个PC机的运行 速度会降低到原速率的十分之一左右, 并在屏幕的左下角开出一 个黑色的窗口。 在日期为13日,又正好是星期五时,内存中的黑色星期五病毒 当会删除每一个运行的可执行文件。这是很凶狠的破坏计算机内 软件资源的手段。 很多人都知道黑色星期五感染文件后, 会在文件的末尾放有 标志串“sUMsDos”,一些病毒检测程序也用此作为识别黑色星期 五病毒的标志。但是很多黑色星期五病毒的变种已将这个标志变 成各种各样的其它字符串。 检查黑色星期五病毒是否驻留内存的方法是检查中断向量表 中的8和21号中断向量段地址是否为同一地址,以及执行过的文件 是否被加长,特别是EXE型文件是否被反复加长。 由于黑色星期五病毒出现得很早, 许多查毒软件都可以检查 和清除文件的病毒代码。
--------------------------------------------------------------------------------
1575这种文件型病毒是于1991年1月被发现的。它感染COM型 和EXE型的所有文件,而且首先感染COMMAND.COM,当硬盘上的这个 系统文件被感染后,每次启动时病毒都随之进驻内存,因此具有极 强的感染能力。据报道它可能来自台湾。 当1575病毒进入内存后,它将自身搬移到640KB之内的高端内 存,使用的汇编指令是MOVSB。通过自行修改MCB内存控制块,1575 病毒就驻留在内存中, 这就是内存窃取技术,即不通过DOS调用就 自行修改内存的分配,以期达到躲避反病毒检查的效果。实际上, 现在很多反病毒的系统都已具备对付采用这种技术的手段, 这类 病毒已不再成为DOS的主要威胁了。 1575病毒截取了用户时钟中 断1CH和DOS中断21H,不仅当用户使用DOS的DIR命令时会感染一个 可执行文件, 用DOS的COPY命令时也会进行传染,但是在执行文件 时不进行传染。这是与许多文件型病毒不一样的地方。 1575病毒修改中断向量表, 因此用检查中断向量表的办法可 以看见是否有病毒已驻留在内存中。进行感染时, 病毒将其在内 存中的代码附加在被感染的COM型和EXE型文件的后部,COM型文件 的前12个字节在受到转存后被修改成病毒代码。与黑色星期五病 毒不一样,被感染的EXE型文件不会被反复感染。1575病毒的标志 字节是文件末尾的0CH,0AH两字节。 1575病毒感染的COM型文件在修复时可以完全恢复原文件长 度,因病毒代码是固定长度的。而被感染的EXE型文件则无法在清 除病毒时被恢复原文件长度, 这与黑色星期五病毒被清除出EX E 型文件的情况是不同的。这是因为1575病毒在感染前并不保存原 文件的长度, 而且其代码并不是紧挨着原文件的结尾处排放的。 病毒首先将原文件的长度增长到16的倍数, 再将自身代码追加到 原文件。这样在清除时就无法判断原始长度, 被修复的文件总是 带有1~15个字节的废字节。其它一些文件型病毒也有这种情况。 作为表现模块,1575病毒在屏幕上显示一条红头绿身体的毛 毛虫,边爬边吃,把屏幕上的显示字符进行搬动,一行一行地爬,直 到屏幕最下一行。病毒在这里利用了动态修改代码的办法, 发作 时把表现模块的第一句改成NOP指令, 否则改为IRET指令,不执行 后续指令直接返回。 1575病毒还采用了反跟踪措施,这在前面一节中已介绍过了。 现在已有几种1575病毒的变种了,如1591等。
--------------------------------------------------------------------------------
Flip病毒是于1990年中在前联邦德国被发现的, 据称是来自 瑞士。病毒代码长度为2343字节,感染COM型和EXE型文件,并且与 常规文件型病毒不一样的是,它感染硬盘的主引导扇区和DOS引导 扇区以及软盘的DOS引导扇区。因为它兼有两种病毒的特点,因而 破坏作用很大。 Flip病毒有好几种变种, 有的变种修改了原Flip病毒的代码 后, 不仅能从被感染的EXE型文件进行传染,而且还能从被感染的 COM型文件进行传染。 另一种变种能从被感染的硬盘主引导扇区 进行传染, 但还不能从被感染的软盘引导扇区进行Flip病毒的传 染。 这种病毒是驻留在内存高端的,占640KB可用RAM的2KB多。被 感染的文件类型还包括覆盖型文件。被感染的文件经常会发生文 件存储扇区的链接错误, 并因此受损坏。当被感染的硬盘有大于 32MB的分区时,有时会造成分区损伤,使该分区的总容量发生变化。 使用EGA或VGA显示器的PC机, 当从被病毒感染的硬盘上启动 时,若时间处于16∶00和16∶59之间时,会遇到屏幕显示内容发生 颠倒的情况。正由于此,Flip病毒又被称为“错乱”病毒。 为防范这类既感染文件又修改引导区的病毒, 反病毒系统就 应具备更全面的对抗措施,以防为主,不使病毒的破坏作用实现。
--------------------------------------------------------------------------------
Vienna病毒又叫维也纳DOS 62病毒, 也叫648病毒,是1988年 春天被发现的。因为它很短小,感染COM型文件,并且不驻留内存, 在文件型病毒中是被看成不驻留型病毒一类的。 当被Vienna感染的程序运行时,病毒代码首先得到执行,在当 前目录中或根据DOS的环境变量PATH指定的路径去搜索一个未被 感染的COM型文件进行感染。一旦完成感染,就转去执行原被感染 文件, 并随之结束而退出内存。这种传染方式很直接,比较隐蔽, 但传染效率较低。该病毒代码编程比较粗糙, 缺乏完善的错误处 理机制,因此当该病毒有时在传染不成功时,会引起系统死锁。 Vienna病毒长度只有648字节,这也是648病毒名称的来历。 Vienna病毒感染文件后,会将被感染文件的创建时间改为62s, 并以此作为标志字节,避免重复感染。这也是DOS 62名称的来历。 Vienna病毒还会毁坏被感染文件。当病毒传染时, 若当时系 统时间的秒位为8的倍数时,被感染文件的头5个字节被修改为JMP FFFF∶0000指令,且被覆盖的这五个字节不被保留,使之无法被修 复。可见这是个恶性病毒。 表3 3列出上述几种文件型病毒的一些特征,供分析比较。

(,2000-11-04)