防毒軟體常使用的病毒測試技術
- 病毒碼掃描法 將新發現的病毒加以分析後, 根據其特徵,
編成病毒碼, 加入資料庫中。以後每當執行掃毒程式時, 便能立刻掃描程式檔案, 並作病毒碼比對, 即能偵測到是否有病毒。病毒碼掃描法又快又有效率(
例如趨勢科技的PC-cillin及Server Protect, 利用深層掃描技術, 在即時掃瞄各個或大或小的檔案時,平均只需1/20秒的時間),
大多數防毒軟體均採用這種方式, 但其缺點是無法偵測到未知的新病毒及以變種病毒
- 加總比對法 (Check-sum) 根據每個程式的檔案名稱、大小、時間、日期及內容, 加總為一個檢查碼,
再將檢查碼附於程式的後面, 或是將所有檢查碼放在同一個資料庫中, 再利用此Check-sum系統, 追蹤並記錄每個程式的檢查碼是否遭更改,
以判斷是否中毒。一個很簡單的例子就是, 當您把車停下來之後, 將里程表的數字寫下來。那麼下次您再開車時, 只要比對一下里程表的數字, 那麼您就可以斷定是否有人偷開了您的車子。這種技術可偵測到各式的病毒,
但最大的缺點就是誤判斷高, 且無法確認是哪種病毒感染的。對於隱形飛機式病毒, 亦無法偵測到
- 人工智慧陷阱(Rule-based) 人工智慧陷阱是一種監測電腦行為的常駐式掃描技術。它將所有病毒所產生的行為歸納起來,
一旦發現記憶體的程式有任何不當的行為, 系統就會有所警覺, 並告知使用。這種技術的優點是執行速度快、手續簡便, 且可以偵測到各式病毒;其缺點就是程式設計難,
且不容易考慮週全。不過在這千變萬化的病毒世界中, 人工智慧陷阱掃描技術是一個至少具有保全功能的新觀點。目前趨勢科技的PC-cillin,
就對病毒的可疑行為設下了將近12道的陷阱, 以達到預防重於治療的目標
- 軟體模擬掃描法 軟體模擬技術專門用來對付千面人病毒(Polymorphic /MutationVirus)。千面人病毒在每次傳染時,
都以不同的隨機亂數加密於每個中毒的檔案中, 傳統病毒碼比對的方式根本就無法找到這種病毒。軟體模擬技術則是成功地模擬CPU執行, 在其設計的DOS虛擬機器(Virtual
Machine)下假執行病毒的變體引擎解碼程式, 安全並確實地將多型體病毒解開,使其顯露原本的面目, 再加以掃描
- VICE(Virus Instruction Code Emulation) - 先知掃描法 VICE先知掃描技術是繼軟體模擬後的一大技術上突破。既然軟體模擬可以建立一個保護模式下的DOS虛擬機器, 模擬CPU動作並假執行程式以解開變體引擎病毒,
那麼應用類似的技術也可以用來分析一般程式檢查可疑的病毒碼。因此VICE將工程師用來判斷程式是否有病毒碼存在的方法, 分析歸納成專家系統知識庫,
再利用軟體工程的模擬技術(Software Emulation)假執行新的病毒, 則可分析出新病毒碼對付以後的病毒
- 即時的I/O掃描(Realtime I/O Scan) Realtime I/O Scan的目的在於即時地對資料的輸入/輸出動作做病毒碼比對的動作,
希望能夠在病毒尚未被執行之前, 就能夠防堵下來。理論上, 這樣的即時掃描程式雖然會影響到整體的資料傳輸速率, 但是使用Realtime
I/O scan, 檔案傳送進來之後, 就等於掃過了一次毒, 整體來說, 是沒有什麼差別的
- 文件巨集病毒陷阱(MacroTrapTM) MacroTrapTM 是結合了病毒碼比對與人工智慧陷阱的技術,依病毒行為模式(Rule
base) 來偵測已知及未知的巨集病毒。其中,配合OLE2技術,可將巨集與文件分開,使得掃描速度變得飛快,而且更可有效地將巨集病毒徹底清除
電腦病毒的始祖
e-Mail運毒 電腦病毒更毒 【聯合晚報╱美聯社紐約三十一日電】 2007.09.01 03:03 pm
電腦病毒問世已25年。自「電腦病毒始祖」斯克蘭塔 (Richard Skrenta)釋出全球第一個電腦病毒以來,病毒傳布方式日新月異,愈來愈快,在網路擴張下,影響的電腦更多,寫病毒的駭客居心也愈來愈壞。 很多人沒有想到,全球第一個電腦病毒出自當年15歲的九年級學生斯克蘭塔之手。他在1982年利用當時功能最強的蘋果二型電腦 (AppleⅡ),製作出「Elk Cloner」病毒,靠軟碟傳布,目的在向他的朋友惡作劇,在對方玩電腦遊戲時冒出一些信息。他的「傑作」跟今日許多具有惡意的電腦病毒不同,但無論如何,他是今日令人頭痛的電腦安全問題的「始作俑者」。 隨著網際網路日益風行,愈來愈多的電腦與網路相連,病毒發威的範圍也愈來愈大。病毒製作的速度也愈來愈快。今日,在網路上伺機作怪的電腦病毒,何止百萬。 第一個侵襲微軟公司電腦作業系統的病毒出現於1986年,這個被稱為「Brain]的病毒出自一對巴基斯坦兄弟之手。據悉,他們想用這個病毒「懲罰」那些散布盜版軟體之徒。此種病毒不會嚴重損害對方的電腦,但會在對方電腦上顯示他們二人的電腦修理店的電話號碼。 網際網路盛行後,駭客想到新的方法傳布電腦病毒─電子郵件。電腦使用人如果不慎打開來路不明的電子郵件附件,就等於打開「毒包」,讓自己的電腦「複製」病毒,成為駭客的「幫兇」。1999年的Melissa病毒,2000年的Love Bug病毒,2003年的SoBig病毒,至今仍令人聞之色變。 早期的病毒會損害電腦,並造成網路塞車或當機,當然令人煩惱、痛恨。但是,今日的電腦病毒更具有惡意,寫病毒的駭客也不像「前輩」那麼低調,只想暗中逞逞電腦本事。新一代的散布病毒者別有用心,唯利是圖。他們可能盜竊受害人的個人資料,盜竊其身分,讓對方蒙受巨大的財務損失,而且為受害者增添無比的麻煩。
【2007/09/01 聯合晚報】
電腦病毒的生命週期
『電腦病毒』和其他的病毒一樣,都是有其獨特的生命週期。而『電腦病毒』的生命週期就是由以下的幾個步驟組成一個生命的循環
。
- 創造期 當電腦駭客們花了數天或數週努力的研究出一些可以廣為散佈的程式碼,
電腦病毒就這樣誕了。當然, 他們是不會這樣就算了的, 他們通常都會設計一些破壞的行為在其中。
- 孕育期 這些電腦駭客們會將這些含有電腦病毒的檔案放在一些容易散播的地方。如BBS站,
Internet的FTP站, 甚至是公司或是學校的網路中等等。
- 潛伏感染期 在潛伏期中, 電腦病毒會不斷地繁殖與傳染。一個完美的病毒擁有很長的潛伏期,
如此一來病毒就有更多的時間去傳染到更多的地方, 更多的使用者, 一旦發病將會造成更大的傷害。例如世界知名的米開朗基羅病毒, 在每年三月六日發作前,
有整整一年的潛伏期。
- 發病期 當一切條件形成之後, 病毒於是就開始破壞的動作。有些病毒會在某些特定的日期發病,
有些則自己有個倒數計時裝置來決定發病的時間。雖然有些病毒並沒有發病時的破壞動作, 但是它們仍然會佔據一些系統資源, 而降低系統運作的效率。
- 發現期
- 同化期
- 根除期
如果有夠多的防毒軟體能夠偵測及控制這些病毒, 並且有夠多的使用者購買了防毒軟體,
那麼這些病毒就有機會被連根撲滅。雖然到現在為止, 並沒有人敢宣稱某一隻病毒完全絕跡, 但是有些病毒已經很明顯的被完全制止了 –如早期的Disk
Killer等。
開機型病毒 (Boot
Strap Sector Virus)
開機型病毒是藏匿和感染磁碟片或硬碟的第一個磁區,即平常所說的Boot Sector,其感染模式係藉由開機動作而侵入記憶體,若用已感染的磁片開機,病毒便進駐記憶體,而且立即感染到硬碟
因為DOS的架構設計, 使得開機型病毒可以於每次開機時, 在作業系統還沒被載入之前就被載入到記憶體中, 這個特性使得病毒可以針對DOS的各類中斷
(Interrupt) 得到完全的控制, 並且擁有更大的能力去進行傳染與破壞。
類別
- 傳統開機型病毒。傳統開機型病毒大多經由磁碟傳染,進入電腦後再伺機傳染其他檔案,最有名的例子是米開朗基羅病毒。
- 隱型開機型病毒。隱型開機型病毒感染的是硬碟的開機磁區,它偽造開機磁區的資料,使防毒軟件以為系統是正常的。
- 目錄型開機型病毒。它只感染電腦的檔案配置表(FAT),一但你的檔案配置表被破壞後,你的電腦檔案讀寫就會不正常,甚至失去檔案。
檔案型病毒 (File
Infector Virus)
檔案型病毒通常寄生在可執行檔(如 *.COM, *.EXE等)中。當這些檔案被執行時, 病毒的程式就跟著被執行。檔案型的病毒依傳染方式的不同,
又分成非常駐型、常駐型和隱形三種
分類
- 非常駐型病毒(Non-memory Resident Virus) : 非常駐型病毒將自己寄生在 *.COM, *.EXE或是 *.SYS的檔案中。當這些中毒的程式被執行時,就會嘗試地去傳染給另一個或多個檔案。
- 常駐型病毒(Memory Resident Virus) :常駐型病毒躲在記憶體中,其行為就好像是寄生在各類的低階功能一般(如 Interrupts),由於這個原因,
常駐型病毒往往對磁碟造成更大的傷害。一旦常駐型病毒進入了記憶體中, 只要執行檔被執行, 它就對其進行感染的動作, 其效果非常顯著。將它趕出記憶體的唯一方式就是冷開機(完全關掉電源之後再開機)。
- 隱形檔案型病毒:它會把自己植入作業系統裡面,當程式向作業系統要求中斷服務時,它就會感染那個提出要的程式,而且看起來不像被感染的樣子。