我发现此声明:“http://source.android.com/devices/tech/security/se-linux.html”
在Android 4.3中,SELinux非常宽容。在Android 4.4中,SELinux强制执行几个根进程的域:installd,netd,vold和zygote。所有其他进程(包括其他服务和所有应用程序)仍处于许可模式,以允许进一步评估并防止Android 4.4中的故障。但是,错误的应用程序可能会触发不允许的根进程中的操作,从而导致进程或应用程序崩溃。
这意味着SEAndroid尚未完全启用,有人可以确认吗?
答案 0 :(得分:1)
Android for SE有三种主要模式:禁用,允许和强制执行。在4.3中,默认模式是允许的。这意味着已启用SE,但仅记录策略违规,而不是强制执行。在许可模式下,一切都与SE不存在或禁用的情况相同,只是您可以查看拒绝日志并查看策略的工作方式以及它在强制模式下的效果。
对于4.4,默认模式已更改为强制执行,但默认策略保持非常简单,只围绕几个关键根进程提供保护。
所以答案是肯定的,Android的SE完全启用并在4.4中强制执行。但是,默认策略非常宽松。如果要确认特定设备上的模式,可以使用adb shell getenforce
。如果你有root,你也可以使用setenforce
,如下所示(1 =强制执行,0 =允许):
usage: setenforce [ Enforcing | Permissive | 1 | 0 ]
最后,如果您有兴趣查看设备上的实际策略,请使用adb pull /sepolicy
关闭策略二进制文件,然后使用apol进行查看。在Ubuntu上,apol
是包setools-gui
的一部分。