安全不了的 Android,想不明白的 Google
二十六個字母都數(shù)到 P 了,然而 Android 生態(tài)的安全依然是一個讓人堪憂的狀況,而最近,這個情況更是集中爆發(fā)。
在今年的 Google I/O 大會上,Android 平臺安全負(fù)責(zé)人 David Kleidermacher 在推銷 Project Treble 時透露,Google 將把安全補(bǔ)丁更新納入 OEM 協(xié)議當(dāng)中,以此讓更多的設(shè)備,更多的用戶獲得定期的安全補(bǔ)丁。
這是一個積極的行為,但細(xì)究下就并不值得表揚(yáng)了,因為之所以提出這一方案全因之前被人揭了短。
就在今年四月,Security 安全研究實驗室在測試了 1200 臺不同品牌、不同渠道的手機(jī)后表示,安全補(bǔ)丁的安裝狀況并不盡人意,有些廠商甚至至少漏掉了 4 個月的安全補(bǔ)丁。
而就在這份報告發(fā)布前一個月,Kleidermacher 在接受 CNET 的采訪中剛說完“Android現(xiàn)在和競爭對手一樣安全”。
友軍
用過 Google Pixel 的人都會注意到,Google 每個在月都有一次安全推送的,而且不管你是否想要更新,但其實這個安全補(bǔ)丁 Google 并不僅僅推送給自家手機(jī)。
對于安全問題,Google 現(xiàn)在會在每個月的第一個周一發(fā)布一份安全補(bǔ)丁公告,公告中會列出已知漏洞的補(bǔ)丁。而同樣是這份補(bǔ)丁,各大廠商一般會提前一個月收到,目的是讓 OEM 和供應(yīng)商——比如芯片廠——能夠在公告之前好修補(bǔ)漏洞。
這個設(shè)想是好的,并且如果友軍認(rèn)真執(zhí)行的話效果也不錯,比如 Essential 手機(jī),雖然銷量不好,但是它可以與 Google Pixel 同一天推送安全更新。
然而前面提到了,其他廠商并不都這么干的,具體各家差多少直接看圖吧:

Security 還指出,這一結(jié)果的背后芯片供應(yīng)商有很大責(zé)任,因為采用聯(lián)發(fā)科芯片的手機(jī)在獲得安全更新方面更顯糟糕:

這里更新和芯片供應(yīng)商的關(guān)系不是絕對的,比如 PingWest 品玩這就有一臺高通驍龍 835 的手機(jī),目前 Android 安全更新還停留在 2017 年 12 月 1 日。
在這一現(xiàn)象被揭露之后,Google 迅速就做出了回應(yīng),承認(rèn)了這項研究的重要性,并表示將會進(jìn)行核實。而最終的結(jié)果,就是這次 Google I/O 上宣布的事情了。并且 Google 這兩年一直在推行的 Project Treble 正好能夠用上,利用這一機(jī)制,廠商制作安全補(bǔ)丁更容易,成本更低。
一邊用政策來約束廠商,另一邊又許拉低抵觸心理,可以說是個非常棒的套路。但估計 Kleidermacher 怎么也想不到,在扶友軍的同時,自家陣腳亂了。
自家
據(jù)老牌安全軟件賽門鐵克研究發(fā)現(xiàn),有一些曾經(jīng)被發(fā)現(xiàn)過的惡意應(yīng)用重登 Google Play 了,而且使用的方法非常簡單:改名。
這次發(fā)現(xiàn)的惡意應(yīng)用程序有 7 個,它們早在去年就被匯報給 Google 并下架過了,但現(xiàn)在,它們通過更改包名稱重新以表情符號鍵盤、空間清理、計算器等類型登錄 Google Play。
這里簡單介紹下這些惡意應(yīng)用的表現(xiàn),大家注意下:
- 安裝后會進(jìn)入幾小時靜默期,以此避免被注意
- 頂著 Google Play 圖標(biāo)來索要管理員權(quán)限
- 把自己的圖標(biāo)改成 Google Play、Google 地圖這些常見應(yīng)用
- 通過提供內(nèi)容來獲利——比如重定向網(wǎng)站——并且這個形式是云端可控的

相對來說,這一次惡意軟件的行為其實并不重要,更危險的是這次登錄 Google Play 的形式,Google Play 安全流程中的問題。
首先,Google Play 的審核機(jī)制可以說是漏洞百出。在應(yīng)用上架 Google Play 前的過程中,安全測試成了擺設(shè),自動檢測算法根本沒起作用,人工審核就像個宣傳稱號——據(jù)賽門鐵克表示,這些應(yīng)用根本不能提供正常功能,所以人工審了什么?
其次,在上架及用戶安裝后 Google 宣傳的防護(hù)也沒起作用?;跈C(jī)器學(xué)習(xí)技術(shù)識別流氓軟件的 Google Play Protect,據(jù)稱每天會掃描數(shù)十億應(yīng)用,一樣被繞過了。
最讓人無法接受的是,這些體系還是被繞過兩次,而第二次僅僅是通過改名就饒過了。這難免不讓人聯(lián)想到 Google Play 的安全流程中是不是沒有“總結(jié)經(jīng)驗”這一行為,所謂的機(jī)器學(xué)習(xí)是不是學(xué)和做分開了。
而相對系統(tǒng)漏洞來說,惡意應(yīng)用要讓用戶更加不適一些。畢竟大多數(shù)人的設(shè)備被蓄意利用漏洞攻擊的可能性近乎為 0,但是裝錯個應(yīng)用就直接中招了。
應(yīng)用
提到惡意應(yīng)用,很多人自然而然的就會聯(lián)想到流氓應(yīng)用,然后就會想到“全家桶”,進(jìn)而就會想到 Google 這幾年更新了幾個管理措施,更進(jìn)一步還會想到為什么還壓制不住他們。
其實,這事還得怨 Google,因為 Google 一直沒想明白問題重點。
以 Android 8.0 為例,Google 雖然推出了一個后臺控制特性,但是這個特性如果想完全正常使用有一個前提條件,應(yīng)用程序的封包 SDK 要達(dá)到 API 26(一個不面向用戶的開發(fā)設(shè)定,和 Android 版本同步更新,目前正式版最高 API 27,Android P 是 API 28),直白點說就是應(yīng)用是針對 Android 8.0 開發(fā)的。如果應(yīng)用沒這么做,那么結(jié)果就是新特性最多只能發(fā)揮一小部分作用,但并不會影響 App 的正常使用和濫用。
所以,控制權(quán)在應(yīng)用開發(fā)者手里。如果他們認(rèn)為 Android 新機(jī)制非常棒,應(yīng)該遵守,那就上新的 API。而如果產(chǎn)品部、推送服務(wù)商覺得組成全家桶賣相好,那么就保持原樣。

筆者了幾個 Google Play 中的應(yīng)用后發(fā)現(xiàn),其中最低的居然可以低到 API 18,甚至 Google 自家的某些應(yīng)用也還停留在 API 24。而在 Google Play 之外,騰訊新推的 TIM,現(xiàn)在還在用 Android 4.0.3 時期的 API 15 玩的不亦樂乎。
可見,在這種近乎君子協(xié)議的前提下,想指望廠商跟上腳步、自我約束,這在短期內(nèi)無異于癡人說夢。
至于這種情況什么時候能更進(jìn)一步的改善,還要看 Google 什么時候想明白強(qiáng)權(quán)的重要性。