為什麼同樣是開源的,安卓經常被爆出漏洞而GNU/Linux系統卻少有?
01-07
同樣是開源的,為什麼安卓經常被爆出漏洞但封閉的IOS少有,而PC上卻是GNU/Linux少有而Windows經常被爆出漏洞?我說的『經常』和『少有』可能過於主觀,畢竟我也拿不出數據來說明,不過如果不是這樣,那是否是媒體對安卓和Windows的安全問題過度敏感了?
記者擇原理。
他們用的是安卓,一點小事都可以大作文章。
好問題,這個問題讓我們思考linux的安全性具體體現在哪裡。期待更好的答案,而不只是記者選擇層面的。android與linux的伺服器相比,同樣由於開源而會爆出很多問題,在伺服器上,由於就那麼些版本,有了問題管理員安全員立刻共享,立刻解決,立刻修補,開放度很高,一個系統被反覆攻防檢驗,提高了防禦能力。而在android,發現問題的門檻沒怎麼提高(一般應用反編譯的難度甚至比逆向還簡單了),但是廠商都把開源的linux加了自己的簡單封裝就拿出來賣OS了,發現問題後,廠商或許不知道,或許按兵不動,或許等著大的安卓版本一起修復,總之開放度不高,其次用戶代替了管理員成為linux使用者,安全意識差,最怕的就是半瓶水,隨手root再隨意授權,並不關注防禦和漏洞修補,廠商過多也難有個統一安全標準。還有一個致命問題是安卓市場。攻擊者並不一定要從OS漏洞層面入手,國內無法使用google play,結果就是安卓市場百花齊放,我拿一個APP下來,反編譯,加惡意代碼(或直接在我開發的什麼遊戲啊美女啊生活之類的APP里加),封裝,到處發布,然後就是姜太公釣魚了。即使我的惡意代碼只有用戶有root許可權時才能生效,我也很滿意,因為用戶root的足夠多,比例是四六開。碰上這種問題,在windows和android上,一般用戶就只有重裝刷機了。
這個問題很大,但要回答清楚我覺得卻很簡單,這就是:系統對外提供的API數量決定了漏洞的數量。
內核層面的漏洞,隨著發展,其實Windows和Linux並不會差的太多,畢竟雙方開發這塊的都是極度專業的團隊,所以構架、API框架出現漏洞的可能性都不太大。但是依附在內核外圍的各種驅動、應用層的漏洞,Windows因為歷史包袱的原因,就比Linux多多了。
P.S:Linux比較容易出現漏洞的地方其實也和Windows差不多,例如用於用戶交互的Xorg,還有諸如鍵盤Hook等等只是你不知道而已……
因為用的人多
並不是用得多還是少的問題,是用戶關注度的問題。試問,Linux內核的某個bug,Linux伺服器的某個後門這樣的消息爆出來會有多少用戶關心?基本上只有運維人員和安全人員才會去關心。而Windows和Android就不一樣了,這是你每天用的東西,也是大家每天用的東西,所以一有問題,你傳一下,我傳一下。媒體還煞有其事的報道這些問題,所以大家就覺得安全問題很多了
那是你沒有關注而已linux的tracker仍然是世界上最活躍的開源tracker
就像某位說中國的問題時的一句話,當任何再小的問題乘以13億之後都是不得了的事情。
同樣,看看安卓手機出貨量~如果出現一個漏洞,那憑這個量那有多大影響力。。。
大哥,你以為安卓是怎麼被root的,除了早期那個gingerbreak,用的最多的還是linux內核提權漏洞
蘋果對比android的安全不是來自代碼的更多考慮安全,而是來自發行渠道的封閉。Windows和Linux的安全差異是面向用戶群定位區別導致的應用軟體數量和系統自身集成應用功能導致的. (以上引用 flashsky 大牛的原話)
推薦閱讀:
※Google now的作用體現在哪方面?
※想到國外工作,怎麼操作?
※Google Now Launcher 啟動器的使用體驗如何?
※如何評價 Golang 1.5 更新?
※如何評價2016谷歌開發者大會在中國的北京和上海召開?