安卓權限

Android 權限提供控制以提高用戶意識並限制應用對敏感數據的訪問。在Android 8.0配置權限,下包括白名單,沒有這些特權的應用程序被禁用,即使他們是在priv-app路徑。在 Android 9 及更高版本上,嘗試使用未正確列入白名單的應用的設備將無法啟動。

對增加的保護可能有害的應用酸酯(PHA)提高

  • 透明化潛在有害的應用行為。
  • 用戶對應用行為的控制。
  • 應用程序開發人員在使用私人數據時的自由裁量權,受權限保護。

包安裝和權限

在Android中9和下部,封裝安裝和許可控制功能被包含在PackageInstaller包( //packages/apps/PackageInstaller )。在Android中10和更高,所述許可控制功能駐留在一個單獨的包裝, PermissionController//packages/apps/PermissionController )。圖1示出了兩個包駐留在的Android 10。

系統應用程序和用戶安裝應用程序使用的軟件包安裝和權限控制功能的分離
圖1.封裝安裝和權限控制在Android的10功能

白名單和訪問

在安卓6.0及以上,Apps的危險權限請求訪問運行。 Android 10 添加了活動識別 (AR) 運行時權限,提示用戶修改或允許危險權限。

安卓8.0要求你在系統配置XML文件明確白名單特權的應用程序/etc/permissions目錄。在Android中9和更高,特權權限必須列入白名單或裝置不能啟動。

為了限制內部API的知名度和防止意外訪問平台庫應用,Android 7.0中引入了本地庫命名空間。這將系統庫與應用程序庫分開,設備製造商可以添加自己的本機庫。

在Android的應用程序10起必須同時簽字權限和用戶同意訪問設備的屏幕內容。依賴於無聲捕獲功能特權的應用程序,如採取截圖,應該使用MediaProjection類代替。

透明度和隱私

在 Android 6.0 及更高版本中,設備出廠 MAC 地址受到保護,不會被 Wi-Fi 服務提供商和數據包分析器訪問。附加限制由於Android 10限制的應用程序訪問所述不可變的設備標識符(ID) ,除非他們列入白名單為特權權限。 (該連接部分提供有關的相關討論,設備標識符,因為這會影響載體。)

在 Android 9 及更低版本上,用戶在向應用授予位置訪問權限時會做出持續的選擇。在Android的10起,一個三態位置的權限功能為用戶提供了三個選項允許設備的位置的應用程序訪問。無論目標 SDK 如何,這些權限要求都適用於 Android 10 中的應用。

從 Android 10 開始配置其他透明度和隱私功能的權限

精簡配置

權限配置已針對 Android 6.0 及更高版本進行了簡化。

  • 環境能力通過推出服務init保持服務配置的所有方面在一個.rc文件。當設置為不通過推出服務能力init ,使用配置文件系統功能fs_config.c代替。
  • 的Android 7.x和降低擴展的Android的ID(AIDS)的機制,使用設備特定android_filesystem_config.h文件指定的文件系統的能力和/或定制的設備製造商助劑。的Android 8.0和更高的支持新方法來擴展文件系統的能力
  • 在8.0的Android,處理USB命令移動設備特定的出init腳本(HAL層替代)和成原生USB守護程序。該USB HAL接口必須在每個發射裝置可以實現在Android 8.0及更高版本。