论文部分内容阅读
宏内核虚拟化平台存在可信计算基体积和攻击面过大的问题,而以NOVA为代表的基于微内核的虚拟化架构在代码规模上的精简缩减了攻击面积,它对于虚拟化层进行了划分,仅有微型系统管理程序运行于内核空间,解决了系统可信计算基过大的问题,形成了一个更安全的平台。然而NOVA作为一个较新的虚拟化架构,其在I/O安全上仍然存在一些问题:首先,在同一个系统中提供不同安全等级的虚拟机隔离机制是十分必要的,是用户数据安全保障的关键,而NOVA对虚拟机的安全等级没有区分,无法对不同安全等级的虚拟机可访问的I/O资源进行控制,不能确保系统中的关键I/O资源被合理使用;此外,由于系统缺少虚拟机I/O资源的访问控制机制,导致其对I/O资源的共享方式也无法加以限制,因此存在潜在的数据安全隐患。 针对上述I/O安全问题,本文基于NOVA微内核虚拟化架构提出了一种I/O安全机制,该安全机制为虚拟机指定安全等级,并引入了安全域的概念,将虚拟机根据安全等级划入不同的安全域;同时以域为单位制定了I/O访问控制策略,限制不同安全域内的虚拟机可访问的I/O资源;设计了访问控制模块,该模块分为访问控制策略的加载和执行两个部分,通过对虚拟机访问I/O资源的代码路径进行跟踪分析,找出放置访问控制模块的关键位置,使得该模块可以对各虚拟机发出的全部I/O服务访问请求进行拦截,过滤掉访问控制策略不允许的访问请求,完成虚拟机对I/O资源的访问控制。本文对上述I/O安全机制的设计进行了详细介绍,并给出了访问控制模块位于虚拟机监控器以及位于I/O服务应用两种实现方案,阐述了两种方案的具体实现方式,并通过分析对比最终选择在虚拟机监控器内添加访问控制模块。最后通过实验说明了上述I/O安全机制在提高了数据的隔离性与安全性的同时,仅对计算密集型、I/O密集型任务造成了较小的性能损耗。