2016年,Linux二十五歲。Linux開始時只是個學生項目。時至今日,一切的一切都運行Linux。智能手機、超級計算機、網站服務器、云、車輛等等在所有的時間里運行的都是Linux。
鎖定Linux不受攻擊者侵入已經成了十分重要的工作
連唯一的例外終端用戶也開始遷移到Linux里。Android現在是最受歡迎的終端用戶操作系統。此外,Chromebook也大受歡迎。事實上,即使是諸如Fedora、openSUSE、Mint、Ubuntu等傳統Linux桌面系統也終于漸漸成勢。筆者的Linux同事甚至還預測“Linux桌面市場份額最終將突破5%的關口”。
當然,終端用戶用Linux也是有年頭的事了。只是他們沒有意識到幾乎所有流行的網站、許多軟件即服務(SaaS)應用程序都是在Linux上運行而已。
甚至連微軟也終于投到Linux門下。筆者指的是微軟去年加入Linux基金會這事。
既然Linux的一切都如此地美好,筆者為什么擔心呢?原因是現在每個真正的黑客都會緊跟Linux和其他開源項目的代碼,為的是尋找漏洞,干這些事的不再僅僅是玩腳本編程的毛孩子了。
開源領袖Eric S. Raymond數年前在Linus定律里指出,“吸足了眼球的Bug是藏不住的”,確實是這樣。Linux現在的成功以及開源軟件現在這么強大,其關鍵之一就是Linus定律。
但Linus定律只有在有足夠人手找Bug及修復代碼的前提下才會奏效。據估計,每千行代碼(KLOC)的錯誤個數為15到50,而經嚴格檢查和測試過的代碼 KLOC錯誤個數為3。Linux內核本身現在有超過1600萬行代碼。不妨算一算。
僅僅2016年一年里,我們就見證了兩個重大Linux安全漏洞大開。兩個漏洞出現在一個調用LUKS磁盤加密和Dirty Cow的腳本程序里。Dirty Cow是個Linux內存問題。另外也出現過一些小的Linux Bug。這些問題幾乎一出現就被修復,給Linux點個贊。
在快速修復問題這一點上,Linux過去的表現遠遠優于蘋果、微軟或其他專有軟件供應商。筆者還是列個數字。發現和修復的Bug不下3000個。
業界有許多頂尖Linux安全開發人員,他們都在忙著追尋這些Bug。如果讀者發現了Bug,也可以根據指引報告Bug。但修復Bug的程序員則永遠是供不應求。
Linux領領袖人物Jon“Maddog”Hall幾年前曾明智地指出,“有些人認為《自由軟件》(Free Software)擁有“無限的”資源。而每一個產品或者項目的資源在某個方面總是有限的。能夠開發自由軟件的人數,尤其是能夠開發某個特定軟件的人數受到擁有技能、時間和愿意做貢獻的人數的限制?!蹲杂绍浖返膶嵸|為,終端用戶能夠加快修復‘嚴重’Bug的速度,如果開發商沒有時間和意愿去解決問題,終端用戶可以自己找資源來解決它。”
在Hall在2009年寫上面一段話時,許多Linux用戶仍然是程序員。現在不一樣了。是的,很多開發人員使用Linux,但也上億個Linux“用戶”連Java和JavaScript之間的區別也搞不清,就更不用說修復Bug了。
而同時,一眾黑客卻千方百計地試圖破解Linux。愛爾蘭開發人士Donncha O'Cearbhaill最近發現兩個Ubuntu桌面的Bug,他說有漏洞供應商找他出價10000美元買這些Apport Bug。他表示,“軟件變得更加安全了,找Bug更困難了,相應的金融激勵因素也在增加。”
10000美元是個小數目。假如有人發現某服務器的Linux加密數據Bug的話,筆者可以想象6位數的勒索軟件(Ransomware)肯定有需求,勒索軟件是一種惡意軟件,可以加密和擾亂數據,黑客可以據此脅迫用戶交錢買解密密鑰。IBM安全最近的一項研究顯示,近70%地的企業受害者為了恢復數據乖乖交錢給勒索軟件黑客。
由于巨大的潛在金額,Linux必將受到黑客前所未有的攻擊。Linux變得強大了;Linux開發商和供應商現在必須站出來維持Linux的安全和承擔由此而來的重大的責任。