一種在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.禁止「碎片物件」檔案及「指向文檔案的快捷方式」檔案。