資訊與網路安全技術 第 十一章 入侵偵測與網路病毒  上一頁    

 

11-10 網路病毒

內容:

相信網路病毒是目前網路公認最困擾的問題,幾乎每一部上網的電腦都有防毒措施,這是網路發展的障礙之一,然而,病毒似乎與網路入侵之間有緊密性的關聯,許多入侵行為都是藉由病毒散播作為攻擊的先頭部隊。說實在的,經由防火牆、網路入侵偵測等等的安全防護,駭客如想要以非法路徑入侵系統,是極不容易的事,唯有藉由合法路徑來散播病毒,較容易入侵系統。譬如,攻擊者可藉由發送郵件給內部工作人員,員工讀信之後無形之中已將病毒載入系統之中,此病毒在某一特定時間內會開啟系統一些較不惹眼的埠口,外部攻擊程式再經由該埠口堂堂進入系統,從事破壞的工作。類似這種攻擊法不勝枚舉,我們也可發現偵測入侵攻擊是離不開網路病毒的偵測。

11-10-1 病毒 ? 惡意的程式

電腦是一組硬體與軟體所組合而成的機械,不會受到天氣變化而感冒,也不會受到 SARS 侵襲,何來『病毒』(Virus)感染之有?其實『病毒』是一種惡意程式,只不過這些程式會自行複製給其他電腦,如果惡意程式有意破壞系統的話,它所複製的程式同樣也具有這些功能;然而,它是無形之中散播或自行複製給其他人,當然也必須有接觸到才會受它感染,其動作就像『細菌』傳播一樣。我們將網路上常出現之惡意程式的型態歸納如下:

  • 開後門(Trap Backdoor:後門程式執行後,會去開啟某一特定的傳輸埠口,讓其他攻擊程式由此埠口進入系統。

  • 邏輯炸彈(Logic Bomb):此類型的惡意程式會在某一特定時間內摧毀系統。

  • 特洛伊木馬(Trojan Horses):該類型程式會隱藏在其他程式內,進而入侵系統或跨越較高權利,再從事破壞的工作。一般系統都有防護措施來隔離不明程式的進入,但特洛伊木馬程式會附加在其他程式內,當原程式被執行時,惡意程式會跟隨著執行其入侵或破壞的工作,而且它的執行權限與原程式相同。

  • 電腦病毒(Virus):此類型程式會感染給其他程式,感染途徑多半是經由接觸而來。譬如,某部電腦上執行已被感染的程式,該病毒程式便會常駐在記憶體中。當再執行其他程式時,則該病毒程式便會再值入該程式之中,接下來,已感染的程式被執行時,會再感染其他程式,如此散佈出去。

  • 網路蠕蟲(Worm):網路蠕蟲與電腦病毒相類似,可能是值入特洛伊木馬或其他破壞程式,但它感染路徑多半是透過網路傳輸,一般傳輸路徑有:

    • 電子郵件:蠕蟲病毒透過電子郵件傳遞,感染者只要開啟郵件,病毒程式就會自動被啟動,並值入系統內,這也是目前入侵或病毒傳播最常見的傳播方式。

    • 遠端登入:登入到遠端具有病毒感染的主機,蠕蟲程式也可以由此通訊連線進入系統。

    • 遠端執行程式:蠕蟲透過遠端執行程式入侵系統。客戶端瀏覽一個被病毒感染的網頁,客戶端電腦也會受到蠕蟲病毒入侵。

  • 巨集病毒(Macro Virus:一般病毒多半屬於可執行檔,但最可怕的病毒是由巨集命令所構成的巨集病毒。許多資料或程式都必須在特定工作平台(如 Word)上執行,然而大多是利用巨集命令的 Script 來規劃執行程序,巨集病毒就是附加在這 Script 命令上,隨著散播及從事破壞的工作,如感染 Word 文件檔的病毒就是這種類型。

上述各種病毒類型並非各自獨立,相互之間也有連帶性關係;譬如,某一巨集病毒可能也具有網路蠕蟲或特洛伊木馬病毒的功能。

11-10-2 病毒的生命週期與類型

簡單的說,病毒也是一種程式,它必須經過執行之後才會有破壞力,一般由病毒的產生到結束的生命週期可區分為下列四個階段:

  • 潛伏期(Dormant Phase:病毒入侵後處於閒置狀態。病毒遲早會被某一特定事件所觸發,譬如,某個日期、某個程式或檔案存在時,或是磁碟容量超過某些上限時,但並非所有病毒都需經過這個階段。

  • 散播期(Propagation Phase:病毒複製本身到其他程式或他人磁碟空間的階段。每個被感染的程式都會得到一個病毒副本,並且進入散播期感染給其他人。

  • 觸發期(Triggering Phase:病毒被啟動並準備執行預定動作。啟動原因如同潛伏期一樣,多半事經由特殊事件觸發所引起。

  • 執行期(Execution Phase:執行的功能被啟動。在這階段裡,病毒可能執行破壞或入侵的工作。

由此可見,防治病毒必須在它的執行期之前找出來,一般來講,病毒由入侵進入潛伏期到執行期之間尚有一段時間,掃描病毒就是期望在這段時間內將病毒揪出。

11-10-3 病毒的類型

既然病毒也是一種程式,但這程式如何被執行?如果不去執行它可能會被破壞嗎?其實有些病毒是自我執行程式,它會自行啟動並進入 CPU 工作排序內。另有些病毒則必須附加在其他程式內,當該程式被執行時,病毒也隨著被執行,如此就不會牽涉到 CPU 排序的問題。我們將病毒的類型歸類如下:

  • 寄生病毒(Parasitic Virus:此類型病毒必須附加在其他程式內,巨集病毒多半屬於這個類型。

  • 記憶體常駐病毒(Memory-resident Virus:此類型病毒會自我執行並進駐於主記憶體內,當系統執行其他程式時,才會感染到該程式上。

  • 啟動磁區病毒(Boot Sector Virus:此類型病毒會感染主機開機磁區,當主機開機後便具有病毒感染能力。

  • 隱形病毒(Stealth Virus:此類型病毒被設計成可以躲過病毒掃描,一般都是將病毒壓縮後,再複製到其他系統上,如此一來,掃描程式欲找出壓縮後的病毒實在很困難。

  • 多型病毒(Polymorphous Virus:此類型病毒每經一次的複製後,都會改變其形貌,因此可以躲過病毒『特徵』掃描。

11-10-4 防毒的技巧

早期防毒的口號是『不要複製來路不明的檔案』,後來是『不要開啟來路不明的信件或檔案』,但目前這兩個口號似乎已不靈光。現在是唯有不上網才可能避開病毒的感染,變化無窮的病毒也並非簡單的掃描程式足以防範。一般掃描病毒皆是以『偵測』、『辨認』與『清除』三個步驟來達成,其中『辨識』多半以病毒的特徵作為比對。一般使用者並無能力隨時隨地蒐集可能出現病毒的『特徵』,這方面大多仰賴廠商提供,也就是說,病毒掃描軟體廠商隨時隨地蒐集可能出現的病毒,並尋找出病毒可以比對的特徵,再自動下載給客戶端,存入於客戶端的資料引擊內,客戶端開啟檔案或收取信件時,可經由資料引擊比對該檔案或信件是否含有病毒。基本上,防毒軟體有下列四種層次的防禦功能:

  • 特徵掃描:利用病毒特徵掃描檔案或系統是否有病毒感染。

  • 啟發式掃描:不僅利用病毒特徵掃描,還利用啟發式探測病毒可能變形的型態。

  • 行為陷阱:是一種常駐記憶體的軟體,並監視系統是否有異常行為,如有則判斷可能病毒入侵。

  • 整合性防範:將上述防毒功能整合一個完整的系統,一般簡單的病毒特徵由客戶電腦執行掃描的工作,對於需要經過較複雜推論才能分辨病毒(如多型病毒)時,則在組織內設立一個資料引擊,專門處理推論的工作。

病毒防範是一門非常專業的技術,然而許多組織單位多半忽略它,尤其從事於網路安全工作者,應需特別研習有關病毒入侵的伎倆。

主講人:粘添壽博士

 

資訊與網路安全技術