Android安全模型与权限管理深度解析
1. Android安全模型概述
Android是基于Linux内核的特权分离操作系统,具有独特的安全机制。首先,初始化设备的用户被称为设备所有者,只有他们能够管理其他用户或执行影响整个设备的管理任务,如恢复出厂设置。
1.1 SELinux
传统的Android安全模型严重依赖于授予应用程序的用户ID(UID)和组ID(GID)。虽然这些由内核保证,且默认情况下每个应用程序的文件是私有的,但应用程序可能会有意或因编程错误而将其文件设置为全局可访问。同时,恶意应用程序也可能利用系统文件或本地套接字过于宽松的访问权限。这些问题源于Linux默认的自主访问控制(DAC)模型,在该模型中,用户获得对特定资源的访问权限后,可以自行决定将其传递给其他用户。
与之相对,强制访问控制(MAC)确保对资源的访问符合系统范围的授权规则(即策略),该策略只能由管理员更改,用户无法绕过。安全增强型Linux(SELinux)是Linux内核的MAC实现,已集成到主线内核超过10年。从Android 4.3版本开始,Android集成了来自Security Enhancements for Android(SEAndroid)项目的修改版SELinux,以支持Android特定的功能,如Binder。从Android 4.4版本开始,SELinux以强制模式部署,但策略执行仅应用于核心系统守护进程,应用程序仍以宽容模式运行,违规行为会被记录但不会导致运行时错误。
1.2 系统更新
Android设备可以通过空中下载(OTA)或通过将设备连接到PC并使用标准的Android调试桥(ADB)客户端或
超级会员免费看
订阅专栏 解锁全文
554

被折叠的 条评论
为什么被折叠?



