定義
蠕蟲定義
計算機蠕蟲是一種獨立的惡意軟體電腦程式,它複製自身以便傳播到其他計算機。通常,它使用計算機網路來傳播自己,依靠目標計算機上的安全故障來訪問它。 與計算機病毒不同,它不需要附加到現有的程式。 蠕蟲幾乎總是對網路造成一些傷害,即使只是消耗頻寬,而病毒幾乎總是損壞或修改目標計算機上的檔案。
蠕蟲病毒定義
是一種結合了蠕蟲和病毒機理(技術特點)的產物,蠕蟲病毒也集成了蠕蟲和病毒的優點,使其更加強大,傳播能力更強(注意與DOS作業系統下的“蠕蟲”病毒的區別)。
入侵模式
組成部分
蠕蟲由兩部分組成:一個主程式和一個引導程式。 主程式一旦在機器上建立就會去收集與當前機器聯網的其它機器的信息。它能通過讀取公共配置檔案並運行顯示當前網上在線上狀態信息的系統實用程式而做到這一點。隨後,它嘗試利用前面所描述的那些缺陷去在這些遠程機器上建立其引導程式。
入侵方法
蠕蟲程式常駐於一台或多台機器中,並有自動重新定位(autoRelocation)的能力。如果它檢測到網路中的某台機器未被占用,它就把自身的一個拷貝(一個程式段)傳送給那台機器。每個程式段都能把自身的拷貝重新定位於另一台機器中,並且能識別它占用的哪台機器。蠕蟲侵入一台計算機後,首先獲取其他計算機的IP位址,然後將自身副本傳送給這些計算機。蠕蟲病毒也使用存儲在染毒計算機上的郵件客戶端地址簿里的地址來傳播程式。雖然有的蠕蟲程式也在被感染的計算機中生成檔案,但一般情況下,蠕蟲程式只占用記憶體資源而不占用其它資源。蠕蟲還會蠶食並破壞系統,最終使整個系統癱瘓。
計算機蠕蟲的通用結構
1、目標定位
為了在網路上快速傳播,蠕蟲應該具有發現新感染對象的能力。大多數蠕蟲搜尋本地系統上的存儲的電子郵件地址列表並向這些地址傳送蠕蟲的拷貝。這種方法對於攻擊者來說很方便,因為大部分單位都允許郵件信息穿過單位的防火牆,這就為蠕蟲提供了一個穿透點。
很多蠕蟲在IP層搜尋網路上的可達節點,並利用節點的“指紋”信息識別遠程系統的類型,以確定該系統上是否有被利用的漏洞。
2、感染傳播
把自己傳輸到新系統並遠程控制該系統的策略是蠕蟲非常重要的組成部分。大部分的蠕蟲都假定目標系統運行在某種特定類型的作業系統上,然後傳送一個可以在這種系統上運行的蠕蟲。舉例來說,蠕蟲開發者可以使用腳本語言、文檔格式、二進制檔案或者注入到記憶體中的代碼(或者這幾種方式的組合)攻擊目標系統。通常,攻擊者利用社會工程學的 方法欺騙接受者執行蠕蟲程式。然而,越來越多的蠕蟲攜帶一些“漏洞利用”模組,這樣,蠕蟲不需要用戶的干預就能夠自動在含有漏洞的遠程系統上執行。
3、遠程控制和更新接口
蠕蟲的另一個非常重要的組成部分是利用通信模組進行遠程控制。如果沒有該模板,蠕蟲作者就不能通過給蠕蟲拷貝傳送控制信息來控制蠕蟲網路。遠程允許攻擊者利用蠕蟲作為殭屍網路上的分散式拒絕服務工具攻擊多個未知的目標。
更新和外掛程式接口是高級蠕蟲的另一重要特色,它允許在被感染的計算機系統上更新蠕蟲代碼,攻擊者必須面對的一個問題是:在利用系統的某個漏洞成功進入該系統後,通常就不能再次利用這個漏洞發起第二輪攻擊。這樣的問題有助於攻擊者避免是用同樣的代碼多次感染同一個系統,因為重複感染可能會造成系統崩潰。不過,入侵者可以通過多種其他途徑避免重複感染。
4、生命周期管理
有些蠕蟲作者希望某個版本的蠕蟲在事先設定的某段時間內工作。比如蠕蟲W32/Welchia.A會在2004年初“自殺”,然後在2004年2 月下旬又發布了Welchia.B(該蠕蟲的B版本),這個版本又運行了3個多月自殺。另一方面,有些蠕蟲的生命周期控制模組有問題,到了他們該壽終正寢的時候卻任然運行著。而且,我們還經常遇到有些版本的蠕蟲被其他版本的蠕蟲修補後又繼續運行下去的情況 。
發展歷史
實際的術語“蠕蟲”最早用於約翰·布倫納的1975年小說“衝擊波騎士”。在這部小說中,Nichlas Haflinger設計和設定了一個數據收集蠕蟲,對一個強大的人進行報復,他們經營一個引發大規模一致性的國家電子信息網路。 “你有最大的蠕蟲在網路中,它自動破壞任何嘗試監測它...從來沒有一個蠕蟲與那么堅韌的頭或長尾巴!”
1982年,Shock和Hupp根據The Shockwave Rider一書中的一種概念提出了一種“蠕蟲”(Worm)程式的思想。蠕蟲程式可用作為Ethernet(乙太網)網路設備的一種診斷工具,它能快速有效地檢測網路。
1988年11月2日,康奈爾大學計算機科學研究生羅伯特·塔潘·莫里斯(Robert Tappan Morris)發布了所謂的莫里斯蠕蟲,中斷了網際網路上的大量計算機,當時猜測是所有連線網際網路計算機的十分之一 。在莫里斯抗訴過程中,美國抗訴法院估計,從每個裝置中清除病毒的費用在200-53,000美元的範圍內,並促使建立CERT協調中心和Phage郵件列表。 莫里斯自己成為第一個根據1986年計算機欺詐和濫用法案被審判和定罪的人。
蠕蟲病毒大多數都是由C++ SDK編程下的產物,體積小巧隱藏更深,很好的躲過殺軟的查殺,另外還有delphi編寫的蠕蟲,例如大名鼎鼎的熊貓燒香病毒。
與病毒的異同
相同
蠕蟲也是一種病毒,因此具有病毒的共同特徵。一般的病毒是需要寄生的,它可以通過自己指令的執行,將自己的指令代碼寫到其他程式的體內,而被感染的檔案就被稱為”宿主”,例如,Windows下執行檔的格式為PE格式(Portable Executable),當需要感染pe檔案時,在宿主程式中,建立一個新段,將病毒代碼寫到新段中,修改的程式入口點等,這樣,宿主程式執行的時候,就可以先執行病毒程式,病毒程式運行完之後,在把控制權交給宿主原來的程式指令。
不同
病毒主要是感染檔案,當然也還有像DIRII這種連結型病毒,還有引導區病毒。引導區病毒他是感染磁碟的引導區,如果是軟碟、隨身碟(快閃記憶體盤)、移動硬碟等被感染,這張受感染的盤用在其他機器上後,同樣也會感染其他機器,所以傳播方式也可以是移動存儲設備。
蠕蟲一般不採取利用PE格式插入檔案的方法,而是複製自身在網際網路環境下進行傳播,病毒的傳染能力主要是針對計算機內的檔案系統而言,而蠕蟲病毒的傳染目標是網際網路內的所有計算機.區域網路條件下的已分享檔案夾,電子郵件Email,網路中的惡意網頁,大量存在著漏洞的伺服器等都成為蠕蟲傳播的良好途徑。
防治方法
防毒軟體
使用具有實時監控功能的防毒軟體,並且注意不要輕易打開、運行不明來源的檔案。
提高安全意識、補丁、防火牆
首先是提高安全意識,勤打補丁,定時升級防毒軟體和防火牆,對於網路管理員來說,還要對系統定期備份,尤其是多機備份,防止意外情況下的數據丟失,對於區域網路用戶,可以在網際網路入口處安裝防火牆,對郵件伺服器進行監控,對用戶進行安全培訓。對於個人用戶,上網要儘量選擇一些大的入口網站,儘量少上一些小的不知名的網站,對於來歷不明的電子郵件,最好不要打開,尤其是附屬檔案。另外,機器的安全設定可以設定的高一些,比如IE的安全級別可以設定為中,把其中所有ActiveX外掛程式以及Java相關控制項全部選擇“禁用”即可。不過,這樣做在以後的網頁瀏覽過程中可能會造成個別含有ActiveX的網站無法瀏覽。另外,office裡面可以禁用宏等。
更改名字
對於有些網路蠕蟲病毒通過調用系統中已經編譯好的帶有破壞性的程式來實現這一功能。那么我們就把本地的帶有破壞性的程式改名字,比如把format改成fmt,那樣病毒的編輯者就無法實現用調用本地命令來實現這一功能。
刪除Windows Script Host
由於蠕蟲病毒大多是用VBScript腳本語言編寫的,而VBScript代碼是通過Windows Script Host來解釋執行的,因此將Windows Script Host刪除,就再也不用擔心這些用VBS和JS編寫的病毒了。從另一個角度來說,Windows Script Host本來是被系統管理員用來配置桌面環境和系統服務,實現最小化管理的一個手段,但對於大部分一般用戶而言,WSH並沒有多大用處,所以我們可以禁止Windows Script Host。如果你嫌麻煩,可以到C:\Windows\System32目錄下,找到WScript.exe等腳本程式的系統支持檔案,更改其名稱或者乾脆刪除(這種做法有一定的副作用,如果刪除腳本程式的系統支持檔案的話,網頁的js和ws,vbs等腳本將不能再執行,所以請慎用)。