Linux 和 OS X 病毒很少真的只是因為使用人數較少的緣故嗎?


關於linux

Linux系統下的病毒少是為何? ——轉載自《開源時代》第二期

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

  對一個二進位的 Linux 病毒,要感染可執行文件,這些可執行文件對啟動這個病毒的用戶一定要是可寫的。而實際情況通常並不是這樣的。實際情況通常是,程序被 root 擁有,用戶通過無特權的帳號運行。而且,越是沒有經驗的用戶,他擁有可執行文件的可能性就越小。因此,越是不了解這種危險的用戶的主目錄越

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

  Linux 網路程序構建地很保守,沒有使現在Windows 病毒如此快速傳播變的可能的高級宏工具。這並不是 Linux 的固有特徵;它僅僅是兩種用戶基礎的不同和這種不同導致的在這兩種市場中的成功產品的不同的反映。通過觀察這些問題學到的經驗也會被用到將來的 Linux產品中。Linux的應用軟體和系統軟體幾乎都是開源的。這對病毒有兩方面的影響。首先,病毒很難藏身於開源的代碼中間。其次,對僅有二進位的病毒,一次新的編譯安裝就截斷了病毒一個主要的傳播途徑。雖然 Linux 發行商也提供大量的二進位軟體包,但是用戶大都是從發行商提供的可靠的軟體倉庫中下載這些軟體包,大都具有 md5 驗證機制,安全性極高。這些障礙每一個都是病毒成功傳播的一個重要阻礙。然而當把他們放在一起考慮的時候,基本的問題才浮現出來。一個計算機病毒,像生物病毒一樣,要想傳播開來,其繁殖速度必須超過其死亡(被消滅)的速度。上面提到的障礙有效地降低了 Linux 病毒的繁殖速度。如果它的繁殖速度降到取代原來種群所需要的閾值之下,那麼這個病毒的厄運從一開始就註定了——甚至在潛在受害人意識到它們之前。

  我們沒有看到一個真正的 Linux 病毒瘋狂傳播,原因就在於存在的 Linux 病毒中沒有一個能夠在 Linux 提供的敵對的環境中茁壯成長。現在存在的 Linux 病毒僅僅是技術上的好奇;現實是沒有能養得活的 Linux 病毒。當然,這並不意味著永遠沒有 Linux 病毒能夠流行。然而它確實意味著,一個成功的 Linux 病毒要在不適合生存的 Linux 生態系統中存活下來,那麼它就必須是精心製作並具有創新性的。

關於mac OS

max OS 是UNIX BASE 的操作系統


另外說個事情,Linux 的軟體更新機制也起到了很好的保護作用。

我曾經在一個網站上看到大約十幾天之前剛剛被公開的 glibc(Linux 所用的 C 標準庫)本地提權漏洞。然後我好奇地在自己的 Ubuntu 和 Arch 系統上嘗試,均失敗,此漏洞已經補上。弄了個沒人照料的 Ubuntu 8.04,才終於入侵成功(當時 Ubuntu 8.04 還有官方支持,要是系統管理員寫個自動應用安全更新的 cron 腳本也是成功不了的)。


這個問題除了理論分析,現在也可以做實證研究了。因為OS X的桌面用戶數量已經大大超過Linux,雖然不及Windows,但也是對攻擊者有意義的份額。

假設OS X和Linux本身的安全性、用戶使用習慣等相似,通過對比針對Windows / OS X / Linux的病毒/惡意軟體數量和對應平台的市場份額,可以估計後者與前者的相關性。當然從相關到因果還差一步。


這個結果是矛和盾的力量對比所決定。(矛:攻擊者。盾:bug修改者)

在linux生態系統下,修改系統漏洞的成就感更高.

很多攻擊者發現bug的時候,在沒有流傳的時候,就主動公開甚至修補bug.

盾 》》矛

windows下,改bug的就ms那些人,寫病毒的獲取的利益更大,獲取的成就感更高一些,同時就算你發現bug,彙報給ms,ms修改到發布也需要一段時間。

矛》》盾

至於os是類UNIX 系統,收穫了其成果。


其實一樓的意見基本沒問題,但也不全是這樣;

我覺得有如下幾個原因:

1,使用者的素質不一樣,基本上是用linux的都是專業IT人員,相對來說安全意識等會強很多(比如不會直接使用超級管理員用戶做日常操作);

2,對一個病毒來說,首先要能傳染傳播,才談得上破壞;linux類的感染源太少了;windows對linux/os X來說,用戶數是差好幾個數量級的,也許一個公司幾千台windows電腦,就這麼幾台linux或OS X系統,談何感染?

3,樓上談到的破壞伺服器的損失大,正因為如此,伺服器更多的有專業的IT人員,有一定的安全保護,需要單獨的有針對性的入侵,而沒法簡單的自動化傳染;

基於如上,讓大部分黑客的精力也主要集中在尋找windows 的漏洞上;


話說,現在病毒這種破壞性代碼對計算環境的整體危害已經大大低於木馬了


用戶群的安全意識不同


這個時代的病毒和木馬不是為了獲取客戶端的菜鳥們的各種密碼嗎,誰會去攻擊伺服器啊。


顯然不是。作為病毒,顯然感染伺服器更能有效地擴散。而伺服器顯然是以unix和linux為主的,雖然windows做伺服器也是可以的,但是弱暴了吧。

所以非windows系統病毒少,不是因為用的少。


使用Linux的人對於系統了解比較徹底。


第一的樓主答的很好.我來補充幾點:

整體框架上.Linux的安全機制是遠好於Windows的安全機制:

不對Windows的安全機制熟悉.所以涉及到Windows的部分會有點偏差:

從用戶角度:

因為病毒也是程序的一種.所以這一點上.Linux和Windows是一樣的.所以不可能所謂的Linux下沒病毒.

整個Linux下每個文件都有個許可權概念.當初接觸Linux首先接觸的是麻煩和無聊和痛苦的修改文件許可權.和無休止的sudo命令.但是不得不說就是因為這個東西.用戶至少接觸了最基礎的安全概念.

當然相對的就是微軟推出來的UAC概念.

但是無論如何在用戶認知的程度上.Linux上有好上一個檔次.因為Root用戶和用戶的概念基本上代表的是能力越大責任越大的概念.那麼對於軟體來說.我確信這個軟體.只要對於這個軟體一次放權.那麼這個軟體基本上對於我電腦的改動和修改.我都是允許的.而UAC對於很多軟體啟動都要提示一下.顯得非常的繁瑣.而且大部分都是無用功.

假如我用Windows的話.其他人用我的電腦.基本上都會有風險.而假如用Linux.不給管理員許可權...基本上我電腦風險就會降很多.

Unix設計之初,基本上就保證了程序之間不干擾.用戶與用戶不干擾.Linux C的一個標準函數就是setuid/確保最小特權.程序間不會越界.

從程序設計角度說:

一般來說程序設計方式有兩種.一種是簡單透明.難以遇見bug,而另一種是複雜的設計模式.可以掩蓋掉bug.

開源界的軟體一般都是前者.而商業化軟體都是後者.

只要是程序肯定隊會有漏洞.首先從質量來說.開源界的軟體的質量要明顯好於商業化軟體.商業化軟體肯定bug眾多.反應遲鈍.

當然另一方面就是bug的存活時間.排名第一的已經說了,windows下的漏洞從發現到解決.其中可以生成多少個病毒變種.這不要我們多說了.而且其他人都沒有辦法解決.只能通過殺毒軟體來升級特徵庫來偵查病毒.而開源的軟體.輕易的就可以的從源碼直接修復.


Mac OS X 是否依然安全? 就貼個鏈接


是因為windows淡化了許可權問題最終導致許可權混亂讓病毒有了可乘之機。在我沒接觸unix之前基本是沒有許可權 root這種概念的


我覺得是的

Linux和Unix伺服器數量雖然多,但是伺服器的使用環境、操作者的安全意識和個人電腦是不可同日而語的。


病毒一點都不少,說少的是謠傳


外行人觀點。

linux之所以安全,大概是因為層層的許可權設置,還有最近幾年的內核頻繁更新還有及時的軟體更新。

此外linux還有專門的許可權,或安全措施,好像叫做selinux。我不會說linux這麼多發行版中,有專門做安全的。

具體技術不懂,此外,不要把linux和蘋果機比較,二者唯一的相似出都跟unix有點關係,其他沒有什麼關係了,linux是宏內核,蘋果是微內核。

還有說linux,其實就是一內核。


會使用Linux的人,應該也不會去那些亂七八糟的地方下東西


比起windows這樣的閉源軟體,開源軟體的代碼質量應該是更高(安全)一些吧。


我倒是想找虛擬機下Linux病毒的實驗視頻一個都找不到 Wiki上說過的都打過補丁了

當然還有什麼安卓鎖機程序 那不算 那屬於把root許可權不加甄別地往外送


不過換句話說,windows用戶如果不關閉防火牆,不關閉UAC,所有軟體按嚴格設置許可權,也絕不會像想像中的那麼脆弱。


推薦閱讀:

如何批量恢復 Mac OS X 廢紙簍里的文件?
Mac如何打開身份不明開發者的程序?
Linux, OS X, Windows 的圖形界面架構是如何的?
Mac 中的頭像最近使用的圖片如何清除?
Mac / OS X 如何快速顯示桌面(Desktop)?

TAG:Mac | macOS | 操作系統 | Linux | 系統架構 | 計算機科學 | 計算機病毒 |