自云计算诞生以来,虚拟机监控一直是一个炙手可热的话题。从云服务商的角度,他们要尽可能地获取更多的关于VM(Virtual Machine)运行状态的信息,从而保证每一台虚拟机健康运行,继而保正整个云计算平台的安全可靠。从用户的角度,他们也需要了解自己虚拟机的运行状态。因此,虚拟机监控是必不可少的,本文章将介绍当前针对云平台虚拟机监控的相关技术。

1.安全监控架构研究

近年来,很多学者致力于基于虚报机的安全监控架构的研究。目前,存在两种主流的虚拟机安全监控架构:一种是基于虚拟机自省技术的监控架构,即将监控模块放在Hypervisor中,通过虚拟机自省技术对其他虚拟机进行检测;另一种是基于虚拟化的安全主动监控架构,它通过在被监控的虚拟机中插入一些钩子函数(hook),从而截获系统状态的改变,并跳转到单独的安全虚拟机中进行监控管理。

2.安全监控的分类

从虚拟机安全监护实现的角度来看,基于虚拟化安全监控的相关研究可以分为两大类,即内部监控和外部监控。内部监控是指在虚拟机中加载内核模块来拦截目标虚拟机的内部事件,而内核模块的安全通过Hypervisor来进行保护,外部监控是指通过Hypervisor对目标虚拟机中的事件进行拦裁,从而在虚拟机外部进行检测。

(1)内部监控

基于虚拟化的内部监挖模型的典型代表系统是Lares和SIM,下图描述了Lares内部监控系统的架构。

在Lares内部监控系统的架构中,安全工具部署在一个隔离的虚拟机中,该虚拟机所在的环境在理论上被认为是安全的,称为安全域,如Xen的管理虚拟机。被监控的客户操作系统运行在目标虚拟机内,同时该目标虚拟机中会部署一种至关重要的工具——钩子函数。钩子函数用于拦截某些事件,如进程创建、文件读写等。由于客户操作系统不可信,这些钩子函数需要得到特殊的保护。这些钩子函数在加载到客户操作系统时,向Hypervisor通知其占据的内存空间,使Hypervisor中的内存保护模块能够根据钩子函数所在的内存页面对其进行保护。Hypervisor中还有一个跳转模块,作为目标虚拟机和安全城之间通信的桥梁。为了防止恶意攻击者篡改,钩子函数和统转模块必须是自包含的,不能识用内核的其他函数,同时它们都必须很简单,可以方便地被内存保护模块所保护。

利用该架构进行一次事件拦截响应的过程为:当钩子函数探测到目标虚拟机中发生了某些事件时,它会主动陷入到Hypervisor中去,通过Hypervisor中的跳转模块,将目标虚拟机中发生的事件传遇给安全域中的安全驱动,进而传递给安全工具:然后,安全工工具根据发生事件执行某种安全策略,产生响应,并将响应发送给安全驱动,从而对目标虚拟机中的事件采取响应措施。

这种架构的优势在于,事件截获在虚拟机中实现,而且可以直接获取操作系统的语义。减少了性能开销。然面,这种方式也存在不足:一方面,它需要在客户操作系统中插入内核模块,造成对目标虚拟机的监控不具有适明性,钩子函数也需要Hypervisor提供足够的保护以防止客户机修改。另一方面,内存保护模块和跳转模块与目标虚拟机的操作系统类型以及版本是紧密相关的,不具有通用性,这些不足限制了内部监控架构的进一步研究和使用。

(2)外部监控

基于虚拟化的外部监控模型的典型代表是Liveware,下图描述了Livewire外部监控系统的架构。

对比前一张图片和上图可以看出,外部监控架构中安全工具和客户操作系统的部署和内部监控架构相同,分别位于两个彼此隔离的虚拟机中,增强了安全工具的安全性。与内部监控架构不同的是,外部监控架构的监控点部署在Hypervisor中,它不仅是安全城中的安全工具和目标虚拟机之间通信的桥梁,还用于拦截目标虚拟机中发生的事件,并重构出高级语义,然后传递给目标虚拟机。由于Hypervisor位于目标虚拟机的底层,监控点可以观测到目标虚拟机的秋态(如CPU的信息、内存项面等),故在Hypervisor的输助下,安全工具能够对目标虚拟机进行检测。

根据上述事件拦截响应过程可知,外部监控必须包含两种基本功能:事件拦截和语义重构。事件拦截是指拦截虚拟机中发生的某些事件,从而触发安全工具对其进行检测。语义重构是指由低级语义(二进制)重构出高级语义(操作系统级语义)。由于Hypervisor位于目标虚拟机的下层,它只能获取低级语义(如寄存器和内存页面)。监控工具是针对操作系统层的语义,因此两者之间存在语义鸿沟。为了使监控工具能够理解目标虚拟机中的事件,必须对其进行语义重构。语义重构的过程与客户操作系统的类型和版本密切相关,且目前并没有一种万全之策彻底解决语义重构的问题。

从以上的研究可以看出,现有的工作多集中在利用Hypervisor来保护目标虚拟机中的钩子函数或从目标虚拟机外部查看内部状态。虽然这两种监控方式都能很好地实现虚拟机的安全监控,但是仍然存在一些不足,需要研究者对其进行后续研究。其不足之处主要体现在两个方面:第一,现有的研究工作缺乏通用性;第二,虚拟机监控与现有安全工具存在融合问题。

1)通用性问题:在云计算环境中.单个物理节点上会同时运行多个虚拟机,并且虚拟机中的客户操作系统是多种多样的(可能会有Linux、Windows等)监控工具需要对各种不同类型的虚拟机进行有效的监控。然而,目前所有的监控工具都是针对特定类型的客户操作系统实现特定的安全功能,当在某个物理节点上创建一个新的虚拟机,或者从另外一个物理节点上迁移新的虚拟机时,特定的监控工具就会失效。因此现有的监控工具不能满足监控通用性的要求,构建通用的安全监控机制十分必要。

2)虚拟机监控与现有安全工具磁合的问题:在传统环境下,为了提高计算系统的安全性,研究者开发了大量的安全工具。在虚拟化环境下基于Hypervisor可以更好地监控虚拟机的内部运行状态。然而,Hypervisor获取的是二进制语义,传统的安全工具无法直接使用。因此,为了更好地利用已有的安全工具,基于虚拟化的安全监控需要与现有的安全工具进行有效的融合。一方面,利用语义恢复来实现从二进制语义到系统级语义的转换,同时为安全工具提供标准的调用接口,使安全工具直接或者和作修改来适应于虚拟计算环境;另一方面,语义恢复给安全工具带来了额外的性能开销,为了使安全监控具有更大的实用价值,研究者需要考虑在语义信息的全面性和系统开销之间进行综合权衡。

云安全之虚拟机安全监控相关推荐

  1. 天池云安全管理平台项目

    文章目录 产品实现的功能 产品架构 产品优势 客户案例 天池云安全,提供18类云安全能力,满足等宝三级防护需要 产品实现的功能 产品架构 产品优势 一站式解决云安全问题 可视化安全监控 统一管理减低运 ...

  2. 记一次Linux服务器被黑

    前段时间在华为云上,用个人账号买了一台centos服务器,主要方便平时做一些测试,为了省钱,使用了竞价模式的按量付费,并且使用函数定时开关机(白天打开,晚上关闭),每个月大概几十块钱,最近在conso ...

  3. 云计算虚拟化与云平台如何对接安可领域?

    在本月举办的"2018四季度安全可靠技术和应用研讨会"上,作为安可联盟成员,云宏隆重发布了"全融合安可云"解决方案,得到了工信部.广东省领导的高度好评以及与会联 ...

  4. 阿里云安全组设定(虚拟机端口打开)

    登录成功之后,选择控制台,然后点击左上方下拉菜单,如下图 选择[云服务器ECS],如下图 选择[安全组],然后点击右侧数据中的[配置规则],如下图 点击[安全组]之后,有时候不会显示服务器信息,这时候 ...

  5. 从程序媛到启明星辰集团云安全总经理,郭春梅博士揭秘云时代安全攻防之道...

    从无序中寻找踪迹,从眼前事探索未来. 2021 年正值黄金十年新开端,CSDN 以中立技术社区专业.客观的角度,深度探讨中国前沿 IT 技术演进,推出年度重磅企划栏目--「拟合」,通过对话企业技术高管 ...

  6. 云安全云计算 迷团大揭幕

    本文讲的是云安全云计算 迷团大揭幕,[IT168 资讯]如果说2009年信息安全产业的热点,毫无疑问"云安全"技术当之无愧.据记者观察,无论是新技术还是新应用,业内众多主流安全厂商 ...

  7. 抗疫先锋 | 青藤云安全,守护安全最后一公里防线

    2020年,受到新型冠状病毒的影响,无数云计算企业扮演了关键的抗击疫情技术角色,以「云+产业」的模式,在疫情监控.远程医疗.协同办公.在线教育等领域,帮助企业上云.在线提供服务. 青藤云安全在新冠病毒 ...

  8. 腾讯安全与青藤云安全合作升级,助力客户完成年度大型攻防实战

    继联合发布主机安全产品之后,腾讯安全和青藤云安全近期合作再次升级.此次合作,将以腾讯安全提供的年度大型攻防实战方案为基础,以青藤全方位客户服务为支撑,助力行业客户更好地完成大型攻防实战演练. 当前,随 ...

  9. 联通云服务器安全性能怎么样,云安全解决方案

    行业趋势分析--全云时代的到来 IDC预测,2021年存储在云上数据量超过传统数据中心,2025年中国各行业业务云化的比例将达到85%以上,云时代来临已经是大势所趋.云平台引入了虚拟化技术,实现数据资 ...

最新文章

  1. java课堂测试样卷-----简易学籍管理系统
  2. java cdi是什么意思_Java EE CDI的真正好处
  3. android播放flv,Android:从url播放flv视频流
  4. 根据实例类型反射操作数据库(简单通用表操作类)
  5. poj2632 累死了
  6. 简单的使用git克隆上传创建下载删除
  7. 《Kafka权威指南》阅读小记
  8. 认知电子战 (1.2):认知理论及其在无线电领域的应用
  9. 文件相似度比对工具的设计与实现
  10. 2016——注定不平凡的一年
  11. AHU 2022 CTF新生赛web_writeup
  12. Inkscape 输入希腊字母
  13. android平板屏幕碎了触摸失灵,小白瞎折腾:从此手机与平板自己维修,拒绝被忽悠!...
  14. PHP定时任务 - PHP自动定时循环执行任务实例代码
  15. 如何多个进程监听同一个端口
  16. 【普】静态IP和动态IP有什么区别?
  17. javascript编码转换,javascript跳转代码
  18. OP_LE01变频器说明书
  19. 计算机老师试讲开头语,教师资格面试试讲开场要这么说!这6种方法让你事半功倍!...
  20. prince2 成功的项目管理_PRINCE2,结构化的项目管理方法论,化繁为简,聚焦价值,附PPT...

热门文章

  1. 用户界面草图设计工具-工具包和资源
  2. BlackBerry 应用程序开发者指南 第一卷:基础--第9章 IT策略(Policy)
  3. 架构探险笔记11-与Servlet API解耦
  4. HTML 5 画布
  5. 【javascript闭包】转载一篇不错的解释,也有几个大牛的链接
  6. SVN Error: “' 'x' isn't in the same repository as 'y' ” during merge (并不在同一个版本库中)...
  7. promiseKit 解析 iOS
  8. 第一次用PHP做电影站 用thinkphp开发的!!
  9. .NET领域驱动设计—初尝(原则、工具、过程、框架)
  10. python工具用什么语言_Python中一些自然语言工具的使用的入门教程