巨集病毒 (Macro Virus):
巨集病毒是目前最熱門的話題, 它主要是利用軟體本身所提供的巨集能力來設計病毒, 所以凡是具有寫巨集能力的軟體都有巨集病毒存在的可能, 如Word, Excel, AmiPro都相繼傳出巨集病毒危害的事件, 在台灣最著名的例子正是Taiwan NO.1 Word巨集病毒。
開機型病毒 (Boot Strap Sector Virus):
開機型病毒是藏匿在磁碟片或硬碟的第一個磁區。因為DOS的架構設計, 使得病毒可以於每次開機時, 在作業系統還沒被載入之前就被載入到記憶體中, 這個特性使得病毒可以針對DOS的各類中斷 (Interrupt) 得到完全的控制, 並且擁有更大的能力去進行傳染與破壞。
檔案型病毒 (File Infector Virus):
檔案型病毒通常寄生在可執行檔(如 *.COM, *.EXE等)中。當這些檔案被執行時, 病毒的程式就跟著被執行。檔案型的病毒依傳染方式的不同, 又分成非常駐型以及常駐型兩種 :
(1) 非常駐型病毒(Non-memory Resident Virus) :
非常駐型病毒將自己寄生在 *.COM, *.EXE或是 *.SYS的檔案中。當這些中毒的程式被執行時,就會嘗試地去傳染給另一個或多個檔案。
(2) 常駐型病毒(Memory Resident Virus) :
常駐型病毒躲在記憶體中,其行為就好像是寄生在各類的低階功能一般(如 Interrupts),由於這個原因, 常駐型病毒往往對磁碟造成更大的傷害。一旦常駐型病毒進入了記憶體中, 只要執行檔被執行, 它就對其進行感染的動作, 其效果非常顯著。將它趕出記憶體的唯一方式就是冷開機(完全關掉電源之後再開機)。
複合型病毒 (Multi-Partite Virus):
複合型病毒兼具開機型病毒以及檔案型病毒的特性。它們可以傳染 *.COM, *.EXE 檔,也可以傳染磁碟的開機系統區(Boot Sector)。由於這個特性, 使得這種病毒具有相當程度的傳染力。一旦發病,其破壞的程度將會非常可觀! 例如:台灣曾經流行的大榔頭(Hammer),歐洲流行的Flip翻轉病毒皆是.
隱型飛機式病毒 (Stealth Virus):
隱型飛機式病毒又稱作中斷截取者(Interrupt Interceptors)。顧名思義, 它藉由控制DOS的中斷向量來讓DOS以及防毒軟體認為所有的檔案都是乾淨的。
千面人病毒 (Polymorphic/Mutation Virus):
千面人病毒可怕的地方, 在於每當它們繁殖一次, 就會以不同的病毒碼傳染到別的地方去。每一個中毒的檔案中, 所含的病毒碼都不一樣, 對於掃描固定病毒碼的防毒軟體來說,無疑是一個嚴重的考驗!如Whale病毒依附於.COM檔時,幾乎無法找到相同的病毒碼, 而Flip病毒則只有2 byte的共同病毒碼(好像戴面具只剩兩個眼睛露出來)。
第二代病毒是什麼?
第一代病毒(傳統型病毒)的共同特色, 就是一定有一個「寄主」程式, 所謂寄主程式就是指那些讓病毒窩藏的地方。最常見的就是一些可執行檔, 像是副檔名為.EXE及.COM的檔案。但是由於微軟的WORD愈來愈流行,且WORD所提供的巨集功能又很強, 使用WORD巨集寫出來的病毒也愈來愈多, 也因此副檔名為.DOC的也會成為寄主程式。尤其是這一年來, 巨集病毒可真的算是紅上半邊天, 只要提到Taiwan NO.1, 那可說是無人不知, 無人不曉。
也許你覺得像WORD這種文件檔都可以中毒,真是一件不可思議的事, 那麼, 第二代病毒的特性更會讓你合不攏嘴!相對於第一代病毒, 第二代病毒完全不需要寄主的程式, 如果硬要說它寄生在哪裡, 或許只能說它是寄生在「Internet」上吧。
說真的, 如果Internet上的網頁只是單純用HTML寫成的話, 那麼要傳播病毒的機會可說是非常小了。但是呢, 為了讓網頁看起來更生動, 更漂亮, 許多語言也紛紛出籠, 其中最有名的就屬JAVA和ActiveX了, 不幸的是, 這兩個語言都相繼地被有心人士「點召」,成為第二代病毒的溫床。JAVA和ActiveX的執行方式, 是把程式碼寫在網頁上, 當你連上這個網站時, 瀏覽器就把這些程式碼抓下來, 然後用使用者自己系統裡的資源去執行它。可是如此一來,使用者就會在神不知鬼不覺的狀態下,執行了一些來路不明的程式。
回歸到第一代病毒來看,病毒是寄生在「可執行的」程式碼中,伺機對系統進行破壞,因為病毒本身也就是一段「可執行的」程式碼而已。也因此, 在以往病毒都是存在於「可執行檔」中, 因為具有「可執行的」程式碼的檔案,就只有「可執行檔」。但是, 文件病毒的流行, 讓人對這個定義有了疑問, 而其實並不違背。因為所謂的文件病毒, 也只是利用文件中巨集寫成的, 而巨集本身也是「可執行的」程式碼, 當然也能成為病毒的溫床囉!現在再來看看所謂的第二代病毒, 它就是利用網頁編寫所用的JAVA或ActiveX這些語言。由這些語言可以寫出一些「可執行的」程式碼,而在使用者瀏覽網頁時, 一併下載下來在系統裡執行。既然JAVA或ActiveX可寫成一些「可執行的」程式碼, 那就沒什麼理由不能讓病毒藏身其中。