引言 操作系统领域一直以来面临的一个主要挑战(2)
2013-07-28 01:21
导读:架构,实现了将安全策略逻辑与安全机制的分离,从而能够提供更加便捷的安全策略设置和调整,以满足不同程序对安全策略的要求。通过引入域、角色和
架构,实现了将安全策略逻辑与安全机制的分离,从而能够提供更加便捷的安全策略设置和调整,以满足不同程序对安全策略的要求。通过引入域、角色和类型等概念实现对安全策略的细化和精确定制。虚拟化技术因其卓越的进程和系统资源隔离能力在发展的初期就被用来实现对应用程序的访问控制,将应用程序置于相对独立的运行环境中,由虚拟机监控依照管理员制定的策略实现程序间的访问控制。
上述这些访问控制机制的实现,往往都依赖于操作系统本身提供的基于保障机密性和完整性的信息隔离机制。但是,这种信息隔离机制却可能被不法程序通过特殊手段绕过,使得访问机制形同虚设,而直接对上层应用程序实施篡改和攻击。造成这些潜在威胁的根源在于访问控制机制未能从操作系统中剥离出来。
通过对资源容器的借鉴,提出了安全容器的概念。其核心思想在于将访问控制机制从操作系统中剥离出来独立于运行环境,依据不同的安全策略形成虚拟的安全容器。在资源容器的基础上,对包括系统进程、文件系统、网络和进程间通信等在仙的系统资源进行访问控制。
每个应用程序被置于一个独立的运行环境中,各自拥有自己独立的文件系统(整个文件系统的一个子集),网络和设备则根据需要虚拟出来,进程间的通信也被严格地控制。各个程序就像运行在一个安全的容器里面,具有较强的访问控制能力。
3 基于容器的虚拟化技术
基于容器的系统需要一个共享的虚拟操作系统镜像。镜像中包括一个唯一的根文件系统,一系列可执行系统文件和库文件,以及其他建立虚拟机所需的资源。任意一个虚拟机都可以像单机的操作系统一样进行重启、关机等操作。
(科教范文网 lw.nSeAc.com编辑发布)
如所示,基于容器的系统架构由两个平台组成:宿主平台和虚拟平台。宿主平台主要由一个共享的操作系统镜像和一个特权级虚拟机组成。管理员通过特权级虚拟机对客户虚拟机进行管理。虚拟平台由若干个客户虚拟机组成,在客户虚拟机平台上运行的程序与直接运行在物理机上的程序在行为上没有本质差别。上面所述的一些基于容器的系统特性和Hypervisor 模型下的虚拟机的系统特性类似,而它们的主要区别在于实现程序独立性的方法。基于容器的系统在实现安全独立性时直接使用了操作系统的内部对象(如PID、UID 等)。
如何安全地使用这些对象需要遵循以下两个要点:命名空间的分开;控制访问(如使用过滤器)。在实现“命名空间分开”上,全局的标识符保存在完全不同的空间内,并且各自虚拟机空间独立的标识符。对于“控制访问”的实现,主要依靠对虚拟机访问内核对象权限进行动态检查。在Hypervisor 系统中安全独立性的实现也是通过命名空间和访问控制来实现的,但更多的是基于包括虚拟内存空间、PCI 总线地址和特权指令等在内的硬件层。基于容器的系统和基于Hypervisor 模型的系统在资源独立性的实现上大致一致,都需要将诸如CPU 周期、I/O 带宽等物理资源进行虚拟产生多份虚拟资源[5]。Hypervisor 系统比较有代表性的Xen虚拟机监控系统和基于容器系统的Linux-VServer 系统都是通过宿主虚拟机来管理网络和硬盘I/O 的,两个系统的差别仅仅在于它们如何映射资源。
4 结论
基于容器的虚拟化技术借鉴了安全容器的思想,在使用资源容器实现资源共享的基础上通过安全容器技术实现对共享资源的有效访问控制。按照不同的安全对象,诸如域、应用程序和虚拟机等分配不同的可访问资源形成虚拟的安全容器,防止其他对象对其资源进行恶意的、未授权的访问。同时它也借鉴资源容器的核心思想,将系统中的资源主体(即虚拟机)中剥离出来,从而达到在虚拟化技术上对系统资源进行精确和高效控制的目的。虚拟机监控器负责对系统中所有的资源容器进行管理和控制,根据用户配置以及系统资源使用的实际情况进行合理分配和回收,实现跨虚拟机的进程间资源共享。但这样的资源控制机制仍然存在安全隐患。