操作系统及其设计在安全中的用处
在较高级别的抽象中,操作员和模拟器调配者负责维护电脑系统所拥有的材料,以保证可以构建安全的基础。有关机密性、完整性和可用性的应用程序。 深入挖掘,我们可以区分控制平面和数据平面操作,我们看到操作系统中的隔离涉及两者。在内存隔离中,操作系统在配置MMU(内存管理单元)时在控制平面上运行,然后负责隔离,操作系统不会过多参与。在大多数其他交互中,例如,在对非特权安全域提供的系统调用参数进行操作时,操作系统在两个平面上运行。平面之间缺乏分离很容易导致漏洞,例如,当操作系统决定在另一个域中重用以前属于一个安全域(由MMU强制实施访问隔离)的内存页时,没有正确覆盖(可能敏感)数据。 由于操作系统的几乎每个组件都在单个安全域中运行,因此该模型非常有效,因为这些组件仅通过函数调用和共享进行交互记忆。只要每个组件都是良性的,该模型也是安全的。但是,如果攻击者设法破坏单个组件(例如驱动程序),则所有安全性都将无效。通常,设备驱动程序和其他操作系统扩展(例如,Linux内核模块)是系统安全性的重要考虑因素。通常由第三方编写,并且比核心操作系统代码更有缺陷,在操作系统的单个可靠的安全域中运行的这种扩展可能意味着会出现的完全实施的损害系统的安全性。 此外,操作系统作为分布式系统运行,任何曾经构建过分布式系统的人都知道问题可能会变得多么复杂。但是,多服务器系统的优点是,例如,受感染的驱动程序不能轻易危害系统的其余部分。此外,虽然从概念的角度来看,多服务器看起来像一个分布式系统,但真正的分布式系统的很多复杂性是由于不负责任的通信,这在多服务器系统中是不存在的。普遍的观点是,基于微内核的多服务器设计比单片和单域设计具有安全性和可靠性优势,但会产生更高的开销-安全价格。基于微内核的多服务器架构可以通过一个简单的命令实现,即使用户不知道它是什么,也可以执行这个命令。 (编辑:银川站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |