贝尔-拉帕杜拉和比巴在一起

信息安全 访问控制 贝尔拉帕杜拉
2021-08-29 23:59:07

从理论上讲,Bell-Lapaluda 安全模型是否可以在操作系统中使用 Biba 完整性模型来实现?还是它们是相互排斥的?

[编辑:从这个问题跟进SU]

2个回答

它们绝对不是相互排斥的,因为它们是正交的,它们完全处理不同的问题。一个处理机密性,另一个处理完整性。@AviD 正确地指出,两者的组合称为“强 * 属性”,它不允许从除您自己的任何其他级别读取或写入。引入这个想法是为了解决 Biba-LaPadulla 固有的问题:没有状态。如果您有 A、B 和 C 三个级别,并且 B 可以从 A 读取并写入 C,那么您可以将数据从 A 遍历到 C,即使没有明确的规则允许这种传输。整个“无状态”的东西是如此严重地限制,以至于 Biba-LaPadulla 真的只作为第一个也是最简单的安全模型教给安全学生,它真的是一个玩具,一个教育结构。

虽然从技术上讲它们并不冲突,但在功能上它们确实存在冲突。
两者都可以实现,即

  • 没有阅读
  • 没有写
  • 不向下读
  • 没有写下来

即,用户只能在他自己的分类级别中读写。

虽然模型明确支持组合它们(具有强大的 * 属性),但我很难弄清楚你为什么想要这样的模型,什么情况需要这样的模型,以及你试图获得什么好处。(我承认我在实践中从未使用或见过这个)。

这似乎是您试图在用户类别之间实现某种形式的硬分离,我认为有更简单的方法可以做到这一点。


刚刚注意到您正在专门询问操作系统- 好吧,除了当前操作系统不支持这一事实(可能除了专业军事系统可能例外)之外,您将再次在类之间创建非常强的分离用户。有效地授予每个班级自己的、不可共享的空间。

但更重要的是,假设这将是系统范围的,将无法共享程序文件,例如操作系统/系统代码。所以,除了实现强大的虚拟机(嗯,Qubes 会支持这个吗?)没有办法在操作系统中实现它(除非你将它限制在系统的一部分,这又变得毫无意义......)