虚拟化技术作为云计算的主要支撑技术之一,实现了以服务的方式为用户提供各种软硬件资源,同时也引入一系列新的安全问题。本文在全面分析虚拟化系统的脆弱性、威胁和风险的基础上,结合高安全等级网络的安全需求,利用风险矩阵与层次分析相结合的方法,构建了能够适用于高安全等级网络环境中的虚拟化系统安全评估框架与量化评分模型。本文通过实际示例,验证了评估方法的可行性。

引言

虚拟化(Virtualization)的概念在 20 世纪60 年代首次出现,利用它可以对属于稀有且昂贵资源的大型机硬件进行分区。近年来,随着云计算的全面落地实践,虚拟化技术在商业应用上的优势日益体现,不仅降低了 IT 成本,而且增强了系统安全性和可靠性,虚拟化的概念也逐渐深入到人们日常的工作与生活中。

虚拟化技术主要分为以下几类:硬件虚拟化(Hardware Virtualization),即利用物理主机的硬件及相关虚拟化软件,创建一个能够运行操作系统的虚拟机;桌面虚拟化(Desktop Virtualization),旨在将逻辑桌面与物理主机分开;其他一些针对不同对象的虚拟化技术,包括应用软件、内存、存储、数据、网络等。

本文关注云计算/分布式平台中广泛应用的硬件虚拟化技术,即将一台物理计算机系统虚拟化为一台或多台虚拟计算机系统。每个虚拟计算机系统(简称虚拟机)都拥有自己的虚拟硬件(如 CPU、内存和设备等),来提供一个独立的虚拟机执行环境。虚拟机中运行的操作系统被称为客户机操作系统(Guest OS),运行虚拟机监控器的操作系统被称为主机操作系统(Host OS),某些虚拟机监控器可以脱离操作系统直接运行在硬件之上(如 VMWARE的 ESX 产品)。引入硬件虚拟化技术的计算机架构与传统架构产生很大的区别,最大的区别就是虚拟机监控器(Virtual Machine Monitor)这一软件层, 它位于宿主机的裸机之上、客户机操作系统之下,如图 1 所示。虚拟机监控器一层的应用对客户机具备隔离能力、洞察能力和干涉能力。

本文内容组织如下:首先对高安全等级网络的特点展开叙述,其次对虚拟化系统安全评估相关工作的现场进行介绍,然后详细阐述并分析虚拟化系统在高安全等级网络环境中可能存在的风险,最后提出一种风险量化评估算法并举例验证。

高安全等级网络环境

高安全等级环境是指应用于某些领域的,具有特殊安全需求的相对独立的网络环境,该网络环境特点如下:(1)网络中存储、处理和传输的信息关系国家安全与利益;(2)网络与国际互联网或其他公共信息网络之间不存在物理上的连接;(3)网络依据严格的安全防护要求建设、管理与使用。

因此,高安全等级网络环境中处理关系国家安全利益的信息,一般处于孤立的网络环境之中,网络规模相对有限,多数情况是以局域网或城域网的形式存在。本文讨论的安全评估方法借鉴高安全等级网络环境的标准规范的安全基线原则,适用该类网络中部署和使用的虚拟化系统。

虚拟化系统安全评估相关工作

云安全联盟 CSA 认为在采用云计算系统/服务之前必须分析风险,而在分析风险之前首先需要明确资产及其价值,在明确资产价值后,选择适当的部署模式和方式。CSA 提出一种称为“映射并进行差距分析”(Map & Find the Gaps)的方法对服务模式或操作模式进行风险评估,并且从云的架构、云的治理和云的运行三个方面提供了安全指南。2015 年 4 月发布的白皮书阐述了如何对服务器硬件虚拟化技术中的安全风险进行识别和管理,提出削弱虚拟化环境风险的最佳实践方法。2016 年 10 月发布的云计算安全技术要求分别描述了 IaaS、PaaS 和 SaaS 产品与解决方案应具备的安全技术能力,为用户选择相应服务时判断服务提供商提供的安全能力是否满足自身业务安全需求提供参考。

从主流观点来看,云计算系统的风险管理整体上可以沿用经典的风险管理方法,比如 AS/NZS 4360,ISO 27005,NIST SP800-39 等。首先,对云识别风险,然后进行风险评估,处置 风 险, 控 制 风 险, 进 行 PDCA(Plan->Do->Check->Action) 循环持续改进,即风险评估的规范和流程也可按照经典的风险评估进行,比如《GB/T 20984 信息安全技术信息安全风险评估规范》。GB/T 20984 中将信息安全风险定义为:人为或自然的威胁利用信息系统及其管理体系中存在的脆弱性导致安全事件的发生及其对组织造成的影响。欧洲网络信息安全局 ENISA 于 2009 年发布的《云计算:好处、风险及信息安全建议》中将云计算面临的主要风险划分为几大类别:政策与组织风险、技术风险、法律风险以及非云专属风险,并先后发布《ENISA 云计算信息安全保障框架》和《云计算合同安全服务水平监测指南》,从安全管理、责任、义务、信息保障要求、身份和访问管理、资产管理、数据和服务的便携、业务连续性管理、物理安全、环境控制和法律等方面提供指南,使公安部门对云计算服务提供商进行预评估,确定是否采购其服务;并且将监测行动科学地引入到全合同周期之中,以达到实时核查用户数据安全性的目的。

虚拟化系统风险分析

本章将从技术与管理两个方面,全面分析虚拟化系统存在的脆弱性,并结合威胁来源,分析虚拟化系统的风险。

脆弱性分析

相较于传统架构,虚拟化技术架构中引入了虚拟机及内部系统(A1)、虚拟机监控器(A2),除此之外,引入虚拟网络(A3),为运行在同一物理主机的多个虚拟机创建逻辑上相互隔离的网络;为了管理多台被虚拟化了的物理主机,还引入了虚拟化资源管理系统(A4)。因此,虚拟化系统分解成以上四个资产对象,本小节将结合高安全等级网络的安全需求对以上资产对象相关的安全问题展开分析。

虚拟机及内部系统

依据高安全等级网络环境中的安全保护需求,从虚拟机相关文件、虚拟机可控性、虚拟机安全迁移、虚拟机资源争用四个方面分析其存在的脆弱性。

(1)虚拟机相关文件

虚拟机镜像文件(VM Image):用户创建虚拟机后,需要从一个虚拟机镜像启动客户操作系统(Guest OS)。大部分情况下,这个虚拟机镜像是一个特定格式的磁盘文件,在大规模计算环境中,为了能够提高创建和启动虚拟机的效率,虚拟机镜像文件通常存放在专用的存储服务器中,如下图 2 所示。虚拟机镜像文件保存了虚拟机硬盘的全部信息,相当于传统环境中的主机硬盘。

虚拟机模板文件(VM Template):也称为黄金镜像(Golden Image),为管理员提供了快速创建新虚拟机的功能,这个新虚拟机是基于一个已经存在的、并已经被配置好的虚拟机来创建,省去了手工安装操作系统和配置系统的步骤。

虚拟机快照文件(VM Snapshot):快照会把虚拟机当前的磁盘镜像保存为一个文件,并可以在以后把虚拟机恢复到虚拟机创建快照时的状态。

由上述可知,虚拟机镜像和快照文件中包含一些敏感数据,比如账号密码、个人信息、系统重要配置文件等,而相较于传统环境中的物理服务器的硬盘,以文件形式存储的虚拟机镜像和快照内的敏感信息更容易被攻击者采集和利用。若未对虚拟机镜像、模板和快照等文件采取安全加固和保护措施,其脆弱性将会被利用引发安全风险。

(2)虚拟机迁移问题

虚拟机迁移是将虚拟机通过一定的方式从迁出端物理计算机转移到迁入端物理计算机的过程。在整个虚拟机迁移的过程中,缺乏对迁出端和迁入端的安全加固手段,被攻击者利用窃取虚拟机信息; 虚拟机在不同信任级别的物理服务器/局域网之间迁移,造成信任级别混杂,增大风险;迁移结束后,迁出端的数据残留问题等。另外,大多数虚拟机动态迁移以明文的方式进行网络传输易造成敏感信息泄露。

(3)虚拟机资源争用

在虚拟化环境中,集中使用特定物理服务器资源的软件可能耗尽这些资源,从而影响虚拟机的可用性。发生此情况是因为物理服务器中的共享环境放大了资源争用的严重程度。特别是当多个虚拟机同时运行相同的资源密集型的软件时,例如杀毒软件,可能导致系统一段时间内的服务不可用。

虚拟机监控器

作为虚拟化系统最重要的一层——虚拟机监控器(VMM),虚拟主机中的硬件“设备”多是由 VMM 模拟出来的,它的安全问题将关乎整个网络环境的安全。

(1)虚拟机监控器配置安全

虚拟机监控器(VMM)使管理员能够配置和管理虚拟主机、网络和存储资源,以便创建虚拟机和服务。在创建虚拟机时,对于网络、存储等硬件的使用方式是可配置的,正确的配置能够减少虚拟化系统的风险,不当的配置可能被黑客利用而展开攻击。

(2)虚拟机监控器漏洞

自虚拟化技术广泛应用以来,已有多个虚拟化内核安全漏洞被发现,使用 KVM 和 XEN作为虚拟化平台的业务都会受这批漏洞影响。该类漏洞一旦被攻击者恶意利用,一般造成两大类的攻击:

提权攻击:虚拟机的普通用户可能通过该类型漏洞获取虚拟机的根(root)权限;进一步地,攻击者能够控制宿主机执行任意代码,即发生虚拟机逃逸。虚拟化环境下的虚拟机利用 VMM漏洞能够获取比自身更高的权限,例如 XEN 的CVE-2014-7155 漏洞,该漏洞源于程序没有正确检查管理模式的权限。本地虚拟机端攻击者可利用该漏洞获取内核模式权限。

拒绝服务攻击:在虚拟化系统环境下,某一个虚拟机利用 VMM 的漏洞,导致运行于VMM 上的客户机或者宿主机系统崩溃或资源耗尽,造成宿主机及所有虚拟机拒绝服务或宕机,影响业务的正常运转。

(3)虚拟机监控器非授权访问和使用 API

虚拟机监控器一般包含一组丰富的管理API,其成为虚拟机监控器的潜在攻击面。如果管理程序、工具、脚本对虚拟机监控器软件的访问未充分实现身份认证和访问控制,则会带来安全问题和风险。

虚拟网络

虚拟网络技术提供了从一个共享的物理网络创建一个逻辑上独立隔离网络的方法。当前主流虚拟 化平台,例如 VMware、XEN 等,均提供虚拟网络机制,为运行在其上的虚拟机提供访问物理网络的途径。传统的 IT 基础设施网络流量能够被监视和保护,因为其数据流流经物理的路由器、交换机和防火墙。在虚拟网络中,这可能变得无法管理,除非将流量显式地重定向到物理或虚拟设备中进行监控。虚拟网络配置相对容易修改,可能造成与实际物理网络安全策略的不一致。

虚拟化资源管理系统

在虚拟化环境中,许多使用者(如虚拟机或虚拟桌面)都请求资源,整合一个系统上的不同负载通常需要组合具有不同服务级别协议以及不同吞吐量、响应时间和可用性要求的负载,但资源始终是有限的,它们由一个 IT 系统上的多个虚拟化环境共享;因此,关键是要限制对特定共享资源的访问、隔离资源使之不被某些负载使用,至少要限制负载对共享资源的使,这样才能够保证每个虚拟化环境的服务水平或影响其性能。资源管理不仅限制对共享资源的访问、监视资源使用情况,而且还管理用户和收集账户信息。

虚拟化资源管理系统通过自助门户将虚拟基础设施的特定部分提供和管理给指定的自助服务管理员,管理自助门户为运营管理人员提供统一的资源管理、监控、用户管理等统一管理界面,用户自助门户通过 Web 功能界面对已创建并分配好的虚拟机进行使用。自助服务门户作为用户访问资源的主要通道,若未考虑安全加固,将增加虚拟化系统的安全风险。

综合以上对虚拟化系统主要资产对象的安全分析,立足于高安全等级网络的安全要求,将安全风险利用的脆弱性进行分类与分析,如下表格 1 所示, 其中标 * 内容是高安全等级网络中的关键脆弱性问题。

威胁分析

上述虚拟化系统主要资产的脆弱性分析一旦被利用,对网络环境造成的安全威胁如下表格 2 所示。

基于风险矩阵法的虚拟化系统安全评估模型

本文综合参考我国信息安全的评估准则和已有文献评估方法,运用了一种基于风险矩阵的信息安全风险评估模型。本文方法应用专家二维矩阵法处理专家数据,再利用 Borda 序值理论和层次分析法(Analytical Hierarchy Process,AHP)得出各风险要素的权重,最后利用风险矩阵得出实体风险等级值,将专家定性过程量化,使评估结果更合理。评估分析过程如图 3 所示。

确定风险矩阵栏目及风险要素

安全事件发生概率和安全事件影响是确定风险等级的基础,根据 GB/T 20984-2007 中的等级划分规则,将其各分为五个等级。在安全事件发生概率等级中,1 级至 5 级依次表示发生概率越来越大; 在安全事件影响等级中,1 级至 5 级依次表示影响越来越严重。本文以虚拟化系统的四种资产对象类型(虚拟机及内部系统、虚拟机监控器、虚拟化网络、虚拟化资源管理系统)作为四种评估项。

构建专家二维矩阵

单个评估项的风险量化值由安全事件发生概率和影响程度决定,GB/T 20984-2007 将威胁、脆弱性严重程度和资产等级均定义为 5 个等级,并分别赋值为:很高(5),高(4),中(3),低(2),很低(1)。

安全事件发生概率表示为 P=f1 (V,T);安全事件影响值表示为 I=f2 (V,A);其中 T 表示威胁出现频率,V 表示脆弱性严重程度,A 表示资产价值。f1、f2 表示构建专家二维矩阵,矩阵行均表示脆弱性严重程度,f1 中列表示威胁出现频率,f2中列表示资产重要性等级。矩阵的构建由专家确定,假设根据对应用场景具体业务的判断,专家二维矩阵 f1、f2 分别为:

通过上述公式构建矩阵,如表 4、5 所示。

以“虚拟机及内部系统”这类资产为例,运用上述方法,对虚拟机采样对象评估,从而可以获得虚拟机这类资产的脆弱性、威胁和资产的等级, 假设脆弱性等级为 3,威胁等级为 5,资产等级为 5。在表格 4、6、5、7 中依次对照,确定其风险发生概率为 21,属于第 5 等级,风险影响值为 17,属于第 4 等级。同理,我们同样假设虚拟机监控器、虚拟化网络、虚拟化资源管理系统的脆弱性、威胁和资产的等级通过上述方法获得,并计算确定风险发生概率与风险发生影响的等级,如表 7 所示。

风险等级的确定

根据 GB/T 20984-2007,建立如下表格 8 所示的风险等级对照表。

风险权重的确定

首先应用 Borda 序值法对风险项进行重要性排序,然后利用 Borda 序值和层次分析法(AHP)定量计算出个风险项的权重。

步骤一:Borda 序值就是给评估要素按重要性进行量化排序,基本方法为:设 N 为总的风险要素数(风险项数),i 为某个特定风险,其中 k 表示某个准则。若 rik 表示风险 i 在准则 k 下的风险等级,则 i 的 Borda 数值。此处,N=4,涉及的信息安全风险的风险矩阵只有两个准则,用 k=1 表示安全事件影响准则I,k=2 表示安全事件概率准则 P。以“虚拟机”为例,由于其风险影响等级和风险概率均为最大,故 r11=0,r12=0,因此 b1=(4-0)+(4-0)=8。同理可求出其余三项的 Borda 数,分别为 7,4,5,取其相对数确定其 Borda 序值分别为 0,1,3,2。

步骤二:由 Borda 序值作为最后判断矩阵的相应元素,根据 AHP 法,得到综合判断矩阵 A:

步骤三:利用层次分析法中的求根法确定各风险要素的权重,计算过程如下:

按行相乘得 A_1=[24, 3, 1/24, 1/3],

开 4 次方得:

归一化得 RW=[0.4668,0.2776,0.0953,0.1603],

计算最终的综合风险等级:

×RWi=4.5×0.4668+3.5×

0.2776+3×0.0953+3×0.1603=3.84

综上,虚拟化系统在高安全等级网络中的风险量化模型,如公式 2 所示。该模型分成两类情况:(1)当系统中有关键脆弱性问题时,系统评定为最高风险等级;(2)当系统中不存在关键脆弱性问题时,系统评估得分按本节算法计算。

结语

本文首先定义了高安全等级网络环境的特点,然后全面地分析了虚拟化系统在高安全等级网络环境中存在的脆弱性和引入的安全威胁,最后利用基于风险矩阵的信息安全风险模型将分析结果进行量化,得到虚拟化系统在高安全等级网络环境中的定量安全评估结果。风险分析过程深入剖析虚拟化系统的重要组成部分,安全评估过程在传统矩阵法的基础上融入了序值法、层次分析法,引入了合理的权重分配策略,为虚拟化系统在高安全等级网络环境中的定量安全评估提供有力参考。

作者 >>>

孔斌, 北京交通大学经济管理学院,国家保密科技测评中心,高级工程师,硕士,主要研究方向为网络安全标准研究、计算机检查与网络风险评估技术、云计算。

李楠, 中国科学院信息工程研究所工程师,硕士,主要研究方向为信息安全、虚拟化技术安全。

胡波, 中国科学院信息工程研究所高级工程师,硕士,主要研究方向为云计算与虚拟化安全、安全风险评估等。

(本文选自《信息安全与通信保密》2019年第三期)

声明:本文来自信息安全与通信保密杂志社,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。