在Linux出現之初,由於其最初的優秀設計,似乎具有先天病毒免疫能力,所以當時有許多人相信不會有針對Linux的病毒出現,但是Linux終於也不能例外。1996年秋,澳大利亞一個叫VLAD的組織用匯編語言編寫了據稱是Linux系統下的第一個病毒的Staog,它專門感染二進制文件,並通過三種方式去嘗試得到root權限。當然,設計Staog病毒只是為了演示和證明Linux有被病毒感染的潛在危險,它並沒有對感染的系統進行任何損壞行動。
2001年,一個名為Ramen的Linux蠕蟲病毒出現了。Ramen病毒可以自動傳播,無需人工干預,雖然它沒有對服務器進行任何破壞,但是它在傳播時的掃描行為會消耗大量的網絡帶寬。Ramen病毒是利用了Linux某些版本(Redhat6.2和 7.0)的rpc.statd和wu-ftp這兩個安全漏洞進行傳播的。
同年的另一個針對Linux的蠕蟲病毒Lion則造成了實際的危害,當時Lion通過互聯網迅速蔓延,並給部分用戶的電腦系統造成了嚴重破壞。Lion病毒能通過電子郵件把一些密碼和配置文件發送到互聯網上的某個郵箱中,攻擊者在收集到這些文件後就可能通過第一次突破時的缺口再次進入整個系統,進行更進一步的破壞活動,比如獲機密信息、安裝後門等。當用戶的Linux系統感染了這個病毒,很有可能因為不能判斷入侵者如何改動了系統而選擇重新格式化硬盤。而且,一台Linux主機在感染了Lion病毒後就會自動開始在互聯網上搜尋別的受害者。事後的反饋表明Lion病毒給許多Linux用戶造成了的嚴重的損失。
其它Linux平台下病毒還有OSF.8759、Slapper、Scalper、Unux.Svat和BoxPoison等,當然,大多數普通的Linux用戶幾乎沒有遇到過它們。這是因為直到目前,Linux上的病毒還非常少,影響的范圍也很小。但隨著Linux用戶的增加,越來越多的Linux系統連接到局域網和廣域網上,自然增加了受攻擊的可能,可以預見到會有越來越多的Linux病毒出現,因此如何防范Linux病毒就成為每個Linux用戶現在就應該開始注意的事情了。
二、抓住弱點,個個擊破
Linux的用戶也許聽說甚至遇到過一些Linux病毒,這些Linux病毒的原理和發作症狀各不相同,所以采取的防范方法也各不相同。為了更好地防范Linux病毒,我們先對已知的一些Linux病毒進行分類。
從目前出現的Linux病毒來看,可以歸納到以下幾個病毒類型中去:
1、感染ELF格式文件的病毒
這類病毒以ELF格式的文件為主要感染目標,通過匯編或者C可以寫出能感染ELF文件的病毒。Lindose病毒就是一能感染ELF文件的病毒,當它發現一個ELF文件時,將檢查被感染的機器類型是否為Intel80386。如果是,則查找該文件中是否有一部分的大小大於2784字節(或十六進制AEO),如果有,病毒就會用自身代碼覆蓋它並添加宿主文件的相應部分的代碼,同時將宿主文件的入口點指向病毒代碼部分。
防范:由於Linux下有良好的權限控制機制,所以這類病毒要有足夠的權限才能進行傳播。在防范此類病毒時,我們要注意管理好自己Linux系統中的各種文件的權限,特別要注意的是在做日常操作時不要使用root賬號,最好不要以root身份運行來歷不明的可執行文件,以免無意中觸發了含病毒的文件從而傳染到整個系統中。
2、腳本病毒
腳本病毒是指使用shell等腳本語言編寫的病毒。此類病毒編寫較為簡單,不需要具有很高深的知識,很容易就實現對系統進行破壞,比如刪除文件、破壞系統正常運行、甚至下載安裝木馬等。但它傳播性不強,通常是在本機上造成破壞。
防范:防范此類病毒也是要注意不要隨便運行來源不明的腳本,同時,要嚴格控制對root權限的使用。
3、蠕蟲病毒
Linux下的蠕蟲病毒與Windows下的蠕蟲病毒類似,可以獨立運行,並將自身傳播到另外的計算機上去。在Linux平台下的蠕蟲病毒通常利用一些Linux系統和服務的漏洞來進行傳播,比如,Ramen病毒就是利用了Linux某些版本(Redhat6.2和7.0)的rpc.statd和wu-ftp這兩個安全漏洞進行傳播的。
防范:防范此類病毒要堵住蠕蟲病毒發作的源頭,從已經出現的幾個Linux病毒爆發事件來看,它們都是利用了Linux已經公布了的幾個安全漏洞,如果用戶及時采取了對應的安全措施就不會受到它們的影響。不過遺憾的是,許多Linux的管理員並沒有緊密跟蹤與自己系統和服務相關的最新信息,所以還是給病毒有可乘之機。
用戶要做好本機的安全工作,特別要關心Linux的安全漏洞信息,一旦有新的Linux安全漏洞出現,就要及時采取安全措施。此外,還可以配合防火牆規則來限制蠕蟲病毒的傳播。
4、後門程序
後門程序也可以被看成廣義的病毒,在Linux平台上也非常活躍。Linux後門利用系統服務加載、共享庫文件注射、rootkit工具包、甚至可裝載內核模塊(LKM)等技術來實現,許多Linux平台下的後門技術與入侵技術相結合,非常隱蔽,難以清除。
防范:防范此類病毒可以借助一些軟件來進行,有一些軟件可以幫助用戶找出系統中的各種後門程序。
5、其它病毒
在Linux平台除了面對針對Linux的病毒之外,還要注意到許多Windows病毒會存在於Linux的文件系統中,當然,這類windows病毒是不會在Linux中發作的,但它們有機會傳遞到Windows系統中。
比如,Linux的Samba服務器可以作為整個網絡中的文件服務器,當有用戶將含有Windows病毒的文件上傳到Samba服務器後,Samba服務器就成為一個病毒攜帶者,雖然它不會感染這種Windows病毒,但是其它訪問過Samba服務的人就有可能從中感染到病毒。
防范:為了整體的安全,在Linux系統中也需要能查找和殺除Windows病毒。這就需要使用一些專門的反病毒軟件。
三、多方入手,剿殺Linux病毒
與Windows的病毒相比,從數量上看,Linux的病毒幾乎可以忽略不計,但是Linux病毒的制造者們並不會停止,他們多是一些精通編寫代碼的黑客,Linux自身不可避免地存在的脆弱點很有可能會被他們利用從而編寫出各式各樣的新Linux病毒來。雖然,Linux病毒還沒有開始泛濫,但如果用戶毫無防范概念的話,一旦某個Linux病毒暴發,就很可能造成嚴重的後果。所以Linux用戶應該及早重視起Linux病毒這個問題。
最後,對Linux平台下病毒的防范總結出以下幾條建議,僅供參考:
(1)做好系統加固工作。
(2)留心安全公告,及時修正漏洞。
(3)日常操作不要使用root權限進行。
(4)不要隨便安裝來歷不明的各種設備驅動程序。
(5)不要在重要的服務器上運行一些來歷不明的可執行程序或腳本。
(6)盡量安裝防毒軟件,並定期升級病毒代碼庫。
(7)對於連接到Internet的Linux服務器,要定期檢測Linux病毒。蠕蟲和木馬是否存在。
(8)對於提供文件服務的Linux服務器,最好部署一款可以同時查殺Windows和Linux病毒的軟件。
(9)對於提供郵件服務的