你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure 机群上的虚拟机监控程序安全性

Azure 的虚拟机管理系统基于 Windows Hyper-V。 虚拟机监控系统允许计算机管理员指定具有独立地址空间的访客分区。 这些独立的地址空间允许你加载操作系统和与(主机)操作系统并行运行的应用程序,该操作系统在计算机根分区执行。 主机操作系统(也称为特权根分区)可以直接访问系统上的所有物理设备和外设(存储控制器、网络适配)。 主机操作系统允许访客分区共享这些物理设备的使用,方法是向每个访客分区开放“虚拟设备”。 因此,在客体分区中执行的操作系统可以访问由执行在根分区中的虚拟化服务提供的虚拟化外围设备。

Azure 虚拟机管理程序的构建目标包括以下安全目标:

目标 Source
隔离 安全策略要求虚拟机之间不传输信息。 这一约束要求虚拟机管理器(VMM)和硬件具备对内存、设备、网络及受管理资源(如持久化数据)的隔离能力。
VMM完整性 为了实现整体系统的完整性,会建立并维护各个虚拟机监控组件的完整性。
平台完整性 虚拟机监控程序的完整性取决于其所依赖的硬件和软件的完整性。 虽然虚拟机监控程序无法直接控制平台的完整性,但 Azure 依赖硬件和固件机制,如 Cerberus 芯片来保护和检测底层平台完整性。 Azure 会阻止 VMM 和访客在平台完整性被破坏时运行。
受限访问 只有通过安全连接连接的授权管理员才能行使管理职能。 Azure 基于角色的访问控制(Azure RBAC)机制可强制实施最小权限原则。
审核 Azure 支持审计功能,能够捕捉和保护系统上发生的数据,以便后续进行检查。

Microsoft 强化 Azure 虚拟机监控程序和虚拟化子系统的方法可以分为以下三类。

由虚拟机管理程序强制执行的强定义安全边界

Azure 虚拟机管理程序在以下范围内执行多个安全边界:

  • 虚拟化的“访客”分区和特权分区(“主机”
  • 多位嘉宾
  • 本身和主机
  • 本身和所有来宾

虚拟机监控器安全边界的机密性、完整性和可用性均可得到保障。 边界防御了包括侧信道信息泄露、拒绝服务和特权提升等多种攻击。

虚拟机监控程序的安全边界还为租户间的网络流量、虚拟设备、存储、计算资源及所有其他虚拟机资源提供分段。

深层防御攻击缓解

虽然某个安全边界存在漏洞的可能性极低,但 Azure 虚拟机监控程序仍包含多层缓解措施,包括:

  • 托管跨虚拟机组件的主机端进程的隔离
  • 基于虚拟化的安全性 (VBS),用于确保安全环境中用户和内核模式组件的完整性
  • 多层次的漏洞缓解措施。 缓解措施包括地址空间布局随机化(ASLR)、数据执行防止(DEP)、任意代码保护、控制流完整性和数据损坏预防
  • 编译器层面的自动初始化堆栈变量
  • 内核 API 自动对由 Hyper-V 分配的内核堆进行零初始化

这些缓解措施旨在使开发跨虚拟机漏洞的漏洞利用变得不可行。

强大的安全保证流程

与虚拟机管理程序相关的攻击面包括软件网络、虚拟设备以及所有跨虚拟机表面。 通过自动化构建集成流程对攻击面进行跟踪,并触发定期安全审查。

Microsoft 红队会借助威胁建模、代码评审、模糊测试与多项测试,全面检测所有虚拟机攻击面,以防安全边界遭到突破。 Microsoft 还设有一项漏洞赏金计划,针对 Microsoft Hyper-V 符合条件的产品版本中的相关漏洞提供奖金。

注释

了解更多关于Hyper-V中强有力的安全保障流程

后续步骤

想了解更多关于Microsoft推动平台完整性和安全的工作,请参见: