问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Android 14系统应用权限详解

创作时间:
作者:
@小白创作中心

Android 14系统应用权限详解

引用
51CTO
1.
https://blog.51cto.com/u_15777557/12558869

在Android 14系统中,System Apps(系统应用)是预装在设备上的应用,通常由设备制造商、操作系统开发者(如Google)或移动运营商提供。这些应用享有更高的权限级别,但也受到严格的安全管理。以下是关于System Apps权限的详细说明,包括变化和注意点:

System Apps权限的特点

预装特权

  • System Apps 通常安装在
    /system/app

    /system/priv-app
    目录下。
  • 这些应用默认具有
    system
    签名,与系统框架共享相同的权限范围。

平台签名权限

  • 系统应用若使用与平台相同的签名,可以请求一些普通应用无法访问的权限,如:
  • READ_PRIVILEGED_PHONE_STATE:读取用户设备的敏感信息(如IMEI)。
  • MANAGE_USERS:管理设备上的用户账户。
  • PACKAGE_USAGE_STATS:访问应用使用数据。
  • 这些权限只能通过
    signature
    级别授权。

Privileged Apps

  • 位于
    /system/priv-app
    目录下的应用称为特权应用(Privileged Apps)。
  • 特权应用可以请求额外的权限,如:
  • INSTALL_PACKAGES:静默安装应用。
  • DELETE_PACKAGES:静默卸载应用。
  • WRITE_SECURE_SETTINGS:修改
    Settings.Secure
    中的安全设置。
  • 必须在设备的
    privapp-permissions.xml
    中显式声明这些权限。

权限授予方式

  • 普通权限(Normal Permissions):自动授予。
  • 危险权限(Dangerous Permissions):即使是系统应用,也需要通过运行时权限申请。
  • 特权权限(Privileged Permissions):需要在
    privapp-permissions.xml
    中配置,或者与系统签名匹配。

Android 14的权限变化

Android 14 在安全性和权限管理方面进行了增强,包括对系统应用的限制和优化:

权限精细化

动态权限分区

  • 针对不同的应用类型,Android 14 引入了更细化的权限分区:
  • system_core
    应用:核心系统应用,权限最高。
  • default_system
    应用:普通系统应用,权限受到限制。
  • 这种分区限制了低级别系统应用滥用高权限。

动态权限管理

  • 运行时权限模型进一步强化,即使是系统应用,也需要动态申请一些危险权限。
  • Android 14 禁止系统应用使用某些过时或危险的权限(如:WRITE_EXTERNAL_STORAGE)。

隐私保护增强

对用户数据的访问限制

  • ACCESS_FINE_LOCATIONACCESS_BACKGROUND_LOCATION等权限需要更明确的用户同意。
  • 系统应用也不能绕过这些限制。

感知权限的记录与监控

  • Android 14 继续改进了权限监控机制,允许用户查看系统应用何时访问了敏感数据(如摄像头、位置、麦克风)。

文件访问权限的变化

  • Android 14 对存储权限进行了限制:
  • 应用必须使用分区存储(Scoped Storage),无法直接访问
    /data

    /sdcard
    根目录。
  • 系统应用如果需要全面文件访问,必须申请MANAGE_EXTERNAL_STORAGE权限,并在设置中启用。

自定义权限的限制

  • 系统应用创建的自定义权限必须显式声明访问策略,并受到 Android 系统的动态管理。

配置权限的文件

以下是影响系统应用权限的关键配置文件:

**
AndroidManifest.xml
**

  • 系统应用声明的权限大多通过此文件定义,例如:
  
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
    <uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE" />
</manifest>
  

**
privapp-permissions.xml
**

  • 位于
    /etc/permissions/
    ,此文件定义了特权应用的权限。例如:
  
<privapp-permissions>
    <privapp-package name="com.example.privilegedapp">
        <permission name="android.permission.INSTALL_PACKAGES" />
        <permission name="android.permission.DELETE_PACKAGES" />
    </privapp-package>
</privapp-permissions>
  

**
platform.xml
**

  • 位于
    /etc/permissions/
    ,定义了权限与应用签名的匹配关系。

**
default-permissions.xml
**

  • 定义了默认授予的权限,例如对预装应用授予某些危险权限。

注意事项

滥用检测

  • Android 14 加强了对系统应用的滥用检测,违规的系统应用可能被用户禁用或卸载。

特权权限的审查

  • 如果特权应用的权限未在配置文件中声明,应用可能无法启动。

定期更新

  • 厂商需要定期更新系统应用,以确保兼容性和安全性。

开发建议

  • 遵循最小权限原则(Least Privilege Principle),避免不必要的高权限申请。

总结

在Android 14中,System Apps的权限体系得到了进一步的精细化和限制,以提高设备安全性和隐私保护。开发者和厂商需要特别关注配置文件中的权限声明,以及遵守Google最新的权限策略,以避免兼容性问题。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号