科技工作者之家
科技工作者之家APP是专注科技人才,知识分享与人才交流的服务平台。
科技工作者之家 2020-11-17
该病毒用公安部的KILL07.01和McAFee的SCAlNl7等查毒软件均不能发现,对该病毒进行了分析,发现该病毒很类似1099(Random-formatting)病毒。可以说是其一个变种,正因为如此,一些清毒软件将其误认为1099病毒,产生误动作,将染毒文件弄得无法恢复。
传染机理“1091”病毒1长度基数为443H(1091)字节,感染文件时附在文件尾部。它先于正常程序进人内存后,修改最后一个内存控制块MCB,使其减少6EH节(1760字节),然后驻留内存,地址从CS:0100开始。0054:0000开始的一段内存为病毒运行的数据区。用PCTOOLS看内存容量时,内存总量减少ZKB。病毒驻留内存后更改了下面的中断向量:
INT08H(时钟中断)为XXXX:016BH
INT09H(键盘中断)为XXXX:0113H
INT21H(DOS功能调用)为XXXX:01B0H
原来的中断向最分别保存在[0112-1015],[0116一0119],[011A一011D]病毒截留了DOS功能调用(INT21H)的36H号(查看磁盘剩余空间)子功能。每次只感染一个文件。被感染的文件增加的长度在1091-(1091+16)之间。该病毒同1099病毒一样,在内存中设置了一个计数器,位于CS:020EH处,初始值为FF-FAH。病毒利用键盘中断来控制该计数器的值,每发生一次键盘中断,计数器的值恢复为FFFAH,如果长时间(约一小时)不击键盘,计数器的值减至零,病毒发作。其现象为:
病毒通过对70H和71H号端口的操作,破坏由主板电池供电的CMOS中的数据,改系统日期为93年l月1日,硬盘容t为40M。
病毒调用13H(磁盘读写功能)号中断,用内存中的一些数据来搜盖硬盘的主引导记录(MBR)破坏硬盘的分区表,使硬盘数据表面上丢失,来一个不大不小的恶作剧。
该病毒采用了与1099病毒同样的加密方法和反跟踪措施(即异或加密和封锁键盘操作来反跟踪)。运行过程中动态解密,所以只能动态跟踪,无法静态分析。
病毒检测内存检查病毒程序判断自己是否已驻留内存时使用了下面的语句:
0054:0004 813E3E0583B4
CMP WORD PTR [053E],B483
(此时的DS值为0000)
0054:000A7475
JZ0081
(若相等则已驻留内存,转向0054:0081执行)利用这段程序可以判断内存中是否已驻留该病毒。
.com文件病毒感染.COM文件时,读取文件开头的11个字节到病毒体偏移为onH处保存。原文件CS:looH处的前几条指令被改为:
CS:0100 0E PUSH CS
CS:0101 8CC8 MOVAX, CS
CS:0103 05XXXX ADDAX.XXXX
CS:0106 50 PUSH AX
CS:0107 68 DB 68
CS:0108 0001 ADD [BX+DI],AL
CS:010A CB RETF
用DEBUG加载染毒的.COM文件执行到上面程序最后一句后可以看到下面程序:
CS:01002ECS:
(该指令位于病毒体偏移为0000处)
CS:01018C062A02MOV[022A],ES
CS:01050EPUSHCS
CS:01061F POPDS
CS:0107BgDA00MOVCX,00DA
CS:010ABE0903MOVS1.0309
CS:010D5ADB6A
CS:010E5E PUSPSP
这也可以用作判断.COM文件是否染毒的依据。
.exe文件病毒感染.EXE文件时,读取.EXE文件的文件头中重定位时所需,的有关值作如下处理:
IP--->[0123-0124]; CS--->[0125-0126]
SP--->[0121-0122]; SS--->[011F-0120]
病毒重新计算上述值,写人被感染文件。
用DEBUG加载染毒的。EXE文件时也可以看到上面的程序段,这些指令位于病毒开始的地方,其后的1091字节就是病毒的指令代码。这可以用作判断.EXE文件是否染毒的依据。
病毒消除.com文件只要用DEBUG把病毒体偏移为011FH处的n个字节写回原文件开始处,并把文件从尾部减去1091个字节,重新写回即可。
.exe文件把染毒文件改名为非.exe文件,然后用DEBUG把位于病毒休内偏移[011F-0120]、[0121-0122]、[0123-0124]、[0125-0126]处的数值填回文件头相应位置。重新计算文件长度等有关参数(参见所附的C语言程序),并把文件从尾部减去1091字节,重新写回,改回原文件名即可。
本词条内容贡献者为:
王慧维 - 副研究员 - 西南大学