Android本身?yè)碛泻芡暾臋?quán)限控制系統(tǒng),然而Google只是把應(yīng)用權(quán)限列出來(lái),卻沒(méi)給用戶(hù)選擇的機(jī)會(huì)。從用戶(hù)的角度,大部分應(yīng)用在安裝時(shí)申請(qǐng)不必要甚至根本與應(yīng)用無(wú)關(guān)的權(quán)限,這種行為已經(jīng)侵犯了用戶(hù)的權(quán)益。但是應(yīng)用安裝時(shí)申請(qǐng)的這些權(quán)限,如果你不同意就不能安裝,而安裝的話(huà)卻會(huì)默認(rèn)為同意,那么,如何限制應(yīng)用程序申請(qǐng)不必要的權(quán)限呢?
1 App ops
App Ops類(lèi)似于iOS6/7的隱私保護(hù),已在Android 4.3隱式地推出。不過(guò)Google把這個(gè)功能隱藏得很深,說(shuō)明它應(yīng)該還在完善中吧。不過(guò)可以預(yù)見(jiàn)的是,App Ops將作為Android系統(tǒng)的隱私管理的準(zhǔn)繩,而且這也是唯一不需要Root的方法。
谷歌自己弄的App ops權(quán)限很分明,可以很細(xì)地針對(duì)某一個(gè)軟件進(jìn)行權(quán)限控制,比方說(shuō),我們可以禁止Facebook讀取我們的通訊錄,或者接收短信,或者禁止它調(diào)用相機(jī)(如圖1)。其他軟件以此類(lèi)推,都將權(quán)限非常分明地列出來(lái)了。
并且App ops里還提供了時(shí)間戳,顯示了每個(gè)權(quán)限上次調(diào)用的時(shí)間(如圖2)。
按“LOCATION”、“PERSONAL”、“MESSAGING”、“DEVICE”四個(gè)分類(lèi),也讓人可以從一開(kāi)始就直接朝著自己想要關(guān)閉或者開(kāi)啟的權(quán)限去,不過(guò)分類(lèi)下的內(nèi)容就難免重復(fù)了,因?yàn)橛行┸浖臋?quán)限要求真的太多了。但有分類(lèi)還是好的,畢竟權(quán)限管理這種看起來(lái)“門(mén)檻”比較高的東西,分類(lèi)管理也有助于普通用戶(hù)的理解。
在安全性的問(wèn)題上,開(kāi)源的Android沒(méi)辦法像iOS一樣,而Google又希望可以更好地管理Android上的權(quán)限,所以將主動(dòng)權(quán)完全交給用戶(hù),也給了用戶(hù)更多的選擇。
如果你的Android是4.3以上,并且你也愿意體驗(yàn)一下,你可以這樣打開(kāi)它:使用登錄器(Launcher)找到Activites的快捷方式,然后選擇“設(shè)置(Settings)/App ops”就可以了(如圖3)。
2 XPrivacy(X隱私)
XPrivacy是權(quán)限管理的新秀,即勾即生效,主攻隱私相關(guān)的權(quán)限,類(lèi)型非常詳細(xì)。不過(guò)因?yàn)樗鼪](méi)有應(yīng)用顯示過(guò)濾,所以如果你的應(yīng)用過(guò)多的話(huà),看起來(lái)可能會(huì)比較麻煩。它通過(guò)生成包括序列號(hào)、MAC地址、IMEI以及Android ID的隨機(jī)數(shù)值(如圖4),來(lái)阻止應(yīng)用用戶(hù)追蹤SDK獲取能唯一識(shí)別設(shè)備的標(biāo)識(shí)符(IMEI、Android ID、MAC等),從而讓?xiě)?yīng)用程序獲取不了任何非必要的信息。它可以搞定包括賬戶(hù)、瀏覽器、日歷、電話(huà)、聯(lián)系人、郵件、位置信息在內(nèi)的近一百個(gè)項(xiàng)目的權(quán)限。
XPrivacy 可以對(duì)程序的權(quán)限進(jìn)行管理,不過(guò)它是一款基于Xposed框架的模塊應(yīng)用(如圖5),且Xposed框架不支持低于4.0的版本,而且不支持MIUI,所以先搞定框架就行了。在安裝完畢之后把相關(guān)權(quán)限設(shè)置為隨機(jī),默認(rèn)模板勾選相關(guān)項(xiàng)即可。
3 App Shield(權(quán)限修改器)
它是一個(gè)需要付費(fèi)的Android應(yīng)用,其原理是修改應(yīng)用程序的apk安裝包,刪除其中AndroidManifest.xml文件內(nèi)用于聲明權(quán)限的對(duì)應(yīng)“Android.Permission.*”條目(如圖6),然后再用一個(gè)公開(kāi)的證書(shū)對(duì)安裝包重新簽名(需要允許“未知源”),這樣一來(lái),應(yīng)用程序就不會(huì)向系統(tǒng)申請(qǐng)?jiān)人璧臋?quán)限。當(dāng)應(yīng)用運(yùn)行至相應(yīng)的流程時(shí),系統(tǒng)將直接拒絕,從而達(dá)到用戶(hù)控制權(quán)限的目的。
對(duì)于已安裝的應(yīng)用,AppShield也會(huì)按照同樣方法制作好apk安裝包,然后讓用戶(hù)先卸載原始的應(yīng)用,再安裝調(diào)整過(guò)的應(yīng)用(圖7)。除了該應(yīng)用數(shù)字簽名外,用戶(hù)可以隨時(shí)通過(guò)執(zhí)行同樣的流程將吊銷(xiāo)的權(quán)限恢復(fù)。
App Shield的優(yōu)點(diǎn)在于它不需要Root,并且?guī)缀踹m用于所有版本的Android設(shè)備,在不會(huì)損壞系統(tǒng)的前提下即可吊銷(xiāo)任意一項(xiàng)Android權(quán)限。但是它無(wú)法修改設(shè)備預(yù)裝的應(yīng)用,而且由于它修改了apk安裝包的內(nèi)容,所以也隨之產(chǎn)生了版權(quán)的問(wèn)題。對(duì)很多用戶(hù)來(lái)說(shuō),有一點(diǎn)需要注意的是,它是一個(gè)收費(fèi)應(yīng)用。
4 手機(jī)管家
如果你的手機(jī)不是Android 4.3,如果你也沒(méi)有Xprivacy,那么在Root手機(jī)之后選擇一個(gè)手機(jī)管家吧。雖然它們不是那么強(qiáng)大,但也可以起到一定的效果。騰訊、奇虎、聯(lián)想、百度都有相同原理的工具,不過(guò)到目前為止,敏感數(shù)據(jù)的保護(hù)均不再是它們的主打功能。
相比而言,金山手機(jī)毒霸在權(quán)限管理是最專(zhuān)一的,它沒(méi)有試圖去做成萬(wàn)金油式的管家。它只有五個(gè)功能:管權(quán)限、殺毒、斷廣告SDK活路、禁止應(yīng)用程序自啟動(dòng)、短信/通話(huà)攔截。它是一款A(yù)PP行為管理軟件,專(zhuān)注于手機(jī)APP的行為分析及管理。依托于首創(chuàng)的Java虛擬機(jī)攔截技術(shù),在行為觸發(fā)前即可實(shí)現(xiàn)攔截,更精準(zhǔn)更深入地?cái)r截APP的高危行為。因此,你能輕松禁用彈出廣告(如圖8)、攔截惡意行為、監(jiān)管高危隱私漏洞,全面保障你的隱私安全。
當(dāng)然同時(shí)它也是一款殺毒的APP,它從35000多個(gè)病毒樣本里深度分析提取近30種惡意行為,并進(jìn)行智能攔截,不用卸載惡意軟件也能保障安全。
在管理權(quán)限方面,它可以一鍵掃描出有隱私泄露風(fēng)險(xiǎn)的軟件,然后由你自主禁用高危隱私權(quán)限(如圖9)。軟件發(fā)生隱私獲取行為時(shí)第一時(shí)間告知,讓你充分感知軟件發(fā)生的危險(xiǎn)行為,并可及時(shí)進(jìn)入管理,從此不用再擔(dān)心隱私泄露。