6、Android系统源码探索与内核剖析

Android系统源码探索与内核剖析

1. Android安全访问控制

在Android系统中,仅使用自主访问控制(DAC)不足以防止系统被入侵。例如,一个具有高特权的系统服务(如init)若被入侵,可能会导致系统被无限制访问。而SE Linux为Android引入了强制访问控制(MAC),从安全角度进一步限制每个运行进程。所有应用程序(包括系统进程)都会被分配SE上下文,并由内核强制执行,这能限制单个进程被入侵时造成的损害。

在编写和扩展SE策略时,若非绝对必要,最好不要修改AOSP树中提供的SE策略,因为它们符合CDD/CTS标准,这对于设备获得Android设备认证尤为重要。

2. Android应用资源访问机制

Android应用通过代理服务访问稀缺资源,这是Android硬件访问的关键。当应用需要访问稀缺资源时,不会直接请求,而是使用进程间通信(IPC)机制Binder向系统服务发出请求。通常,IPC请求对调用者是完全隐藏的,因为它被封装在Android API库中,客户端应用仅看到对本地方法的调用。

具体步骤如下:
1. 客户端应用调用Android API中的某个方法。
2. 该方法调用会发起与一个或多个远程进程中的Android服务应用的IPC对话。
3. 这些服务进程具有必要的安全权限,能够访问稀缺资源。
4. 服务可以协调请求,管理资源的访问和客户端使用。
5. 服务通过声明权限对应用访问其管理的稀缺资源进行细粒度控制。应用若要使用权限,必须在其清单文件中声明意图,并在获得权限之前得到应用用户的明确批准。

3. Android代码源
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值