在高层次上,操作操作操作系统和虚拟机管理程序的系统虚拟系统任务是管理计算机系统的资源
,以保证可以构建安全的化安基础 。有关机密性、全知完整性和可用性的识域设计应用程序。 软件堆栈的安全这些最低层在安全性方面的主要作用是提供安全域的隔离和可能违反隔离的所有操作的中介
。建站模板在理想情况下,中的作用操作系统将任何单个进程与所有其他进程隔离开来 。操作操作例如,系统虚拟系统外围进程应该无法访问分配给主进程的化安内存,了解与该主进程相关的全知活动的任何信息,除了进程选择显示或阻止进程无限期使用其分配的识域设计资源(如CPU时间)的那些。某些操作系统甚至可能调节信息流
,安全以便在没有适当许可的中的作用情况下永远不会将绝密数据泄漏到进程
,高防服务器或者分类数据不能由没有适当权限级别的操作操作进程修改
。 深入挖掘,我们可以区分控制平面和数据平面操作,我们看到操作系统中的隔离涉及两者。在内存隔离中 ,操作系统在配置MMU(内存管理单元)时在控制平面上运行,然后负责隔离,操作系统不会过多参与
。在大多数其他交互中,例如 ,在对非特权安全域提供的系统调用参数进行操作时,操作系统在两个平面上运行
。平面之间缺乏分离很容易导致漏洞,源码下载例如,当操作系统决定在另一个域中重用以前属于一个安全域(由MMU强制实施访问隔离)的内存页时,没有正确覆盖(可能敏感)数据
。 设计操作系统的方法有很多种。无花果。1说明了四种极端设计选择 。在图内。1(a),操作系统和应用程序在单个安全域中运行,并且没有任何隔离。早期的操作系统是这样工作的,模板下载但今天的许多嵌入式系统也是如此 。在这种情况下,系统中的不同组件之间几乎没有隔离
,应用程序可能会损坏文件系统(FS)的活动,网络堆栈、驱动程序或系统的任何其他组件。 图1(b)显示了大多数现代通用操作系统的配置 ,其中大多数操作系统驻留在单个安全域中,与应用程序严格隔离,而每个应用程序也与所有其他应用程序隔离。源码库例如,这是Windows
,Linux ,OSX和原始UNIX的许多后代的结构。由于操作系统的几乎每个组件都在单个安全域中运行 ,因此该模型非常有效 ,因为这些组件仅通过函数调用和共享进行交互记忆 。只要每个组件都是良性的
,该模型也是安全的服务器租用