一、引言
虚拟化实现了对传统硬件资源的抽象模拟,凭借其资源隔离、跨域共享、灵活部署、动态管控等诸多优势,虚拟化技术的成功运用开启了云纳万物的时代。然而,据相关机构统计,自肆虐全球的勒索病毒WannaCry爆发至今,有超过80%的虚拟化系统因缺乏安全防护支撑,使得虚拟化环境成为了感染重灾区。面对网络东西向风险加剧趋势,随着攻击者的入侵方式不断演化、渗透行为持续深入,加强虚拟化环境防护,保障虚拟化应用运行与敏感数据安全成为业界关注热点。
二、何谓虚拟化
根据定义【1】:虚拟化一种资源管理技术,是将计算机的各种实体资源(CPU、内存、磁盘空间、网络适配器等)予以抽象、转换后呈现出来并可供分割、组合为一个或多个电脑配置环境。这种资源的新虚拟视图并不受实现、地理位置或底层资源的物理配置的限制。由此可知,虚拟化是一种资源抽象化的软件技术,其实质是将底层资源进行分区,以达到可以为上层提供更加特定和多样的执行环境。
虚拟化架构通常由宿主机、虚拟化层软件和虚拟机三部分构成:宿主机即物理机,包括CPU、内存、I/O设备等硬件资源;虚拟化层软件亦称Hypervisor或虚拟机监视器(VMM:Virtual Machine Monitor),是一种运行在基础物理服务器和操作系统之间的中间软件层,其既可以集成于操作系统之中,也可以运行于操作系统之上;虚拟机是运行在虚拟化层软件上的客户操作系统,用户可以在虚拟机上安装应用程序。根据VMM所处位置,可将虚拟化架构分为三种类型:
图1 虚拟化架构类型
-
独立监控模式:VMM运行在系统硬件上,直接管理和调度所有的物理资源,包括CPU、内存、I/O设备。该架构的优点是VMM具有物理资源的管理功能和虚拟化功能,对资源虚拟化的效率较高;虚拟机的安全性与Hypervisor相关;缺点是由于VMM需要管理物理资源,要求提供各种硬件设备的驱动,导致该架构的VMM比较复杂,如VmWare ESX。
-
主机模式:VMM运行宿主机操作系统之上,通过宿主机操作系统调度各种物理资源,虚拟机应用在调用物理资源时须经过虚拟机内核、VMM和宿主机内核三部分。该架构的优点是较易实现,可以利用宿主机操作系统的各种功能;缺点是VMM进行虚拟化时通过宿主机操作系统,这会对该架构的效率和功能产生一定的影响;VMM运行在宿主机操作系统之上,虚拟机的安全性受VMM和宿主机两方面影响,从而导致该架构的安全性较低。
-
混合模式:其功能由宿主机操作系统实现,为多个虚拟机分配物理资源且彼此独立。该架构的优点是使用统一的操作系统,运行效率更高,管理起来更加方便;缺点是由于各个虚拟机共享宿主机操作系统文件及其他相关资源,相对其他模式,其隔离性较低,如Linux.VServer、Solaris等。
虚拟化技术将应用系统的硬件、软件、数据、网络、存储等物理资源抽象成逻辑资源,通过桌面虚拟化、应用程序虚拟化、存储虚拟化、网络虚拟化等技术应用,极大提高了资源利用率,使IT架构更加适应业务变化。
三、虚拟化面临的安全挑战
虚拟化技术突破了操作系统与物理硬件的界限,在集中化管理、提高硬件利用率、异构资源整合方面具有无可比拟的优势,同时也拓宽了恶意程序的攻击面,给系统安全带来更多安全挑战,究其威胁根源如下:
1. 虚拟机管理隐患
//1.1. 虚拟机蔓延
虚拟机过度创建和计算资源清理回收滞后,将产生虚拟机繁殖失控,最终导致虚拟机蔓延:一些停用的虚拟机及相关镜像文件占用了大量存储空间,影响到系统的资源占用和安全管理;为追求虚拟机自身可用性和安全性而采用粗放式资源配置,导致其它虚拟机资源的匮乏。抑制虚拟机蔓延问题,既要控制虚拟机创建部署的数量,还需为虚拟机适度配置资源,并定期做好资源清理。
//1.2. 虚拟机迁移
虚拟机迁移改变了虚拟机存储位置,如果网络端口参数未随之设置,则迁移的虚拟机在其他物理机重建后,其流量不再受控于入侵检测系统的监测,这也使得迁移后的虚拟机脱离原系统的安全环境,必然带来了安全风险。
//1.3. 配置管理隐患
为追求操作便利放松虚拟机配置管理,或安全运维不及时,都可能给系统带来安全风险。如:任一虚拟机存有漏洞且未做补丁更新,都将给恶意攻击提供可乘之机。另外,如果物理主机缺少安全保护,离线状态的虚拟机镜像文件一旦被篡改,则直接导致虚拟机的完整性和可用性受到破坏。
//1.4. 状态恢复异常
虚拟机加载运行后,每次内容状态发生改变都以快照的方式记录在主机上,以确保虚拟机可恢复到先前某个状态,在非正常情况下,状态恢复机制也有可能将虚拟机恢复到一个未打补丁的状态或者非安全状态,如下图所示:
图2 虚拟机状态异常恢复示意
2. 虚拟化攻击风险
//2.1. 虚拟机跳跃(VM Hopping)
由于同一Hypervisor不同虚拟机之间,可通过网络连接或共享内存进行通信,这使虚拟机跳跃攻击成为可能。攻击者基于一台虚拟机以某种方式获取同一个Hypervisor上的其他虚拟机的访问权限,再以同样方式继续攻击其他虚拟机,甚至还可劫持宿主机,从而控制该宿主机上的所有虚拟机。
//2.2. 虚拟机逃逸(VM Escape)
Hypervisor提供宿主机操作系统与虚拟机操作系统之间的指令转换功能,当攻击者控制了一台虚拟机后,为进一步获取Hypervisor的访问权限,可通过向Hypervisor发送大量的I/O端口信息使其崩溃,也可通过虚拟机触发或利用Hypervisor的安全漏洞或配置缺陷,从而就可访问该Hypervisor所控制的其他虚拟机和宿主机操作系统。
//2.3. 拒绝服务攻击(DoS)
在虚拟化基础架构中,若管理员在Hypervisor上制定的的资源分配策略不够严谨,恶意攻击者就能通过利用一个虚拟机将所有的系统资源耗尽,从而造成其他的虚拟机由于资源匮乏而拒绝服务。
//2.4. VMBR(Virtual Machine Based Rootkit)攻击
攻击者在虚拟化环境下,利用Rootkit隐藏恶意入侵活动,使得自身在避开入侵检测的同时能够监控、拦截和篡改系统中其他软件的状态和动作,从而获得系统的高度控制权,还可以使用钩子hook替代程序,恶意改变程序执行流程以运行非法代码。
四、如何构建虚拟化安全计算环境
虚拟化安全计算环境应综合外部入侵检测、内核保护监管、动态访问控制、可信度量验证等多维度构建。
1.虚拟化环境的入侵检测
将虚拟化入侵检测系统部署至隔离目标VM环境中运行,当遭受恶意入侵时,可立即做出安全决策,进行报警或中止系统运行,并在恶意程序产生实际破坏前予以阻止,保障目标VM正常运行。关键技术包括:
-
日志记录与审计
基于VM的日志记录机制在不受VM自身影响的条件下持续性记录行为、事件等操作和状态信息,并将日志结果保存至隔离环境中,为入侵检测提供可靠依据;基于VM的日志审计机制,可对日志不可抵赖信息进行安全分析,以检查VM系统行为是否正常。
-
蜜罐诱骗与干扰
基于VM的蜜罐诱骗与干扰机制通过虚拟可控环境,以诱导恶意行为入侵,不仅能监控和捕获外部攻击信息,还可快速恢复蜜罐环境,极大降低传统蜜罐系统消耗成本。为避免攻击方觉察,可通过内存共享和延迟资源绑定部署大量的高交互虚拟蜜罐系统,以呈现更为逼真的运行环境,获取更全面的攻击特征信息。
-
漏洞检测
构建漏洞匹配引擎并运行于隔离的VM环境中,通过监控VM行为事件和特征比对,可做好漏洞防范;还可通过VM回放使目标系统还原到日志的某一时间戳运行,执行漏洞匹配引擎分析系统行为是否出现异常,以此判断从回放点开始的运行时段内目标系统有无遭受漏洞攻击。
-
Out-of-VM监控
兼顾面向主机和面向网络的入侵检测功能需求,混合型入侵检测系统在确保自身安全的同时,通过Out-of-VM的监控模式保持对目标系统良好的信息获取能力,其典型系统是Garfinkel等人设计实现的Livewire【2】。Livewire以进程形式运行与目标系统之外,利用VMM实施外部状态监控,以实现隐藏进程检测、内存完整性保护的安全功能目标。
图3. Livewire架构示意
2.虚拟化环境的内核保护
内核是计算机操作系统的核心,其安全直接关系到整个系统的正常运行,内核保护侧重于对恶意行为的识别和防御。关键技术包括:
-
内核完整性监控
虚拟化系统内核保护借助比ring0权限更高的虚拟化层检测和防御Rootkit,从而阻止非法篡改系统内核行为。主要技术实现路径有:①基于VMM将系统中大量分散部署的hook集中到特定内存页,采取页保护以保障hook的完整性;②基于VMM建立内核访问监控机制,提供实时跟踪功能以保障核心数据结构的安全;③利用VMM截获VM内核对象分配和释放事件,生成可以准确反映内核空间状态的内核对象视图,通过视图分析实现系统内核完整性保护;④建立基于模块白名单的访问控制来保护内核数据;⑤利用VMM建立信任根,对VM的操作系统及应用进行可信度量扩展,通过可信内核模块来校验访问控制列表和数据结构完整性。
-
代码授权执行
在代码执行之前,依据安全策略检查调用权限,可以从执行源头保障内核代码的完整性。主要技术实现路径有:①基于VMM实现代码授权管理,并通过哈希加密机制确保内部执行代码与已授权代码的一致性,实现VM仅执行授权过的代码;②针对Rootkit必须执行自身内核代码的特性,可将VMM已授权代码映射到影子内存,通过扩展VMM提供的内存间接访问机制执行从影子内存中的授权代码,从而阻断内核Rootkit攻击;③在VMM与VM之间建立超级调用控制层,对每个调用进行安全验证,仅通过验证的调用才允许VMM完成后续操作,以解决Xen架构下超级调用API易被恶意利用的安全隐患。
-
页面加密
对关键内存数据进行加密保护,可防止恶意窃取和修改。基于页面加密的保护模型SP3【3】将保护域定义为将域与密钥关联起来的一组访问权限构成的主体,运行在SP3域中的客户程序可以获取明文信息,而域外的程序和操作系统本身只能获取加密的内存信息。
研究表明,内核保护大多借助虚拟化层特权功能实现,而虚拟化层的复杂设计容易产生漏洞问题,因此,提出轻量化的虚拟化监控器MAVMM【4】专门服务于系统安全保护,MAVMM在硬件虚拟化的支持下,保证了简单、安全和透明的特性,可提供内存保护、访问监控、进程跟踪等安全防护。
3.虚拟化环境的访问控制
将传统计算机系统的访问控制引入虚拟机环境的安全设计中,以处理VM特定资源共享和通信控制的问题,更好地保障虚拟化系统的安全。关键技术包括:
-
基于主体的访问控制
在虚拟化层加强信息流和资源共享的控制,为客户机和虚拟资源设置安全标签,访问控制模块基于对安全标签和访问策略的验证来控制VM资源的访问和通信,协调管控多个VM安全协作。
图4.虚拟机安全访问控制
借鉴经典访问控制模型BLP的设计,Virt-BLP【5】在虚拟化架构Xen中构建了多级别安全访问控制机制,基于Virt-BLP的访问控制框架VMAC【6】,不仅能够保障VM运行过程中的隔离性和抗攻击能力,还可以增强内存共享的安全性,有效控制VM间的访问和通信。
-
基于动态属性的访问控制
动态访问控制是在虚拟化层的强隔离和资源监控下,以实时属性为依据进行访问授权并根据属性的改变及时调整权限,以满足虚拟化系统灵活而细粒度的授权需求。X-UCON【7】对UCON模型进行了改进,通过引进组件postB扩展出UCON的义务持久性,并在云计算环境中实现了灵活地动态授权机制。
4.虚拟化环境的可信支撑
构建虚拟化可信计算平台,将可信计算融入基于虚拟机技术的应用业务,在屏蔽虚拟目标系统外界干扰的同时提供度量验证机制,确保敏感数据和VM应用的完整性,为虚拟化环境提供更高强度的保护。
图5.基于虚拟化技术的可信计算平台架构
构建以TPM为基础的信任根,在此基础上建立贯穿BIOS、扇区引导、宿主OS、虚拟机管理器、虚拟机控制器、客户OS的信任链,确保系统中各种服务以及安全机制预期启动;同时,利用可信计算基数对虚拟机控制器进行可信管理,实时监控虚拟机行为,确保其在运行过程中不会因恶意代码对插入以及恶意操作而影响宿主机和虚拟机。
在设备物理层,基于物理信任根和密钥管理,构建服务器对信任链,实现虚拟机的可信度量等,为虚拟层对安全提供可信支撑。在虚拟层,为虚拟服务器构建虚拟信任根,利用度量实现虚拟服务器主动防御机制,为虚拟服务器提供可信对运行环境。另外,在虚拟机对客户端系统中利用可信计算技术实现各种安全机制,如身份认证、访问控制、数据加密等,保证虚拟服务器中存储的数据内部泄露。
五、结语
虚拟化技术是一把双刃剑,一方面,通过对硬件层抽象封装实现了系统级隔离,拥有强有力的资源整合能力、硬件无关性、逻辑隔离性、高特权性等优势,另一方面,由于现有的虚拟化架构存在内核级安全监控先天缺陷,若系统控制不严,则可能被攻击方利用并实施反向攻击。因此,构建高安全可信虚拟计算环境,强化虚拟机内核行为和数据监控,对于增强系统安全性具有重要意义。零信任安全理念倡导在虚拟化平台部署灵活安全策略,以实施细粒度、全程监控的访问控制;在等保2.0安全区域边界内容部分,也对不同安全级别网络中的虚拟机与宿主机、虚拟机与虚拟机之间异常流量检测和处置提出了明确要求。可以看出,在以云计算、大数据等新兴信息技术为驱动的数字经济时代背景下,虚拟化应用场景将进一步拓展,虚拟化安全建设也必将迎来新的机遇期。
参考文献
【1】https://bk.tw.lvfukeji.com/wiki/%E8%99%9B%E6%93%AC%E5%8C%96
【2】Garfinkel T,Rosenblum M.A Virtual Machine Introspection based Architecture for Intrusion Detection[A]. In Proceedings of the Network and Distributed System Security Symposium[C]. San Diego, California,USA:Mahesh Tripunitara, 2003, 3(2003): 191-206.
【3】Yang J,Shin KG.Using Hypervisor to Provide Data Secrecy for User Applications on Basis[A].In:Proceedings of the 4th ACM SIGPLAN/SIGOPS International Conference Execution Environments[C]. New York: ACM Press, 2008: 71-80.
【4】Nguyen A M,Schear N,Jung H D,et al.Mavmm:Lightweight and Purpose Built VMM for Malware Analysis[A].In:Proceedings of Computer Security Applications[C]. Washington DC: IEEE Computer Society,2009:441-450.
【5】刘谦,王观海,翁楚良等.一种虚拟机系统下关于多级安全的强制访问控制框架实现【J】.中国通信(英文版),2011, 8(2): 86-94.
【6】刘谦.面向云计算的虚拟机系统安全研究【D】.上海:上海交通大学,2012
【7】朱君礼.基于UCON的云计算访问控制的研究与应用【D】.北京:北京邮电大学,2017
张旗/中孚信息(北京)研究院
来源:freebuf.com 2020-12-16 12:02:12 by: 中孚信息
请登录后发表评论
注册