【问题标题】:what is the relationship between SEAndroid policy and Android permissions?SEAndroid策略和Android权限有什么关系?
【发布时间】:2017-01-10 15:29:33
【问题描述】:

我认为 Android 权限是一种 DAC 机制,因为权限是映射到 Linux Kernel 中的组 ID。 SEAndroid 是一种 MAC 机制。 MAC 检查是在 DAC 检查之后进行的。

但我不明白它们之间的关系。他们如何合作来检查应用程序中的一项操作应该被允许还是被拒绝?

我想知道源代码中的 CHECK 操作是如何实现的(权限检查和 SEAndroid 策略检查)。但是在Android和Linux Kernel中找不到相关的源码。

在论文Security Enhanced (SE) Android: Bringing Flexible MAC to Android中,据说

对于传统的第三 派对应用程序安装,应用程序的安装将中止,如果 策略拒绝请求的权限之一。

我也想从源代码中了解详细的实现。但我不知道它在哪里。

有熟悉 Android 和 Linux Kernel 的人可以帮助我吗?

【问题讨论】:

    标签: android selinux


    【解决方案1】:

    我假设当您提及 Android 权限时,您指的是 Android System Permissions(即 READ_LOGS、READ_HISTORY_BOOKMARKS、WRITE_HISTORY_BOOKMARKS 等)。

    所有 SEAndroid 对 MMAC(和系统权限强制执行)的支持都已被放弃,所有源代码都已从 AOSP 中删除。详情请参考answer

    SEAndroid MAC 机制在 Android 堆栈的最深层实现,并提供对最基本操作(即读/写文件、打开/关闭套接字、绑定等)的访问控制。这是通过将 LSM(Linux 安全模块)挂钩直接放入内核来实现的。这就是 SEAndroid MAC 模块如此强大的原因。

    另一方面,Android 权限系统实际上是由高级"JAVA API level framework" 和组件实现的,例如:PackageManager、ServiceManager、ActivityManager 等。让 SEAndroid 处理这些高级组件的强制执行可能会漏掉重点(但这只是我个人的看法)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多