虚拟环境下安全防护技术的应用分析
2016-07-10谢黎
谢黎
目前在虚拟化安全防护方面,大多数组织或机构仍采用传统的防护手段,从技术角度而言传统方法已无法更好地适应当前资源整合的虚拟环境下安全防护的要求,更难满足未来发展变化的需要,因此对虚拟环境下的安全防护方法提出了挑战。本文通过分析虚拟化安全防护与传统安全防护技术之间的差异,以此阐述在虚拟环境下做好安全防护工作应注意的关键问题和解决办法。
【关键词】无代理虚拟化防护 虚拟补丁 APT
1 传统安全防护技术面临的困境
传统环境下的网络安全,通常采取在网络出口处部署防火墙、防毒墙、上网行为管理等安全设备,用来隔离内外网,过滤来自外网的恶意程序,规范内网用户的上网行为,同时DMZ区使用防火墙隔离,部署IDS监控对服务器的非法访问行为,在服务器上部署防病毒软件,保护核心服务器的安全运行。然而实现虚拟化后,多台服务器被集中到一台主机内,这一台主机同时运行了多个操作系统,提供不同的应用和服务,如果继续依照传统的安全防护模型,就需要在每个操作系统中安装防毒软件,在网络层为各主机系统部署入防火墙、侵检测或入侵防御系统,如此一来,这种传统方式下看似合理的安全设计,应用到虚拟环境中将面临一些新的问题。
2 传统安全防护技术存在的问题
2.1 抢占主机系统资源
当防毒软件在启用预设的扫描任务后,将会在指定时间,执行文件扫描的动作,此时防毒软件的运行将会造成CPU和内存占用量的剧增,当系统资源被耗尽时就会导致服务器假死甚至是宕机。倘若是在虚拟化密度较高的虚拟化桌面服务器中,如果防毒软件在同一时段动作,将会造成硬件资源耗尽,最终导致业务中断。
2.2 虚拟机之间内部攻击
传统模式下的安全防护手段只能满足单体硬件的安全防护要求,即防护边界仅位于物理主机边缘,而忽视了物理主机中的虚拟机之间存在的互相入侵、攻击的安全隐患。
2.3 防护间歇问题
虚拟化技术的应用使运维服务具备高灵活性和负载能力,但实时动态调整的资源会导致安全防护间歇的问题。例如:某台一直处于关闭状态的虚拟机在业务需要时自动启动,并成为后台服务器集群的一部分,然而该虚拟机之前的关闭状态,导致其所包括的所有安全防护措施和策略都较一直在线运行的主机滞后甚至是脱节,这就造成了安全防护间歇的问题。
2.4 去除网络边界的挑战
虚拟化环境的动态特性面临入侵检测/防御系统(IDS/IPS)新的挑战,基于网络的IDS/IPS无法监测到同一台虚拟化服务器上的虚拟机之间的通讯,伴随着“网络边界去除”的应用,快速地恢复和便利的移动,将造成获得并维持整体一致安全性的困难局面。
2.5 缺少未知风险感知(APT攻击)
据统计在安全事件中,有80%的几率是由未知风险造成的,尤其是针对APT攻击侦测能力的掌握和欠缺,因此在未知安全威胁方面需要一定的提前预知和防范才能有效降低未知风险。
2.6 难以防护的虚拟化病毒传播
曾经在2012年8月爆发的Morcut/Crisis(危机)病毒,会感染VMware虚拟机且能够在多个系统平台上进行传播。病毒的恶意行为无论是在虚拟化环境中还是在物理服务器中都是一样,所以伴随着虚拟化技术及应用的发展,针对虚拟化环境的病毒也会越来越多,虚拟化环境并非绝对安全,需要额外的安全解决方案进行加固。
2.7 管理成本迅速上升
虚拟化环境仍面临传统方式下的安全防护运维和管理手段等问题,主要体现为:无法确保系统在测试后发生的变化是否会因为安装补丁导致异常;集中安装的系统补丁,前中后期需要大量人力、物力和技术支撑,部署成本太大。
3 虚拟化安全防护技术应用分析
3.1 无代理虚拟化安全防护
无代理虚拟化安全技术使得创建独特的安全控制虚拟机成为可能,通过部署专用安全虚拟机和经特别授权访问管理程序的API,达到虚拟化安全防护的目的,安全虚拟机是一种在虚拟环境中实现安全控制的新技术,在虚拟化环境中从根本上改变了安全和管理的概念。
安全虚拟机利用API访问关于每台虚拟机的特权状态信息,包括内存、状态和网络通信流量等。并将包括防病毒、防火墙、IDS/IPS和系统完整性监控等在内的安全功能应用于各虚拟机中。无代理安全防护通过实时扫描、预设扫描、清除修复等数据接口,对虚拟机中的数据进行病毒代码的扫描和判断,并结合防火墙、IDS策略对虚拟机的实时数据进行安全过滤。无代理虚拟化安全是基于虚拟化底层进行安全防护的技术手段,其主要考虑四个方面的安全要素。
3.1.1 访问控制防护
传统的防火墙技术通常以硬件形式存在,部署在网络边界处,通过访问控制和安全区域间的划分,来保障不同整体网络架构区域中的信息数据资产。然而随着计算资源的虚拟化,导致边界模糊,虚拟系统通过底层硬件组网随意性增强,很多信息交换在虚拟系统底层内部就实现了。而传统防火墙在物理网络层提供访问控制,如何在虚拟系统内部实现访问控制和恶意代码传播抑制是虚拟系统面临的安全问题。使用虚拟防火墙技术来解决虚拟化中针对访问控制层面的防护问题,针对虚拟化的特点做好访问控制防护,就需要针对虚拟化部署虚拟防火墙来实现。虚拟防火墙可以提供全面基于状态检测细粒度的访问控制功能,可以实现针对虚拟交换机基于网口的访问控制和虚拟系统之间的区域逻辑隔离,同时还支持各种泛洪攻击的识别和拦截。
如图1所示,结合虚拟化环境的特点,部署虚拟化防火墙安全防护措施,在虚拟化的HyperVisor层上部署独立的安全虚拟机用以实现防护功能;安全虚拟机通过HyperVisor层中的API接口在HyperVisor的vSwitch层实现对所有运行的虚拟机的细粒度、端口级的访问控制保护。虚拟防火墙使用访问控制策略实现对端口和协议的通信控制,能够有效地阻止病毒传播端口和不安全协议,降低未授权访问服务器的风险,且具备企业级、双向性和状态型的特点。
3.1.2 恶意代码防护
传统的恶意代码防护技术是采取安装Agent代理程序到虚拟机操作系统中,实现针对恶意代码的实时防护的目的,但是虚拟化后的服务器中的每台虚拟主机倘若都部署Agent程,将会带来节点计算资源的重复占用和大量消耗,并且恶意代码库的更新也会带来更多网络资源的开销,不利于服务器资源合理利用和运算效率的提升。使用底层无代理恶意代码防护技术能够解决这一问题,通过使用虚拟化层相关的API接口达到恶意代码防护的目的。底层无代理恶意代码防护是基于虚拟系统环境的通过底层接口实现虚拟系统和虚拟主机之间的全面防护,无需在每台虚拟机操作系统中安装Agent程序,即可实现实时的恶意代码的防护功能,且无需额外消耗分配给虚拟主机的计算资源和网络资源,保证了计算资源的利用率,降低了重复资源的开销。
如图2所示,无代理恶意软件防护的部署是在VMware的HyperVisor层上部署独立的安全虚拟机,并结合VMware的vShield Manager安全管理套接层开放的API接口和每个虚拟机中的VMware Tools工具对每台虚拟机进行恶意代码防护,这种无代理的防护方法可以实现针对每台虚拟机的实时扫描、全盘扫描、计划性扫描等安全防护目的。
3.1.3 入侵检测与防护
在主机和网络层面进行入侵监测和预防,是当前信息安全基础设施建设的主要内容。由于虚拟交换机不支持建立SPAN或镜像端口,且禁止将数据流拷贝至IDS传感器,因此网络入侵监测手段将会变得困难。同样,内联在传统物理网区域中的IPS系统也无法轻易地集成到虚拟环境中,尤其是面对虚拟网络的内部流量时;然而基于主机的IDS系统或许仍能在虚拟机中正常运行,但会消耗共享资源,使得安装安全代理软件的效果变得并不理想。随着虚拟化技术的不断应用,传统的入侵检测工具已经无法运行或融入到虚拟化网络或系统中,需要使用虚拟化入侵检测技术来解决虚拟环境中的主机和网络的监测和防护等问题。
如图3所示,在ESX中的HyperVisor层部署安全虚拟机,安全虚拟机会通过HyperVisor层调用VMware的VMsafe接口,进而与HyperVisor中的vSwitch结合。因为vSwitch会为每台虚拟机生成虚拟网卡,并最终将每台虚拟机的网络流量与物理网卡交互。在虚拟环境的内部vSwitch会交互虚拟机之间的流量,安全虚拟机会下发策略和部署虚拟补丁,并对所有类型的数据流量进行实时防护,对恶意流量进行匹配并拦截。
3.1.4 虚拟补丁防护
随着新漏洞的不断涌现,系统管理员往往在修补系统漏洞或给系统打补丁的工作上疲于应付,加上安装重要安全补丁可能会造成系统软件冲突或是系统重启造成业务中断的情况。此外,部分操作系统或应用程序尚未提供漏洞补丁,或补丁发布时间滞后,从而造成信息系统无法及时修补漏洞而陷入威胁的风险之中。
虚拟补丁修复技术使用基于主机的过滤器来检测和过滤网络流量,当恶意软件危及受到攻击的目标机之前,在不中断应用程序和运营业务的情况下,高效地修复或阻止可能造成漏洞攻击的数据流。虚拟补丁修复一般基于主机的安全功能,针对数据流,检测入站数据流量并保护应用程序免受漏洞攻击。虚拟补丁技术可以解决由漏洞补丁导致的问题,通过在虚拟环境中针对特定的接口对虚拟机系统进行评估,并自动对每个虚拟机提供全面、完整的漏洞修补功能,当操作系统尚未安装补丁程序之前,提供针对漏洞攻击的拦截。并且虚拟补丁技术无需停机安装,也无需进行广泛的应用程序匹配测试,为IT运维人员节省大量劳力和时间。
如图4所示,虚拟补丁技术是通过相关接口在虚拟网卡和虚拟交换机之间建立起嵌套层,利用安全虚拟机对所有出站、入站的数据流进行过滤,将数据包解开读取包中的报文内容,并判定是否存在利用漏洞的攻击行为,若是则丢弃或者阻挡该包,从而实现漏洞防护的功能,如此虚拟机系统也就无需再单独安装补丁了。
3.2 未知风险感知及防护
传统基于特征码匹配或状态检测的安全防护办法已无法应对虚拟环境中存在的未知风险的感知和防护的需要。利用在虚拟网络层部署的数据采集和分析技术,监测网络层的可疑活动从而定位恶意程序,实现对风险的感知和识别,以适应网络虚拟化安全防护的要求。虚拟化安全防护技术可以用来检测基于Web威胁或邮件内容的攻击,如:Web攻击、跨区跨站点脚本攻击、网络钓鱼等。并且,一旦恶意程序在网络中出现传播或感染其它用户的行为时,恶意程序就会被做上特定的标记,以有针对的辨识其向外界传送的信息或从攻击源接收的命令,并方便管理员及时发现风险和做出判断、处理。虚拟化安全防护技术还能用于识别违反安全策略、中断网络以及消耗大量带宽或构成潜在安全威胁的未经授权的程序访问等行为,如:即时通讯、P2P文件共享、流媒体、SMTP中继和DNS欺骗等。利用基于网络层的数据报文内容检测技术侦测网络流量和病毒扫描引擎对报文内容的分析、过滤,同时采取在网络层镜像数据流的方式进行内容检查,及时发现已知攻击,提前预知未知攻击,最终达到应对漏洞扫描、蠕虫、病毒、木马等恶意软件和未知恶意程序攻击的安全防护的需要,确保信息网络和业务系统健康、稳定的运行。此外,管理员也可以根据收集的反馈信息,灵活的调整当前的安全策略,并制订后续的安全防护规划和建设重点。
4 结束语
随着信息技术的飞速发展,虚拟化时代已经到来,虚拟化作为全新计算模式——云计算的基础支撑,在安全方面将面临复杂多样的挑战。因此,需要重视对虚拟化安全防护技术的应用与研究,才能化解云计算应用中突发多变的安全威胁,充分发挥优势规避劣势,使云成为一朵安全、健康的蓝天白云。
专业术语注释
无代理虚拟化防护:无代理虚拟化防护(Virtual Agent Protection)是针对虚拟化安全防护提出的新的防护思路,改变了在传统操作系统中部署Agent端的局面,无代理虚拟化防护是在HyperVisor层进行的防护,通过部署安全虚拟机,实现无需在每台虚拟机上部署Agent即可达到安全防护的能力。
虚拟补丁:虚拟补丁(Virtual Patch)通过控制受影响的操作系统或应用程序的数据流,来改变或消除该应用程序的漏洞,从而实现在不影响应用程序及其相关库和操作系统运行环境的情况下,为应用程序安装补丁,达到安全防护的目的。
APT:APT(Advanced Persistent Threat)高级持续性威胁,是指组织(特别是政府)或者小团体利用先进的攻击手段对特定目标进行长期持续性网络攻击的形式。 APT攻击的原理相对于其他攻击形式更为高级和先进,主要体现在APT在发动攻击之前需要对攻击对象的业务流程和目标系统进行精确的收集,在收集过程中会主动挖掘被攻击对象受信系统和应用程序的漏洞,并在此基础上形成攻击者所需的C&C网络。由于该攻击方式没有采取任何可能触发警报或者引起怀疑的行为,因此更接近于融入被攻击者的系统或程序中。
参考文献
[1]王建永.虚拟化系统的安全防护[J].电脑知识与技术,2013(23).
作者单位
国网宜昌供电公司信通分公司 湖北省宜昌市 443000