斯诺登的爆料使全世界都带着怀疑的目光重新审视NSA,对他们所做的每一件事情充满怀疑。NSA刚刚推出SELinux那几年,人们就不断地追问,NSA的代码是否可信赖?是否有后门?但SELinux是开源的,理论上人人都可以去看源码里面有没有后门,也从没有人发现过后门,所以讨论渐渐偃旗息鼓。可到了2013年,斯诺登横空出世,这个怀疑再度喧嚣尘上。
SELinux是一个Linux内核模块,2000年底在GPL许可下发布,2003年8月进入2.6.0-test3内核,为Linux提供了一个DOD(Department of Defense,指美国国防部)风格的强制访问控制(MAC/Mandatory Access Control)(0)安全策略。所谓强制访问控制,简单的说,就是禁止用户自己改变程序对文件的读写权限,一切访问控制规则都由系统策略管理者事先确定。
在不支持强制访问控制(即“自主访问控制”)的系统里,系统管理员的权限不受限制。比如Linux系统中,root用户可以做任何事情,权限不受限制,一个rm–rf /就可以把整个系统毁掉,或者某个有root权限的进程被攻击者插入执行指令,那么整个系统就都在攻击者的控制之下了。这个问题其实早在SELinux出现一年半之前就有人意识到。
1999年,正在读中科院计算所读研究生的Huagang研究内核的虚拟文件系统VFS源代码时冒出一个想法,很快他动手实现了一个内核补丁,给内核增加了强制访问控制,这就是LIDS项目(1)。那时候的内核版