Unix vs. 微軟Windows: 系統設計折射安全理念
作者:Chad Perrin
翻譯:PurpleEndurer,2010-11-26 第1版
分類(lèi):認證,安全,漏洞
標簽:視窗, 惡意軟件,Malware,微軟, Unix,微軟視窗,架構,操作系統, UNIX, 安全,軟件
Unix和微軟Windows在實(shí)現系統安全的方法上的一個(gè)關(guān)鍵區別是,Unix系統的重要安全特性是其優(yōu)異的架構設計的結果。如果要將這些特性納入微軟Windows,將不僅僅是系統架構上的變更,而且會(huì )躋身為頂級的操作系統。
例如,特權分離一直是微軟Windows的一個(gè)安全問(wèn)題。微軟Windows在架構層中確實(shí)存在一些特權分離機制,但是表現不盡如人意,主要還是依賴(lài)用戶(hù)級的良好行為,按規范來(lái)操作。
系統內部模塊化是Unix架構安全的另一個(gè)例子,這是微軟Windows所缺乏的。在這種隨意雜亂風(fēng)格下,綁定在Windows系統中的每一個(gè)重要組成部分的應用程序,諸如瀏覽器漏洞這類(lèi)顯然微不足道的東西就能危及內核空間,進(jìn)而影響到整個(gè)系統。而Unix中則不存在這種系統部件之間緊密耦合的情況。
特權分離的重要性
有些用戶(hù)可能會(huì )抱怨,自己想要保護的所有數據信息存儲在只有自己賬號才能夠訪(fǎng)問(wèn)的區域,在這種情況下特權分離并無(wú)助益。但是對于那些想讓系統安全有充分保障的用戶(hù)而言,特權分離是有好處的。特權分離可以有效防止病毒感染和入侵,避免root權限被盜取。
對于想方設法通過(guò)網(wǎng)絡(luò )侵入的惡意軟件,服務(wù)進(jìn)程運行在特定用戶(hù)賬號下的Unix系統會(huì )給它們造成阻礙。這意味著(zhù)通過(guò)某些端口進(jìn)來(lái)的入侵者無(wú)法進(jìn)一步影響服務(wù)。即使許多從普通用戶(hù)帳戶(hù)啟動(dòng)的服務(wù)亦是如此,因為這些服務(wù)被配置為切換到其自有帳戶(hù)(owners)來(lái)運行,這就是利用特權分離的好處。
許多黑客的惡意安全工具需要管理員權限才能有效運行。鍵盤(pán)事件記錄程序(Keyloggers)是微軟Windows系統安全的一個(gè)主要威脅,但在Unix系統中,這些記錄程序需要具有訪(fǎng)問(wèn)系統組件的管理員級別權限才能有效運行。這意味著(zhù)通過(guò)一些未經(jīng)授權的用戶(hù)帳戶(hù)而插入系統的事件記錄程序會(huì )無(wú)法勝任工作。
至于其他安全威脅,如rootkit、特洛伊木馬和僵尸網(wǎng)絡(luò )客戶(hù)端,在Unix系統中也需要root訪(fǎng)問(wèn)權限才能工作。而在微軟Windows系統中,由于缺乏嚴格的特權分離致使其對惡意軟件的防護能力不足。
用戶(hù)控制和自動(dòng)執行
眾所周知,微軟WINDOWS很容易被病毒和蠕蟲(chóng)感染,究其原因很大部分是由于WINDOWS想為用戶(hù)提供過(guò)多的服務(wù)。惡意軟件通常會(huì )通過(guò)不相干的軟件啟動(dòng)而自動(dòng)運行,比如,當你打開(kāi)一個(gè)看似微軟Word文檔、而實(shí)際上是一個(gè)設計巧妙的惡意可執行程序時(shí),微軟WINDOWS會(huì )殷勤地從word轉而執行惡意代碼文件。
相反的,Unix系統在默認情況下是不會(huì )這樣做的。在Unix系統上執行程序會(huì )更規范,一般打開(kāi)文件需要向主程序傳遞一個(gè)參數。因此如果惡意代碼文件OO.o想偽裝成OpenOffice.org文檔運行,Unix系統是不會(huì )自動(dòng)轉向執行OO.o的,盡管這樣做看起來(lái)很自然。相反的,如果系統檢測到文件類(lèi)型不匹配,文字處理器軟件將無(wú)法打開(kāi)這個(gè)文件。
微軟WINDOWS系統下其它無(wú)安全保障的自動(dòng)運行項目還包括AutoRun。美國軍方對此記憶猶新,美國國防部中使用Windows系統的電腦就吃過(guò)U盤(pán)里使用AutoRun特性啟動(dòng)的惡意軟件的虧。雖然可以關(guān)閉WINDOWS的AutoRun這一功能,但是實(shí)際操作起來(lái)并不是那么容易。AutoRun這樣的功能本身就不該默認為啟用。更糟糕的是,即便你關(guān)閉了AutoRun自動(dòng)運行功能,WINDOWS自動(dòng)更新也會(huì )暗中自動(dòng)激活它。
不同的設計理念
Unix和WINDOWS在設計和安全性方面的這些差別充分說(shuō)明了理念上的明顯不同。遺憾的是,Unix從底層設計開(kāi)始就將安全問(wèn)題考慮進(jìn)去,而WINDOWS的理念則是“易用至上,安全次之”。
其實(shí),WINDOWS并非獨行客。某些類(lèi)Unix操作系統也踏上了WINDOWS系統的發(fā)展道路。盡管像Ubuntu這樣的Linux發(fā)行版本在安全可靠性和易用性之間所做的權衡重蹈了WINDOWS的復轍,但它敢明目張膽這樣做的資本部分要歸因于它們是類(lèi)Unix系統。
令人傷心的是,兩個(gè)系統之間的差別越來(lái)越小了。