一种在Windows中被称作“碎片对象”(扩展名为“.SHS”)的文件可能正披着雪白的“羊皮”(文本文件“.txt”)悄悄地走近你(通过电子邮件附件),然后轻松破坏你的计算机系统。它之所以这样可怕,有三点主要原因:
1.该文件在Windows中的默认图标与记事本非常类似。
2.在Windows的默认状态下,“碎片对象”文件的扩展名(“.SHS”)是隐藏的,即使你在“资源管理器\工具\文件夹选项\查看”中设置成显示所有文件名的扩展名,“.SHS”也还是隐藏的,这是因为Windows支持双重扩展名,如“iloveyou.txt.shs”显示出来的名称永远是“iloveyou.txt”。
3.这种SHS附件病毒制造起来非常容易,半个小时就可以学会,也不需要编程知识(“Format c:”大家都敲得出来吧)。
下面我们就一起来看看这个“隐身杀手”的真正面目吧!
一、技术背景
早在1992年的Windows 3.1版本中,微软就引入了OLE(Object Linking and Embedding,对象链接与嵌入)技术。这项技术能在一个文件中链接或嵌入另一个文件,例如在写字板或Word中可以链接或嵌入另一个文本文件、图像文件或声音文件等。当我们在Word中嵌入一个Excel文时,在Word会出现一个Excel文件图标及文件名称,双击这个图标就可以调用Excel程序编辑该文件了,这项技术大大方便了文件的操作。
为了能将这种嵌入文件中的“对象”方便地(使用复制方式)从一个文件移入另一个文件(或者说被其它文件调用、与其它文件共享此“对象”),Windows使用了另一种技术Shell Scrap Object(简称SHS),它能将嵌入文件中的“对象”包装成一个“碎片对象”文件,以备复制到其它文件中。
二、实例
我们就来看看怎样创建一个格式化软盘的“碎片对象”文件。
1.创建一个只包含一个空格(为了减小文件体积)的文本文件,任意取名。
2.打开记事本,将此文件拖放入记事本。也可以点击记事本菜单栏中的“插入\对象”,弹出“插入对象”对话框,选中“从文件创建”,然后点击“浏览”按钮选择要插入的文件。
3.选中该插入对象的图标,选择菜单栏中的“编辑\包对象\编辑包”(如图1)。在弹出的“对象包装程序”对话框中,选择菜单栏中的“编辑\命令行”,然后输入如下命令:Format.com a: /autotest,点击“确定”,此时,内容栏中会显示出命令内容。
4.点击外观栏中的“插入图标”按钮,会弹出一个警告对话框,确认,然后任选一个图标。
5.选择菜单栏中的“编辑\卷标”,为此嵌入对象取一个名称(会替换原来的文件名称)。点击“文件”菜单中的“更新”,然后关闭此对话框。
6.将刚刚建立的嵌入对象拖放到桌面上。文件的默认名是“碎片”,现在我们把它改成“iloveyou.txt”。打开电子邮件程序将桌面上的“iloveyou.txt”作为附件发出,或者将含有嵌入对象(带有恶意命令)的文档作为附件发出。
7.当邮件接收者误将“iloveyou.txt.shs”文件作为“iloveyou.txt”(如前文所述,“.SHS”扩展名永远是隐藏的)放心地打开时,或打开文件,点击文件中的嵌入对象时触发恶意命令(弹出DOS运行窗口,执行格式化命令),假如此时有另一个程序正在访问软驱,则会显示如下信息“Drive A: is currently in use by another process. Aborting Format.”(A驱正被另一个程序访问,格式化中止)。
真的很简单,就这样一个恶意的攻击程序被弄出来了,太可怕了!
三、防治措施
1.在注册表编辑器[HEY_CLASSES_ROOT\ShellScrap]键下,有一个键值“NeverShowExt”,它是导致“.SHS”文件扩展名无法显示的“罪魁祸首”。删除这个键值,你就可以看到“.SHS”扩展名了。
2.更换“碎片对象”文件的默认图标。由于碎片对象文件的默认图标与文本文件图标非常相似,容易麻痹人,所以我们要更换它的图标。打开资源管理器,选中查看菜单下的“文件夹选框”,在弹出的对话框中选择“文件类型”活页卡,在“已注册的文件类型”下找到“碎片对象”。单击右上角“编辑”按钮,在打开的“编辑文件类型”对话框中单击上边的“更改图标”按钮。打开C:\WINDOWS\SYSTEM\Pifmgr.dll,从出现的图标中选一个作为.SHS文件的新图标(就选第一排最后一个吧,一颗炸弹!)。
四、类似的情况
另一种类似的情况是“指向文档的快捷方式”文件。病毒制造者可以建立指向文档中嵌入对象的快捷方式,点击这种快捷方式同样可以触发嵌入对象中的恶意命令!
“指向文档的快捷方式”文件的扩展名是“.SHB”,它同“.SHS”文件一样,扩展名是无条件隐藏的。控制隐藏“.SHB”扩展名的键值是:HKEY_CLASSES_ROOT\DocShortcut,删掉它!
五、更多防治手段
1.如果你在病毒扫描软件中设置成扫描指定程序文件,而不是所有文件,那么在指定程序文件中加入“.SHS”和“.SHB”文件。各种防病毒软件的设置大同小异(比较简单),这里略过。
2.禁止“碎片对象”文件及“指向文档的快捷方式”文件。