安全問題需要客觀分析,不是用通俗的語言打個比方就能分出孰優孰劣的。讓我來陳述一件事實吧:
在2010年的Pwn2Own大賽上,白帽黑客Charlie Miller通過OS X Snow Leopard系統中Safari的一個漏洞成功侵入系統,在普通賬戶的登陸環境上取得了整個系統的控制權。嗯沒錯,當時新聞的標題是這家伙又黑掉Safari了。
事后通過分析Charlie Miller的入侵過程,發現是因為OS X系統缺乏一項名為“Address Space Layout Randomization”(地址空間布局隨機化)的特性,這項技術可以使完成特定功能的系統代碼,在每次系統啟動的過程中都存儲在隨機的、不同的位置,缺乏了這個特性,系統的關鍵數據、可執行的堆棧就可以在每次入侵的過程中被精確定位。而這一特性,在同時期的Windows Vista中早已得到了完備的支持。
在Snow Leopard的接替者Lion發布的時候,蘋果引入了ASLR技術,并首次引入沙盒機制來保證系統的安全性。
這是一個操作系統發展過程中很小的一件事,但如果你想認真地討論安全問題,就應該著眼于客觀分析系統所提供的整個安全機制。而不應該從病毒數量、窗戶大門這些比喻上主觀論斷。
之所以要舉出這個例子,就是要說明:
OS X也好,Windows也好,都不可避免的存在安全性漏洞,而只要漏洞存在,就能對系統造成一定破壞;
大家都在吃一塹長一智的向前走,操作系統每一天都比昨天更安全。
如今的操作系統早已不是給硬件提供一個抽象層、讓開發者更方便的寫程序那么簡單,在云計算、移動化的時代,大家都在力圖把操作系統打造成提供服務的平臺。
不管是OS X還是Windows,要想構建完整的生態系統(從開發環境、API的提供到應用分發的渠道和一些必要的安全性驗證等),不僅需要構建一個安全可信任的使用流程(比如從應用商店安裝應用,安裝具備可信任簽名的應用等),而且需要保證系統整個機制的嚴密性、安全性(像Snow Leopard那樣黑客可以直接從Safari攻破系統那當然不行,Windows 7上病毒程序可以輕松繞過UAC當然也不行)。
蘋果的安全機制落后十年嗎?我覺得并不是,十年前的XP并沒有沙盒機制來保護系統安全、也沒有App Store這樣統一的應用分發渠道。但是十年前的XP遠比現在的OS X面臨更多的病毒和入侵威脅,隨著OS X日漸流行,蘋果也遲早要面對這個問題。
據我所知,蘋果并沒有像微軟那樣,提供一個激勵白帽黑客發現并提交Windows漏洞的途徑,這就導致Mac上尚未發現的漏洞可能還有很多。但OS X和Windows每個Build都比上一個要好、要完善,媒體啊,請不要用“落后十年”這樣的話來妖言惑眾、危言聳聽。