#物理安全
#服务器虚拟化安全
##服务器虚拟化的安全隐患

虚拟机蔓延

随着虚拟化技术的不断成熟,虚拟机的创建越来越容易,数量也越来越多,导致回收计算资源或清理虚拟机的工作越来越困难,这种失去控制的虚拟机繁殖称为虚拟机蔓延(VM Sprawl),可以分为:

  • 僵尸虚拟机(Zombie VM)。在实际系统中,许多已经停用的虚拟机以及相关的镜像文件仍然保留在硬盘上,甚至还可能有多份副本,这些已经停用的虚拟机会占据大量系统资源
  • 幽灵虚拟机。许多虚拟机的创建没有经过合理的验证与审核,导致了不必要的虚拟机配置,或者由于业务需求,需要保留一定数量的冗余虚拟机,当这些虚拟机被弃用后,如果在虚拟机的生命周期管理上缺乏控制,随着时间的推移,没有人知道这些虚拟机的创建原因,从而不敢删除、回收、不得不任其消耗系统资源
  • 虚胖虚拟机。虚拟机在配置时被分配了过多的资源(过高的CPU,内存,存储容量等).

特殊配置隐患

  • 使用者在一些虚拟机上特意不更新所有的补丁,以保证他们的软件在有或者没有这些补丁的情况下都能正常工作
  • 传统的共享物理服务器中,分配给每个用户的账户权限都有一定的限制。而在虚拟化基础架构中,经常将虚拟机用户操作系统的管理员账户分配给每个用户,这样用户就具有移除安全策略的权限。
  • 在传统的基础架构安全模型中,一种安全配置能够部署在所有的计算机上。但是当操作系统变得多样化时,手动配置会变得复杂

状态恢复隐患

  • 虚拟机可能恢复到一个没有打补丁的状态
  • 构建安全性操作系统的一个准则是将敏感数据保留在系统中的时间最大限度地减少,而虚拟机的状态恢复能力违背了这一原则

虚拟机暂态隐患

虚拟机可以根据实际需要动态地使用,这样就产生一种现象:大量的虚拟机时而出现在网络中,时而消失,这种现象称之为虚拟机暂态(VM transience)

传统的安全更新周期要求所有的机器都在线,同时进行补丁更新、病毒删除、审计和配置更改,但是虚拟机暂态却导致其变得困难
##服务器虚拟化安全攻击

虚拟机信息窃取和篡改

大多数Hpvervisor将每台虚拟机的虚拟磁盘内容以文件的形式存储在主机上,使得虚拟机能够很容易地迁移出主机。这使得攻击者可以在不用窃取主机或者硬盘的情况下,将虚拟机从原有环境迁出。一旦攻击者能够直接访问虚拟磁盘,则就有足够的时间攻破虚拟机上所有的安全机制,进而访问虚拟机中的数据。

虚拟机跳跃

VM Hopping.指攻击者基于一台虚拟机通过某种方式获取同一个Hypervisor上的其他虚拟机的访问权限,进而对其展开攻击。根据虚拟化的实现方式,我们可知同一个Hpyervisor上的虚拟机之间能够通过网络连接、共享内存或者其他共享资源等相互通信,虚拟化这种实现方式是攻击者进行虚拟机跳跃攻击的根源所在。

虚拟机逃逸

Hypervisor是运行基础服务器和操作系统之间的中间软件层,将主机的硬件资源抽象后分配后虚拟机,其简单、小巧的特征限制了可能出现的低级漏洞,因此其通常比操作系统安全。但是攻击者尝试利用Hypervisor对其他虚拟机展开攻击,这种攻击称为虚拟机逃逸(VM Escape)
虚拟机逃逸需要获取Hypervisor的访问权限甚至入侵或破坏Hypervisor。Hypervisor在虚拟机os和主机os之间起到指令转换作用,如果虚拟机os已经被攻破,则它发送给Hypervisor的指令可能是非法的。比如攻击者在控制一台虚拟机后,通过一定手段在虚拟机内部产生大量的随机的IO端口活动使得Hypervisor崩溃。一旦Hypervisor被攻破,则其控制的所有的虚拟机和主机os都可以被攻击者访问。

VMBR攻击

Virtual Machine Based Rootkti。是一种基于虚拟机的rootkit攻击。
基于虚拟机的rootkit在获取os权限方面的能力更强,并且能够提供更多的恶意入侵功能,同时能完全隐藏自身所有的状态和活动

拒绝服务攻击

攻击者利用单台虚拟机消耗所有的系统资源

服务器虚拟机化安全方案

主机安全机制

Hypervisor安全机制

加强Hypervisor自身的安全保障
  • 构建轻量级Hypervisor。可以通过减小可信计算基TCB来构建。TCB越大,代码量越多,存在漏洞的可能性越大,自身可信性就越难以保障。
  • Hypervisor完整性保护。利用可信技术对Hypervisor进行完整性度量和验证,保证它的可信性。完整性保护由完整性度量、完整性验证组成。(完整性验证是将完整性度量的结果进行数字签名后报告给远程验证方,有远程验证方验证该计算机系统是否安全可信)
提高Hypervisor防护能力
  • 利用虚拟防火墙保护。虚拟防火墙能够在虚拟机的虚拟网卡层获取并查看网络流量,因而能够对虚拟机之间的流量进行监控、过滤和保护
  • 合理分配主机资源。可有采用两种机制:1.通过限制、预约等机制,保证重要的虚拟机能优先访问主机资源;2.将主机资源划分、隔离成不同的资源池,将所有虚拟机分配到各个资源池中,使每台虚拟机只能使用其所在资源池中的资源
  • 扩大Hypervisor安全到远程控制台。1.设置统一时刻只允许一个用户访问远程控制台,防止多用户登录造成的原本权限较低的用户访问敏感信息;2.禁用连接到远程控制台的复制、粘贴功能,从而避免信息泄露问题。
  • 通过限制特权减少Hypervisor的风险。

虚拟机隔离机制

  • 虚拟机安全隔离模型。目前的研究多以Xen为基础
  • 虚拟机访问控制模型。

虚拟机安全监控

目前存在两种主流的虚拟机安全监控建构:1.以LiveWire为代表的虚拟机自省的监控架构,即将安全工具放在单独的虚拟机中来对其他虚拟机进行监控;另一种是以Lares和SIM为代表的基于虚拟化的安全主动监控架构
安全监控分类:

  • 内部监控:在虚拟机中加载内核模块来拦截目标虚拟机的内部事件;
  • 外部监控:通过在Hypervisor中对目标虚拟机中的事件进行拦截,从而在虚拟机外部进行监控

虚拟机安全防护与检测

在虚拟环境下,同一个主机上的不同虚拟机可能在用一个物理VLAN内,这时相邻虚拟机之间的流量交换不再通过外部交换机,而是通过基于主机内部的虚拟交换网络来解决。这时候虚拟机之间的流量交换处于不可控的状态,带来了全新的安全问题。虚拟机的安全防护需要重点关注虚拟机之间的流量安全。根据流量的转发路径可以将用户流量分为纵向流量和横向流量。

  • 纵向流量的防护与检测。纵向流量包括从客户端到服务器的访问请求流量,以及不同虚拟机之间转发的流量。这些流量的共同特点是其交换比如经过外置的硬件安全防护层,也称为纵向流量控制层。此时可以借鉴传统方法,将防火墙FW和入侵防护系统IPS通过旁挂在汇聚层或者串接在核心层与汇聚层之间的部署方式来实现对虚拟化环境下的纵向流量检测。
  • 横向流量的安全防护与检测。同一主机的不同虚拟机之间的流量直接在主机内部实现交换,使外层网络安全管理员无法通过传统的防护与检测技术对虚拟机之间的横向流量进行监控。在主机虚拟话过程中,Vmware在主机的Hypervisor集成vSwitch虚拟交换机,能够实现一些基本的访问控制规则,以实现对虚拟机之间横向流量的安全检测。要更深度的话,有两种:1.基于虚拟机的安全服务模型技术;2.利用边缘虚拟桥(Edge Virtual Bridging ,EVB)技术实现流量重定向的安全检测模型

网络虚拟化安全

网络虚拟化安全问题分析

网络虚拟化面临的安全问题

  • 存在检测死角。同一主机内部的虚拟机数据交换是安全检测的死角
  • 虚拟网络的数据流难以理解。可能无法理解获取的不同主机的虚拟机之间的数据流
  • 虚拟网络流量不保密
  • 安全策略不一致
  • 安全策略难以迁移

SDN面临的安全威胁

  • 集中控制的特性降低了攻击门槛。SDN采用了OPenFlow协议作为控制器与转发设备的南向通信协议,南向接口(控制器与底层转发设备之间的接口)很容易成为攻击者的目标。(缺乏健全的身份认证机制)
  • 集中控制的特性使得SDN控制器成为攻击者的主要攻击目标。在SDN中,数据平面与控制平面的分离主要是通过SDN控制器实现的,所以SDN控制器是网络虚拟化的重要设施,同时SDN控制器也是一个潜在的单点故障源,是攻击者最主要的攻击目标,攻击者一旦攻破它,就可以进行任意操控
  • 传统网络安全防护手段不可用。传统安全手段假设转发设备(如路由器)具有一定的配置、学习、管理能力,而SDN中的转发设备仅仅负责查表转发,需要对OpenFlow协议以及转发设备进行升级才能直接应用传统方法,这是才会影响SDN的设计初衷,降低网络运行效率
  • SDN攻击面扩大。SDN中,转发设备通常使用虚拟化的方法实现,软件转发设备更容易被攻击者捕获
  • SDN攻击方式增多。在SDN中,除了控制主机,还可以通过控制转发设备来实现攻击,如主机可以伪装成转发设备发动针对控制器的Flood攻击

#网络虚拟化安全方案

保护SDN的虚拟资源

  • 设计可靠的SDN控制器
  • 保证虚拟网络设备安全
  • 保证SDN控制器和网络设备的通信安全

部署虚拟化安全产品

容器安全

##容器安全问题

  • 为容易服务的操作系统存在安全隐患。1.不同的容器进程使用同一个操作系统和环境,如果主机os存在问题,则所有容器都可能被攻击;2.容器和内核之间没有中间层,虽然实现了轻量化的目标,但是这也导致在云计算中无法对具体容器行为进行安全监控与审计
  • 容器自身存在的安全问题
  • 滥用Docker API攻击
  • 容器逃逸攻击。容器可以利用主机的内核漏洞提升用户权限,进而逃逸至主机获取完全控制权限。
  • 容器间通信的风险
  • 容器配置不当引起的安全问题
  • 容器镜像安全问题
  • 无法检测安全性
  • 不安全的镜像源

##容器安全防护

容器镜像创建阶段的安全防护

  • 代码审计
  • 可信基础镜像
  • 容器镜像加固
  • 容器镜像扫描
  • 基础镜像安全管理

容器镜像传输阶段的安全防护

  • 镜像签名
  • 用户访问控制
  • 支持https的镜像仓库

容器运行阶段的安全防护

  • 对容器主机进行加固
  • 容器安全配置
  • 容器隔离
  • 容器安全监控与审计
  • 容器安全防护与入侵检测
  • 容器运行时的漏洞扫描
  • 网络安全防护

容器安全工具简介

典型的工具有Aqua容器安全平台、NeuVector的自动化容器安全平台等
容器平台提供的容器安全防护主要有:

  • 镜像保证、用户身份验证及授权
  • 漏洞扫描程序
  • 细粒度的访问控制
  • 入侵预防及检测
  • 审查并降低容器安全运行时风险

云平台管理安全

云管理平台的安全控制措施

  • 网络防护
  • 管理权限细粒度划分
  • 特权行为动态管控
  • 安全管理模块
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐