【知識分享】為什麼linux系統伺服器病毒更少

小鑫fwq發表於2022-11-14

為什麼Linux系統下病毒這麼少?很多人認為 Linux 病毒少是因為Linux不像Windows那麼普及,其實這種觀點很早已經被人批駁過了,一個最有力的論據是:如果寫病毒的人寫 Windows 病毒是因為 Windows 使用者多而因此破壞性大,那麼 Internet 上大多數伺服器都是基於 Unix/Linux 的,攻擊這些伺服器,破壞性豈不是更大麼?


Linux賬號限制


對一個二進位制的 Linux 病毒,要感染可執行檔案,這些可執行檔案對啟動這個病毒的使用者一定要是可寫的。而實際情況通常並不是這樣的。實際情況通常是,程式被 root 擁有,使用者透過無特權的帳號執行。而且,越是沒有經驗的使用者,他擁有可執行檔案的可能性就越小。因此,越是不瞭解這種危險的使用者的主目錄越不適合病毒繁殖。


即使這個病毒成功地感染了這個使用者擁有的一個程式,由於這個使用者許可權受限,它進一步傳播的任務也會非常困難(當然,壹基比小鑫認為對於執行單使用者系統的 Linux 新手,這個論證可能不適用。這樣的使用者可能會對 root 帳戶比較粗心)。


Linux網路限制


Linux 網路程式構建地很保守,沒有使現在 Windows 病毒如此快速傳播變的可能的高階宏工具。這並不是 Linux 的固有特徵;它僅僅是兩種使用者基礎的不同和這種不同導致的在這兩種市場中的成功產品的不同的反映。


Linux核心和使用者空間


linux的核心和使用者空間分得很清晰,使用者甚至可以在啟動時定義自己的init=XXX引數使得使用者空間的第一個程式是自己定義的,這種核心空間和核心空間的不耦合是十分重要的,核心在init核心執行緒中透過execve一個使用者程式讓使用者接手系統,這個程式是可以自己定義的,不過一般是/sbin/init程式,這樣的結果就是即使使用者空間全部被注入了,那麼你第一,可以刪除這些骯髒的檔案;第二,可以設定一個你自己定義的乾淨的init程式,需要做的就是重新啟動一下系統,一切就搞定了,linux中強大shell命令使得你可以很簡單的備份一份乾淨的無病毒的根檔案系統,因此在linux下防毒將是一件很簡單的事情。使用者可以自主控制使用者空間的第一個程式是這裡的要點,在windows下這是很難的,你想替換smss程式,試試看,系統會提示你“請確定磁碟未滿或未被防寫而且檔案未被使用”,並且system32下的dllcache也是一個讓你又愛又恨的目錄,不信的話,請手動刪除一下IE試試看。


開源的Linux


Linux的應用軟體和系統軟體幾乎都是開源的。這對病毒有兩方面的影響。首先,病毒很難藏身於開源的程式碼中間。其次,對僅有二進位制的病毒,一次新的編譯安裝就截斷了病毒一個主要的傳播途徑。雖然 Linux 發行商也提供大量的二進位制軟體包,但是使用者大都是從發行商提供的可靠的軟體倉庫中下載這些軟體包,大都具有 md5 驗證機制,安全性極高。


一個計算機病毒,像生物病毒一樣,要想傳播開來,其繁殖速度必須超過其死亡(被消滅)的速度。上面提到的障礙有效地降低了 Linux 病毒的繁殖速度。我們沒有看到一個真正的 Linux 病毒瘋狂傳播,原因就在於存在的 Linux 病毒中沒有一個能夠在 Linux 提供的敵對的環境中茁壯成長.


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70013663/viewspace-2923215/,如需轉載,請註明出處,否則將追究法律責任。

相關文章