Linux安全
Android 平台的基础是Linux内核。
Linux内核为Android提供了一些关键的安全功能:
- 基于用户的权限模式
- 进程隔离
- 用于实现安全IPC的可扩展机制
- 能够移除内核中不必要的和可能不安全的部分
作为一种多用户操作系统,Linux 内核的一个基本安全目标是将用户资源彼此隔离开来。Linux 的安全理念是防范用户资源之间相互侵扰。因此,Linux 可以:
- 防止用户 A 读取用户 B 的文件
- 确保用户 A 不会占用用户 B 的内存
- 确保用户 A 不会占用用户 B 的 CPU 资源
- 确保用户 A 不会占用用户 B 的设备(例如,电话、GPS、蓝牙)
应用沙盒
Android 平台利用基于用户的linux保护机制识别和隔离应用资源,可将不同的应用分隔开来,并保护应用和系统免受恶意程序的攻击。为此,Android会为每个Android应用分配一个独一无二的用户ID(UID),并让应用在自己的进程中运行。
Adnroid会使用该UID设置一个内核级应用沙盒。内核会在进程级别利用标准的Linux机制(例如,分配给应用的用户ID和组ID)实现应用和系统之间的安全防护。默认情况下,应用不能彼此交互,而且对操作系统的访问权限会受到限制。如果应用A尝试执行恶意操作(例如在没有权限的情况下读取应用B的数据或拨打电话),系统会阻止此类行为,因为应用A没有相应的默认用户权限。这一沙盒机制非常简单,可审核,并且基于已有数十年历史的UNIX风格的进程用户隔离和文件权限机制。
由于应用沙盒位于内核层面,因此改安全模型的保护范围扩展到了原生代码和操作系统应用。位于更高层面的所有软件(例如,操作系统库、应用框架、应用运行时环境和所有应用)都会在应用沙盒中运行。
google文档说明
|