Security-Enhanced Linux的历史

       一个小历史将有助于帮助您理解 Security-Enhanced Linux(SELinux)——而且它本身也是段有趣的历史。

美国国家安全局 (National Security Agency,NSA)长时间以来就关注大部分操作系统中受限的安全能力。毕竟,他们的工作之一就是要确保美国国防部使用的计算机在面临没完没了的攻击时 保持安全。NSA 发现大部分操作系统的安全机制,包括 Windows 和大部分 UNIX 和 Linux 系统,只实现了“选择性访问控制 (discretionary access control)”(DAC )机制。DAC 机制只是根据运行程序的用户的身份和文件等对象的所有者来决定程序可以做什么。NSA 认为这是一个严重的问题,因为 DAC 本身对脆弱的或恶意的程序来说是一个不合格的防护者。取而代之的,NSA 长期以来一直希望操作系统同样能支持“强制访问控制 (mandatory access control)”(MAC )机制。

MAC 机制使得系统管理员可以定义整个系统的安全策略,这个策略可以基于其他因素,像是用户的角色、程序的可信性及预期使用、程序将要使用的数据的类型等等,来 限制程序可以做哪些事情。一个小例子,有了 MAC 后用户不能轻易地将“保密的(Secret)”数据转化为“不保密的(Unclassified)”的数据。不过,MAC 实际上可以做的比那要多得多。

NSA 已经与操作系统提供商合作了多年,但是很多占有最大市场的提供商对于将 MAC 集成进来没有兴趣。即使是那些集成了 MAC 的提供商也通常是将其做为“单独的产品”,而不是常规产品。一部分原因只是因为旧式的 MAC 不够灵活。

于是 NSA 的研究力量尽力去使 MAC 更灵活并且并容易被包含在操作系统中。他们使用 Mach 操作系统开发了他们的思想的原型,后来发起的工作扩展了“Fluke”研究操作系统。不过,难以让人们信服这些思想可以适用于 “真实的”操作系统 ,因为所有这些工作都基于微型的“玩具级的”研究项目。极少可以在原型之外进行尝试以查看这些思想在真实的应用程序中工作得如何。NSA 不能说服具有所有权的提供商来添加这些思想,而且 NSA 也没有权利去修改私有的操作系统。这不是个新问题;多年前 DARPA 试图强制它的操作系统研究人员使用私有的操作系统 Windows,但遇到了很多问题。

于是,NSA 偶然发现了一个回想起来似乎显而易见的想法:使用一个不是 玩具的开放源代码操作系统,并实现他们的安全思想,以显示

(1)它可以工作
(2)它具体如何工作(通过为所有人提供源代码)

他们 选择了主导市场的开放源代码内核(Linux)并在其中实现了他们的思想,即“security-enhanced Linux”(SELinux)。毫无意外,使用真正的系统(Linux)让 NSA 研究人员可以处理他们在玩具中无法处理的问题。例如,在大部分基于 Linux 的系统中,几乎所有都是动态链接的,所以他们不得不做一些关于程序如何执行的深入分析(查阅他们关于“entrypoint”和 “execute”权限的文档以获得更多资料)。这是一个更为成功的方法;正在使用 SELinux 的人比使用先前的原型的人多得多。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值