傳統(tǒng)Linux不足之處
1)存在特權(quán)用戶root
任何人只要得到root的權(quán)限,對(duì)于整個(gè)系統(tǒng)都可以為所欲為。這一點(diǎn)Windows也一樣。
2)對(duì)于文件的訪問權(quán)的劃分不夠細(xì)
在linux系統(tǒng)里,對(duì)于文件的操作,只有「所有者」,「所有組」,「其他」這3類的劃分。
對(duì)于「其他」這一類里的用戶再細(xì)細(xì)的劃分的話就沒有辦法了。
3)SUID程序的權(quán)限升級(jí)
如果設(shè)置了SUID權(quán)限的程序有了漏洞的話,很容易被攻擊者所利用。
4)DAC(Discretionary Access Control)問題
文件目錄的所有者可以對(duì)文件進(jìn)行所有的操作,這給系統(tǒng)整體的管理帶來不便。
對(duì)于以上這些的不足,防火墻,入侵檢測(cè)系統(tǒng)都是無能為力的。
SELinux簡(jiǎn)介
SELinux系統(tǒng)比起通常的Linux系統(tǒng)來,安全性能要高的多,它通過對(duì)于用戶,進(jìn)程權(quán)限的最小化,即使受到攻擊,進(jìn)程或者用戶權(quán)限被奪去,也不會(huì)對(duì)整個(gè)系統(tǒng)造成重大影響。
SELinux模式
強(qiáng)制模式(enforcing): 越權(quán)行為會(huì)被記錄并且會(huì)被強(qiáng)制拒絕。
寬容模式(permissive): 越權(quán)行為只會(huì)被記錄,不會(huì)被拒絕。
Android和SELinux關(guān)系
Android4.3引入SELinux,此版本完全使用permissive模式。
Android4.4版本,對(duì)一些root進(jìn)程使用enforcing模式,如:installed,netd,zygote等。對(duì)其他進(jìn)程繼續(xù)使用permissive模式。叫做per-domain permissive模式。