大家都聽說了最近引發(fā)風(fēng)波的“突發(fā)新聞”:谷歌拒絕發(fā)布數(shù)百萬臺(tái)設(shè)備的安全更新。哇哦。聽起來真的很糟糕。但這真的像最初看起來那樣令人震驚嗎?請繼續(xù)閱讀,以便更好地了解這里正在發(fā)生的事情。首先,讓我們回顧一下這場辯論的起因。2014年12月29日,巴基斯坦安全顧問Rafay Baloch發(fā)表了一篇文章,內(nèi)容是關(guān)于舊的谷歌Android Webview組件中未修補(bǔ)的漏洞。確切地說,概念驗(yàn)證漏洞可以在4.4 Kitkat之前的安卓版本上使用。兩周后的2015年1月12日,安全研究員托德比爾茲利(Tod Beardsley)發(fā)表了一篇文章,透露谷歌安全部門無意為最近發(fā)現(xiàn)的漏洞開發(fā)修復(fù)程序。一般來說,他們聲稱受影響的Webview版本太舊,無法自行解決問題,但堅(jiān)持要求記者創(chuàng)建一個(gè)補(bǔ)丁,以便將其推送到AOSP的上游來源。
谷歌的辯護(hù)。
那么,這種不可理解的舉動(dòng)背后的官方原因是什么呢?根據(jù)比爾茲利的說法,谷歌不再認(rèn)證包括安卓瀏覽器在內(nèi)的新設(shè)備(你知道的是舊瀏覽器,不是安卓Chrome)。在安卓4.4 Kitkat中,谷歌改用了新的基于chrome的Webview,并擺脫了舊的易受攻擊的代碼。這完全符合一年前泄露的政策,該政策詳細(xì)說明了谷歌移動(dòng)服務(wù)認(rèn)證新設(shè)備的審批窗口。
簡而言之,這項(xiàng)政策要求原始設(shè)備制造商使用最新的安卓版本或其直接前身(大約在新版本發(fā)布后9個(gè)月),但不允許他們在新設(shè)備上運(yùn)送任何舊產(chǎn)品。根據(jù)泄露的消息,任何基于Jellybean的版本的審批窗口已經(jīng)在2014年7月31日結(jié)束,這意味著你在Jellybean上不會(huì)看到任何帶有谷歌服務(wù)的新設(shè)備,所以你也不會(huì)看到帶有舊瀏覽器和Webview組件的新設(shè)備。
好的,但是現(xiàn)有的設(shè)備呢?顯然,泄漏政策不會(huì)限制對市場上現(xiàn)有設(shè)備的更新,這就是問題開始出現(xiàn)的地方。當(dāng)在AOSP代碼中發(fā)現(xiàn)安全問題時(shí),谷歌會(huì)定期修復(fù)它們,這樣原始設(shè)備制造商就可以將這些修復(fù)整合到他們的源代碼中,并遲早將更新推送到他們的設(shè)備上。現(xiàn)在,如果谷歌的上游修復(fù)沒有出現(xiàn)呢?這些設(shè)備必須永遠(yuǎn)不受保護(hù)嗎?當(dāng)然不是。谷歌不是唯一能解決這些問題的公司,但原始設(shè)備制造商也能。
顯然,這需要制造商的干預(yù),但谷歌確實(shí)表示,他們將向合作伙伴通報(bào)安全問題(閱讀原始設(shè)備制造商)。因此,事實(shí)上,負(fù)責(zé)人意識(shí)到了這個(gè)問題,并可以針對此漏洞啟動(dòng)自定義修復(fù)?,F(xiàn)在,讓我們暫時(shí)假設(shè)谷歌確實(shí)提供補(bǔ)丁。這是什么意思?解決了AOSP碼的問題后該怎么辦?
更新過程
首先,谷歌需要通知原始設(shè)備制造商新的安全補(bǔ)丁,并將其鏈接到變更集。將修復(fù)程序合并到設(shè)備特定的代碼庫中后,制造商還需要?jiǎng)?chuàng)建更新包,這需要進(jìn)行質(zhì)量檢查。如果是運(yùn)營商品牌的設(shè)備,完成的更新需要運(yùn)營商的批準(zhǔn),包括更多的開發(fā)和更多的測試。
相當(dāng)復(fù)雜,不是嗎?這就是為什么你看不到許多舊設(shè)備的系統(tǒng)更新。因此,即使有安全相關(guān)的bug修復(fù),也不能保證OEM真的會(huì)在你的設(shè)備更新中發(fā)布修復(fù),但整個(gè)過程太復(fù)雜太耗時(shí),他們很難盈利。
解決問題
谷歌完全意識(shí)到這個(gè)問題,無法及時(shí)向關(guān)鍵系統(tǒng)組件(如Webview)推送安全更新。這就是為什么安卓5.0棒棒糖的重要變化之一是將Webview代碼拆分成一個(gè)包。用戶看不出有什么不同,但對谷歌來說,這意味著他們可以獨(dú)立于任何其他系統(tǒng)組件來更新這個(gè)部分。事實(shí)上,他們可以通過游戲商店推送更新,而無需任何原始設(shè)備制造商或運(yùn)營商認(rèn)證。因此,沒錯(cuò),谷歌確實(shí)很關(guān)注老安卓版本中涉及快速安全更新的設(shè)計(jì)缺陷,并試圖在每個(gè)主要安卓版本中進(jìn)行改進(jìn)。
打包東西。
那么,我們來總結(jié)一下:谷歌應(yīng)該責(zé)怪它沒有提供補(bǔ)丁嗎?是的,絕對的,他們對用戶的安全負(fù)責(zé)。是不是只有谷歌一家難辭其咎?不,絕對不是,因?yàn)樵荚O(shè)備制造商同樣有責(zé)任保持他們的設(shè)備是最新的和安全的。即使沒有谷歌的評論,如果用戶的安全受到威脅,制造商仍然可以開發(fā)定制修復(fù)。面對現(xiàn)實(shí),在如今老安卓設(shè)備的更新政策下,無論如何大多數(shù)人獲得安全更新的幾率有多大?