传统Linux不足之处
1)存在特权用户root
任何人只要得到root的权限,对于整个系统都可以为所欲为。这一点Windows也一样。
2)对于文件的访问权的划分不够细
在linux系统里,对于文件的操作,只有「所有者」,「所有组」,「其他」这3类的划分。
对于「其他」这一类里的用户再细细的划分的话就没有办法了。
3)SUID程序的权限升级
如果设置了SUID权限的程序有了漏洞的话,很容易被攻击者所利用。
4)DAC(Discretionary Access Control)问题
文件目录的所有者可以对文件进行所有的操作,这给系统整体的管理带来不便。
对于以上这些的不足,防火墙,入侵检测系统都是无能为力的。
SELinux简介
SELinux系统比起通常的Linux系统来,安全性能要高的多,它通过对于用户,进程权限的最小化,即使受到攻击,进程或者用户权限被夺去,也不会对整个系统造成重大影响。
SELinux模式
强制模式(enforcing): 越权行为会被记录并且会被强制拒绝。
宽容模式(permissive): 越权行为只会被记录,不会被拒绝。
Android和SELinux关系
Android4.3引入SELinux,此版本完全使用permissive模式。
Android4.4版本,对一些root进程使用enforcing模式,如:installed,netd,zygote等。对其他进程继续使用permissive模式。叫做per-domain permissive模式。