深入了解 Android 中的 Linux 访问控制
1. Android 系统组成与访问控制起点
Android 操作系统由两个不同的部分组成。第一部分是从主线 Linux 内核派生而来的,它与 Linux 几乎有相同的特性。第二部分是用户空间部分,这部分是非常定制化且特定于 Android 的。由于 Linux 内核是这个系统的基础,并且负责大部分的访问控制决策,因此从这里开始详细了解 Android 是合乎逻辑的。
1.1 本章内容概述
在这部分内容中,我们将进行以下几个方面的探讨:
- 研究自主访问控制(Discretionary Access Control,DAC)的基础知识。
- 介绍 Linux 权限标志和功能。
- 在验证访问策略时跟踪系统调用。
- 阐述更强大的访问控制技术的必要性。
- 讨论利用自主访问控制问题的 Android 漏洞。
2. 自主访问控制(DAC)基础
Linux 默认且常见的访问控制机制是自主访问控制(DAC)。这意味着对一个对象的访问权限由其创建者/所有者自行决定。
2.1 系统调用时的权限检查
在 Linux 中,当一个进程调用大多数系统调用时,会执行权限检查。例如,一个进程想要打开一个文件,会调用 open() 系统调用。当这个系统调用被调用时,会进行上下文切换,操作系统代码会被执行。操作系统能够决定是否应该将文件描述符返回给请求进程。在这个决策过程中,操作系统会检查请求进程和它想要获取文件描述符的目标文件的访问权限。根据权限检查是否通过,要么返回文件描述符,要么
超级会员免费看
订阅专栏 解锁全文
5686

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



