SEAndroid政策与Android权限之间的关系是什么?

时间:2017-01-10 15:29:33

标签: android selinux

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

但我不理解他们之间的关系。应该允许或拒绝他们如何合作检查app中的某个操作?

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

在论文安全增强版(SE)Android:将灵活MAC引入Android ,据说

  

对于传统的第三名   派对应用程序安装,如果该应用程序的安装中止   policy拒绝其中一个请求的权限。

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

是否有熟悉Android和Linux内核的人可以帮助我?

1 个答案:

答案 0 :(得分:0)

我假设您在引用Android权限时引用Android System Permissions(即READ_LOGS,READ_HISTORY_BOOKMARKS,WRITE_HISTORY_BOOKMARKS等)。

放弃了对MMAC(以及系统权限实施)的所有SEAndroid支持,并且已从AOSP中删除所有源代码。有关详细信息,请参阅此answer

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

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