一种云计算虚拟化环境安全监测及评估方法*
2021-09-03李大勇李海波刘坤禹
王 瑛,裴 升,李大勇,李海波,刘坤禹,周 波
(1.中国电子科技集团公司第三十研究所,四川 成都 610041;2.北京北方车辆集团有限公司,北京 100072)
0 引言
云计算(Cloud Computing)是当今IT 界的热门技术。借助云计算网络服务,管理者可以在瞬息之间处理数以千万计甚至亿计的信息,实现接近超级计算机甚至更强的效能。此外,用户可以按需弹性地使用这些资源和服务,并将计算能力视为能够随时随地使用的信息公用设施。
虚拟化作为实现云计算能力的基础性技术,有利于资源的整合和透明存取,帮助云计算大大降低了复杂度、提升了运行效率,从而使云计算能够在信息领域得到越来越广泛的应用。然而,虚拟化在技术和实现层面存在脆弱性和安全风险。虚拟机之间、虚拟机与宿主机之间的越权访问是虚拟化环境正常工作的极大隐患。通过对虚拟化安全监测及评估的研究,及时发现虚拟环境在运行状态和行为表现两方面的安全问题,使管理员能够对虚拟环境的运行情况进行准确把握,及时处置风险,保证虚拟化环境中信息资产的安全[1-2]。
对计算环境运行情况进行监控是信息安全的基本手段之一。在该领域已经有许多成熟的商业或开源解决方案,如Ganglia、Nagios、BackTrackert 和Livewire 等[3]。Ganglia 是传统集群监控软件的代表,主要用于收集系统级的信息如CPU 利用率、磁盘空间信息,并且由于其良好的性能和简单直观的特点受到广泛欢迎。Nagios 是一款网络主机监控软件,能监视本地或远程主机以及服务,同时提供异常通知。在传统领域监控手段向虚拟化环境迁移的典型产品方面,有虚拟环境日志监控系统BackTrackert和VMWare 虚拟化环境监控器Livewire。但这些监控手段大多仍针对虚拟化后的原有计算设施的监控能力,对虚拟机管理器、虚拟机调度器和虚拟化安全设备等新要素的关注不足。值得注意的是,上述要素的监控对于构建完善的虚拟化虚拟体系而言是不可或缺的,甚至意义更重大。
论文的第1 节简要介绍了虚拟化环境监测的关注点;第2 节给出了虚拟化环境的监测系统,以及关联的监测组件结构及功能;第3 节提出了云计算虚拟化安全评估方法,包括评估过程和安全风险量化途径;第4 节总结了全文。
1 虚拟化环境监测关注点
近年来,计算机硬件技术遵循摩尔定律迅猛发展,但现有操作系统无法充分利用多核硬件平台的并行性潜能,造成了严重的资源和能源浪费。在这种背景下,能够提高硬件资源利用率的虚拟化技术应运而生。从高性能计算中心到个人电脑,虚拟化技术通过将物理平台虚拟成多个计算平台,能够极大提高硬件资源的使用效率,降低拥有者的运维成本。
但是虚拟化技术在解决已有信息安全问题的同时又带来了新的安全问题。虚拟化技术现在仍在发展,并且功能越来越强大,但是其安全漏洞也随之增加。
1.1 虚拟化环境面临的安全威胁
针对虚拟机操作系统内核级的攻击可以突破系统边界,造成比在非虚拟化环境中更大的危害。虚拟化的边界模糊、流动性和内存共享等特性,使其面临较多新的安全威胁。这些威胁给安全防护的实现带来了极大的冲击。目前,主要面临以下3 个层面的安全威胁。
1.1.1 基础设施层面的安全威胁
虚拟化环境面临多种类型的安全威胁,如网络攻击、渗透和信息窃取等传统网络安全威胁,以及新引入的越权访问、反向控制和内存泄露等安全威胁。由于虚拟化拥有的特性,拒绝服务攻击是恶意用户针对虚拟化在网络安全方面的主要攻击类型。
1.1.2 应用与桌面层面的安全威胁
服务的网络化趋势也推动了虚拟化环境的变化。与传统的基于操作系统、数据库的浏览器/服务器系统(Brower/Server,B/S)或客户机/服务器系统(Client/Server,C/S)相比,虚拟化服务调用方式具有统一接口、多租户、动态和复杂业务实现等特点,因此在服务安全、身份认证和访问控制等方面也具有相应的安全需求。
1.1.3 数据层面的安全威胁
虚拟化环境中数据威胁主要表现为内部的数据泄漏和滥用。由于数据和业务应用由云服务提供商控制和维护,在这种模式下如何实现虚拟化环境内部的安全管理、职责分离和审计追踪,如何避免多客户共存带来的潜在数据风险,如何确保数据的私有性及传输数据的抗监听风险等都是需要重点考虑和关注的安全问题。
1.2 虚拟化环境监测目标
虚拟化监测借鉴了网络、主机监控审计和入侵检测等传统安全手段的优点,同时又侧重考虑了虚拟化风险的特点。虚拟化监测通常关注服务器虚拟化、存储虚拟化和网络虚拟化等模式的运行状态和安全脆弱性,监测目标包括以下几点。
(1)隔离机制。虚拟化的一般运行模式包括:多个组织共享一个虚拟机;在一台计算机上,多种密级要求的业务并存;在物理机上的服务合并;一个硬件平台承载多个操作系统等。由于在这几种运行模式中均存在着隔离的要求,这就要求管理者正确严格划分虚拟区间,并随时监控虚拟机状态。如果处理不当,就会产生因数据泄露或跳板攻击导致系统全面瘫痪的严重后果。
(2)迁移过程。在虚拟环境中,一台服务器可能跨越不同的物理设备。比如,进行数据灾备或是性能扩充时,在不同物理设备之间迁移。迁移过程的安全管理更加复杂,因为随着网络地址、端口等特性的变化,安全设置很容易出现问题。
(3)虚拟机管理器行为。宿主机对运行在其上的虚拟机应当具有完全的控制权,且对虚拟机的监测、改变、通信都在宿主机上完成。由于宿主机能够监控所有虚拟机的网络数据,因此对于宿主机的安全要进行严格管理。
(4)虚拟机行为。虚拟机的设计目的是分享主机的资源并提供隔离,但由于技术的限制和虚拟化软件的漏洞,在某些情况下虚拟机里运行的程序会绕过底层,从而取得宿主机的控制权。由于宿主机的特权地位,如果宿主机被控制则整个安全模型会全面崩溃。
(5)虚拟化性能。由于虚拟机和宿主机共享资源,虚拟机会强制占用一些资源,使得其他虚拟机拒绝服务。通常的做法是限制单一虚拟机的可用资源,防止虚拟机无节制地滥用导致的拒绝服务攻击。
(6)虚拟化网络安全。由于虚拟化网络环境的特点,虚拟机之间的网络流量有可能不会通过物理网络设备而直接以其他方式交换,从而逃避传统网络安全设备的监管,造成安全盲点。
2 虚拟化环境监测系统
为能够覆盖云计算中虚拟化环境的监测关注点,尽早发现攻击行为并及时阻断,需要围绕云基础设施的关键要素构建虚拟化环境监测系统。虚拟化环境监测系统能够感知虚拟机资源状态、控制流和数据流的行为属性等态势,精确区分出恶意攻击,保护计算域工作;加强虚拟域之间信息流控制,并对虚拟机行为进行审计;呈现系统资源及服务运行情况,使管理者和用户更直观地了解系统的可用性和安全性等。其监控内容包括:
(1)虚拟机运行时,CPU、内存、外设状态;
(2)虚拟机的创建、销毁以及伸缩、迁移;
(3)虚拟机网络流量、网络服务状态以及虚拟资源池状态;
(4)虚拟环境安全重构过程、虚拟机镜像管理。
虚拟化环境监测系统采集的数据来自Hypervisor、虚拟机及虚拟应用软件等,具有分布性、冗余性、多样性、不准确性和不完整性等特点。虚拟计算环境中基础硬件、网络设备及边界安全设备的数据采集与传统方法一致,但其分布式、层次化的特点使数据采集过程更加复杂。由于对虚拟机的状态探测必须深入至虚拟机内部或Hypervisor 层次中以内省方式运行,此时探针的位置和采集策略发生了变化,需要检测的事件种类增加,如虚拟机休眠、备份、迁移中产生的安全事件,或是虚拟网络设备中匹配到的风险流量等。
虚拟化环境监测系统通过策略驱动,其组件包括运行于虚拟机和虚拟设备中的带内监视器、嵌入Hypervisor 中的带外监视模块、监控服务器、可视化用户接口和数据库。其结构如图1 所示。
图1 虚拟化环境监测系统结构
虚拟化环境监测系统结构中的各个部分的功能如下文所述。
(1)带内监视器与虚拟机Guest 操作系统位于同一特权级,用于监视虚拟机操作系统的执行中的状态变化和行为事件,并根据监控服务器下发的监控规则和策略对虚拟机操作系统的行为进行检查和审计,如识别虚拟机跨域访问和检测虚拟机资源过度使用。
(2)嵌入Hypervisor 中的监视模块以带外方式运行,利用其位于虚拟机管理器层面的优势,通过硬件的行为监控来监视虚拟机操作系统的状态变化和事件行为,从而为带内监视器提供较强的保护能力。此外,监视模块可以感知带内监视器的状态变化,保证带内监控工具不受攻击,保持其可信性。
(3)监控服务器位于虚拟化基础设施外部,其核心功能与应用程序进行隔离的特点可以有效保证其不受攻击。其主要作用是维护系统资源模型、制订并下达安全策略、聚合安全数据、分析并处置安全事件以及向用户呈现虚拟化环境的安全信息。监控服务器根据监控安全事件信息所反映的虚拟化环境实时安全状态,并基于预先制订的安全目标和告警规则与虚拟化环境的控制器通信,实现安全监测与防护的联动。
(4)可视化用户接口以多种视图呈现的方式方便管理员和用户快速地查看、下载监控信息,同时针对不同的用户角色提供不同的信息可见度。管理员用户可以查看全部监控信息并且具有调整安全监控策略的权限,而普通用户只能获得自己使用的资源(虚拟机)或服务的信息。在接口的可视化呈现方面通过物理机-虚拟机视图、用户-虚拟机视图和应用-虚拟机视图将物理资源、虚拟资源和应用这3 个层次联系起来。
(5)数据库实现监控信息和系统运行日志的存储能力。根据安全目标和安全策略的需要,数据库中的数据将保存几个月或更长的时间。
为了使监测得到的数据便于安全评估过程处理,在信息采集后必须首先进行标准化。标准化的目的是为了避免来自多源的信息由于异构性而引起的混乱,为安全评估构建提供统一定义的源数据集。标准化的首要步骤是消除重复报警并聚合取值相近的数据,这样可以大大节省需要传递的数据占用的带宽;其次通过二值化、归一化处理将不同类型的参数值映射至同一类型空间中,避免数据的多样性增加分析处理的复杂度。标准化的具体实现方法包括Min-max 标准化、Z-score 标准化、Decimal scaling 和枚举方法等[4]。
3 虚拟化环境安全评估
3.1 安全评估方法
虚拟化安全防护不是静态的、孤立的、一成不变的过程。安全手段的实时运行状态信息需要通过监测手段得到及时汇总并进行关联分析,从而发现单方面难以辨别出的、潜在的安全问题和安全威胁,从而在安全事件发生时及时调用响应措施加以应对,由此确保虚拟化环境运行在高安全等级之上。虚拟化环境安全评估方法主要由安全目标识别、虚拟化安全监测、安全威胁过程建模、安全风险量化、安全策略回归等过程组成。该评估方法具有重点突出、特征匹配、闭环完善的特点。评估方法流程如图2 所示。
图2 虚拟化环境安全评估方法流程
图2 从虚拟化环境的安全目标识别开始,到安全策略回归,完成对整个虚拟化环境安全的评估。具体的评估过程描述如下。
(1)安全目标识别:对目标虚拟化环境的关键信息资产和安全需求进行分析,确认需要保护的安全目标,包括通常意义上价值较大的目标,如数据库服务器、关键业务系统和管理程序等。
(2)虚拟化安全监测:依赖在虚拟化环境中部署的带内、带外检测模块,感知虚拟机资源状态、控制流和数据流的行为属性等态势,对虚拟化环境的资产主体、防御主体、威胁主体和脆弱性进行参数抽取。
(3)安全威胁过程建模:根据虚拟化环境脆弱性特征和安全监测的结果进行建模,识别虚拟化环境所有可能存在的风险路径,并输出风险过程模型,用于明确系统中存在安全风险的类型。
(4)安全风险量化:根据风险过程模型计算安全目标所面临的最大风险概率、潜在的风险路径和系统的安全风险指数,用以衡量虚拟化环境下各类安全威胁的相对大小,以指导安全防护手段的实施。
(5)安全策略回归:在改进环节完成后,针对可能存在的残留风险调整安全策略,并通过安全监测定期监测风险的变化情况,触发新一轮的安全评估周期。
3.2 安全风险量化
安全风险量化是虚拟化环境安全评估的核心过程。它根据监测取得的安全事件和状态数据,针对安全防护目标,计算其面临的各类风险概率和指标,其结论可以直接应用于安全措施的完善和改进。指标是虚拟化环境中某一安全参数汇总、计算的结果,代表了标准化后虚拟化环境某项安全特征的状态。由于指标之间可能存在依赖关系,因此状态取值可能常发生变化。
安全风险量化的方式是逐步计算虚拟化安全指标体系。指标体系由完成评估目标的一系列指标以层次化的方式构成,指标间通过要素的关联程度定义不同的权值,较为上层的指标由所有相关的下层指标经过权值计算得到。科学的指标体系能够较完整地反映当前虚拟化环境中存在的安全风险,对于提升虚拟化环境的应急响应能力、缓解攻击的危害、发现潜在恶意的入侵行为、提高系统的反击能力等都具有十分重要的意义[5]。安全评估指标体系如图3 所示。
图3 虚拟化环境安全评估指标体系
具体地,指标由数据源产生的原始数据经一定的变换得到,指标根据其构成综合安全指数的占比和粒度可以分为一级、二级、三级和叶指标等几类。叶指标作为独立性较强、层次最低的指标,是构成其余大部分指标的基本要素。三级和二级指标是经过一定程度汇总后的指标,可以反映较为上层的安全参数特征。一级指标是粒度最粗、最宏观的态势指标,直接体现虚拟化环境的综合安全情况。
监控服务器先汇总叶指标使用到的所有原始数据,经安全资产分布、聚集程度判定、增长度评估及权重计算等形成初级指标量化数值;然后依据指标体系的定义逐步求精,对虚拟化环境的流量、服务状态、资源消耗、漏洞状态、防护措施、安全迁移和隔离等指数给出初步计算结果;进而汇集成虚拟化网络、存储、服务器安全和脆弱性4 类较宏观的指标;最终得到的虚拟化环境综合安全指数,可用于反映虚拟化环境的整体安全情况,即内部、外部威胁对虚拟化环境中应用服务和数据的机密性、完整性和服务的可用性造成威胁的严重程度。
表1 展示了在虚拟化环境中安全事件发生的可能性及其对业务的影响两个参数共同作用下的风险级别。
风险值用0~8 的数字来表示。其中:低风险为0~2;中风险为3~5;高风险为6~8。管理员通过对风险值的理解和观察,能够迅速掌握虚拟化环境安全级别和脆弱性的分布,使安全控制的目标更有针对性。在安全事件发生之前针对不同安全级制定相应的策略预案,在威胁到来时从容应对,实现重点防护重要资产,确保业务连续性,使得系统整体的应急响应过程更加有效。
4 结语
本文通过归纳现有虚拟化环境监测分析方法,以及通过聚焦虚拟化安全检测目标,设计了一种新的云计算虚拟化环境安全监测系统。通过策略驱动,将监测组件模块嵌入Hypervisor 层次,并给出了系统的关键结构组件以及功能要求。此外,提出了通过目标识别、安全监测、过程建模、风险量化和策略回归等流程进行安全监测数据分析的虚拟化环境安全评估方法,并细致阐述了安全量化的指标体系。本文所提方法通过集成安全监测系统和安全监测方法,可发现传统方法难以辨别的潜在安全威胁,为今后实现虚拟化环境安全管理和响应水平提升打下坚实的基础。