Android中的Permission權(quán)限機(jī)制介紹
Android 通過在每臺設(shè)備上實(shí)施了基于權(quán)限的安全策略來處理安全問題,采用權(quán)限來限制安裝應(yīng)用程序的能力。當(dāng)某個(gè)權(quán)限與某個(gè)操作和資源對象綁定在一起,我們必須獲得這個(gè)權(quán)限才能在對象上執(zhí)行操作。由于Android設(shè)計(jì)本身就是為Android開發(fā)人員著想,所以一切權(quán)限許可權(quán)由用戶決定而不是手機(jī)制造商和平臺提供商,但這不得不帶來了開發(fā)者濫用權(quán)限,黑客通過權(quán)限來進(jìn)行惡意行為的風(fēng)險(xiǎn),所以作為靜態(tài)分析一個(gè)app是否為惡意軟件的第一道關(guān),獲取并了解Android Permission權(quán)限意義是十分重大的。
權(quán)限策略
Android 框架提供一套默認(rèn)的權(quán)限存儲在android.anifest.permission 類中,同時(shí)也允許我們自己定義新的權(quán)限。我們在寫應(yīng)用程序時(shí)聲明權(quán)限,程序安裝時(shí)新權(quán)限被引入系統(tǒng)。權(quán)限授權(quán)在應(yīng)用程序被安裝時(shí)執(zhí)行。當(dāng)在設(shè)備上安裝應(yīng)用程序時(shí),程序?qū)⒄埱笸瓿扇蝿?wù)必需的權(quán)限集合。被請求的權(quán)限列單顯示在設(shè)備屏幕上以待用戶審查只有用戶同意授權(quán)后,程序才會被安裝,該應(yīng)用程序獲得所有被請求的權(quán)限。所以,Android 系統(tǒng)實(shí)施的主要安全準(zhǔn)則是應(yīng)用程序只有得到權(quán)限許可后,才能執(zhí)行可能會影響到系統(tǒng)其它部分的操作。
每個(gè)權(quán)限被定義成一個(gè)字符串,用來傳達(dá)權(quán)限以執(zhí)行某個(gè)特殊的操作。所有權(quán)限可以分為兩個(gè)類別:一種是執(zhí)行程序時(shí)被應(yīng)用程序所請求的權(quán)限,一種是應(yīng)用程序的組件之間通信時(shí)被其它組件請求的權(quán)限。開發(fā)者通過在AndroidManifest.xml文件中編寫權(quán)限標(biāo)簽來定義以上兩種類別的權(quán)限策略。
權(quán)限聲明
應(yīng)用程序可以用一個(gè)<permission>元素來聲明權(quán)限, 用于限制訪問特定組件或應(yīng)用程序 在安裝程序時(shí), 這個(gè)已聲明的權(quán)限被加入到系統(tǒng)中,具體可以參看:Android 自定義權(quán)限
權(quán)限請求
應(yīng)用程序列出所有需要用來完成任務(wù)的權(quán)限,分別用 <use-permission>元素標(biāo)識這些權(quán)限。在程序安裝時(shí)被請求,列表顯示在屏幕上用戶要么同意安裝,要么中止安裝。同意安裝則意味著授權(quán)所有被請求的權(quán)限。
獲取權(quán)限
獲取權(quán)限,是我們靜態(tài)分析某個(gè)app的第一關(guān),通過知道app所具有的權(quán)限,我們一般能夠基本知道該app或許會有那些行為。
工具:目前已有多個(gè)工具可以靜態(tài)檢測Android app所具有的Permissions,這類工具有:aapt、apktool、androguard等等;
相關(guān)文章
flutter 屏幕尺寸適配和字體大小適配的實(shí)現(xiàn)
這篇文章主要介紹了flutter 屏幕尺寸適配和字體大小適配的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07Android應(yīng)用中使用ContentProvider掃描本地圖片并顯示
這篇文章主要介紹了Android應(yīng)用中使用ContentProvider掃描本地圖片并顯示的方法,比調(diào)用本地圖庫的方法更加靈活和可定制,需要的朋友可以參考下2016-04-04Android監(jiān)聽Home鍵和Back鍵的區(qū)別介紹
這篇文章主要介紹了Android監(jiān)聽Home鍵和Back鍵的區(qū)別介紹,本文還同時(shí)給出了Home鍵監(jiān)聽的實(shí)現(xiàn)代碼,需要的朋友可以參考下2015-06-06Android 中 ActivityLifecycleCallbacks的實(shí)例詳解
這篇文章主要介紹了Android 中 ActivityLifecycleCallbacks的實(shí)例詳解的相關(guān)資料,希望通過本文大家能掌握這部分內(nèi)容,需要的朋友可以參考下2017-09-09