PE_Zerg

PE_Zerg利用 FSD(FileSystemDriver)方式長駐的電腦病毒,就在PE_CIH電腦病毒仍高居各家防毒軟體客戶反應的榜。

PE_Zerg利用 FSD(FileSystemDriver)方式長駐的電腦病毒,就在PE_CIH電腦病毒仍高居各家防毒軟體客戶反應的榜
首時,另外一隻更厲害的電腦病毒又出現了。這隻最近在各NEWS論壇討論極多的病毒就是PE_Zerg電腦病毒。據此病毒作
者所宣稱的,它不僅是PE_CIH電腦病毒長駐方式---利用SIDT指令取得IDT位址,的首位發現者,並創出比IFSMgr(檔案系
統管理員)更深一層的FSD(檔案系統驅動程式)的方式,來感染PE(Windows95/98執行檔)檔案,企圖避過防毒軟體的攔截。
電腦使用者需隨時注意各家防毒軟體發布的病毒警訊並經常上網更新掃毒程式及病毒碼。
[病毒的感染方式及特徵]
當一個被感染的。EXE在使用者的系統執行時,它會先檢查您的作業系統是否是Windows95/98。如果不是,可能是Wi
ndowsNT,它就只執行原來的程式而不作任何事。如果是,它就先利用SIDT指令來取得IDT的起始位址。並更改INT0(Divi
deOverflow)的位址成為病毒程式內部的位址,以達到由Ring-3應用程式轉換到Ring-0系統程式的目的。在病毒的INT0服
務程式中,它會先呼叫IFSMgr_GetHeap函式來取得系統記憶體分配的區域,再把病毒程式複製到系統記憶體區。 再呼叫
IFSMgrInstallSystemApiHook函式來取得IFSMgr的原先的服務程式的位址, 並設定最新的服務程式為病毒程式內部的程
式。再利用IFSMgr內部的函式把原先的FSD服務程式改為病毒程式內部的服務程式。以達到長駐及檔案處理優先控制權的
目的。這個電腦病毒程式的作者,最令人敬佩的就是他重新寫了一份屬於他自己的FSD檔案系統驅動程式。而不是像其它
的電腦病毒PE_CIH或是PE_ANXTY。POPPY。II直接利用IFSMgr的Ring0_FileIO的函式,來達成開檔、讀檔、寫檔、關檔的
動作。因為FSD屬於Windows95/98內部極深層的部份,不僅這方面的文獻或介紹極為罕見,而要作出這類高級的系統程式
需要相當強的電腦架構的知識,更要有即大的耐心才能忍受開發過程中電腦一次又一次的當機。
而當病毒取得Win95的FileIO的控制權時,每當Win95開啟任何一個檔案時,它會呼叫函式"UniToBCSPath" 來取得檔
案的路徑及檔案名稱,並檢查副檔名是否為"。EXE"?如果是,則把檔案的屬性設為"空屬性",然候讀進DOS檔頭的40h 位
元。並檢查檔頭是否為"MZ"及位址3Ch處所指的位址是否為"PE\0\0"?,如果是,它會讀進原先的 PE檔頭,並找到最後一
個節區的位置,並改變這個節區的屬性為可執行及可讀寫,再加上病毒程式的大小,並計算新的病毒程式進入點, 再把
病毒程式加到檔案的最後,即達到感染的目的。
這個病毒程式的作者號稱,在DOS模式下達到檔案大小,日期不變不稀奇,在Windows95/98下要達到這個目的就不簡
單了,這個電腦病毒程式是第一個。的確,如果你的電腦系統已經被這個病毒攻占了,則不管你是用DOS的 DIR指令,或
是檔案總管,或是其它的檔案管理工具軟體,看到的已被感染的程式檔案的大小,日期,內容,都是和原來相同的。 因
為當你查詢這個檔案時,長駐的病毒程式就會把真正的資料傳送給你,以達到欺騙(Stealth)的目的。只有當你用 DOS重
新開機時,才可以看出來原來的檔案已被感染,而且長度增加約3,850位元組。 而且如果你用系統的尋找功能去尋找這
些被感染的檔案的話,都會發現有"Zergv0。1Beta"的字串。
[病毒的破壞性]
實際上,這隻病毒程式並不會殺任何檔案,也不會造成任何的破壞, 作者的目的只是在證明他能夠寫出一隻技術如
此高深的電腦病毒程式,讓各家防毒軟體束手無策而已。但是,事實上因為這個電腦病毒程式如此特別, 使用到系統內
部許多未公開的函式,以致和系統不是完全相容。 在某些使用Windows95/98的機台上,都有遭感染後,系統出現亂碼或
是當機的現象。尤其是有安裝S-iceWindows95/98版的使用者,都發現有許多怪現象。
[如何得知我的電腦是否已被這個電腦病毒感染]
最簡單的方式是利用系統尋找檔案的功能。如果有找到任何的。EXE檔案中含有"Zergv0。1Beta"的字串, 尤其是用
e-mail傳送進來的PE格式的。EXE檔案或是由internet下載的。EXE檔案就表示你的電腦已經被這隻電腦病毒進入了。 如
果這個檔案曾經被執行過,則您的電腦被感染的機會就很大了。再者,或是你覺得電腦今天怪怪的, 以前都還好好的,
那你最好還是用DOS重開機或是由Windows模式進入純DOS模式。再用DOS版的字串尋找軟體,尋找是否有"Zergv0。1Beta"
字串在。EXE檔案中。如果有,那就表示你的電腦被這隻電腦病毒感染了。如果沒有,那你可以慶幸沒有遭受這隻電腦病
毒的侵襲。或是利用DEBUG工具程式或是二位元編輯程式來檢查副檔名是。EXE的檔案。 檢查它是否是MZ檔頭而且在位址
0x12即CheckSum的地方的值是不是0x530x44(SD),如果是那表示這個檔案已被感染了。
[如果檔案或電腦已被病毒感染,如何清除?]-選擇正版的防毒軟體
如果檔案已被感染,您可以利用DOS的DEBUG。EXE工具程式或是利用二位元檔案編輯程式來找到檔案中"6A009C60E80
00000"起,再加上位移0xD9B的地方,而且它就是原來檔案的MZ檔頭。而且它之前的6個位元組是"0x400x000x000x000x00
0x00"。前面的兩個位元組表示是待會要搬動的資料長度是0x0040個位元組。而其它的 4個位元組表示待會要搬回去的位
址是0x00000000。然後這個位址再加上0x40及0x06,即可看到"PE\0\0"。而且它之前的6個位元組是"0xF80x000x800x000
x000x00"。前面的兩個位元組表示是待會要搬動的資料長度是0x00F8個位元組。而其它的4個位元組表示待會要搬回去的
位址是0x00000080。
然後這個位址再加上0xF8及0x06,即可看到"。reloc"(在某些檔案可能是別的字串)。它存放的是各個檔案原來最後
一個節區的名字。它之前的6個位元組是"0x280x000x400x020x000x00"。 (在不同的檔案,最後一個節區的位址可能有所
不同)。前面的兩個位元組表示是待會要搬動的資料長度是0x0028個位元組。 而其它的4個位元組表示待會要搬回去的位
址是0x00000240。在把上述的三個資料區搬回去之後,再把檔案中 "6A009C60E8000000"起的所有資料砍掉,剩下的長度
就和原來的長度相同。如果你拿原來的檔案和清除完病毒之後的檔案作比較的話,或是用"FC/B"指令來作比較, 你會發
現清除之前和之後的PE節區的CheckSum資料不同。以及Relocation(重定址)的部份資料有所不同, 但這些並不影響原來
程式在Windows95/98下的執行。這樣,已經完成檔案清除的所有程式了。事實上,這些動作需要相當深厚的電腦知識,
以及豐富的電腦操作經驗。而且如果電腦中中毒的檔案相當多的話,清除起來將相當耗時且煩重。 不如選擇正版的防毒
軟體來幫你的電腦作自動掃毒,自動清毒的工作。
[結語]
隨著32位元電腦病毒的增加,再加上這些作者都把他們的原始程式碼公布在某些網站上, 無疑的,鼓勵了許多原本
只是好奇的使用者,變成是新的電腦病毒變種程式的作者。而且現在Windows95/98的使用者越來越多, 針對32位元做作
業系統的病毒程式也越來越多了。所以只要你是Win95,Win98,或WinNT的使用者都一定要小心這類病毒程式的侵襲。以
免硬碟資料被毀,再後悔就來不及了。所以採用正版的軟體,並選擇一套好的防毒軟體, 並且養成定期或定時掃描硬碟
的習慣,並且對於由E-mail傳進來的檔案,或是 Internet/BBS下載下來的檔案,必需先掃描無毒再使用的習慣,不僅可
以避免自己的電腦遭受病毒的感染,也可以防止病毒的流傳。

相關詞條

熱門詞條

聯絡我們