NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

使 VM 迁移更安全的提示和技巧

  • 2017-03-15
  • 本文字数:2554 字

    阅读完需:约 8 分钟

John Shackleton 是 Adventium 实验室的首席研究科学家,他是在商业和政府计算环境中专注于虚拟化和系统安全性的研究和开发项目的技术主管。

不久前,John Shackleton 写了一篇文章,作者在文章中提出了一些技巧和提示,能够使得VM 的迁移更安全。

由于作者的文章中,声明了 Creative Commons Zero(CC0),InfoQ 翻译并分享。

虚拟机实时迁移对现代云环境的日常管理至关重要,但也可能是您安全中的薄弱环节。了解如何识别和避免这些常见的攻击很有必要。

搭建任何一种云的挑战是可用性与安全性之间的不断博弈。一般来说,云系统越流畅(即,使虚拟化资源更快捷、更容易地按需提供),您的系统对某些网络攻击就越开放。在活动虚拟机(VM)迁移期间,这种挑战可能最为严峻:当虚拟机从一个物理主机向另一个物理主机透明地移动时,而不会中断 VM 的操作。虚拟机实时迁移是现代云环境日常管理中的关键操作。

在大多数情况下,现代虚拟机管理程序(包括商业私有和开源)执行的 VM 迁移满足典型私有云的安全要求。然而,某些云系统可能需要额外的安全性。例如,考虑必须提供更大保证以使得在单个平台上的虚拟资源和虚拟机操作在不同(以及可能的竞争)组织之间隔离的系统。对于这些更具限制性的搭建任何一种云,VM 迁移成为公司安全配置文件中的潜在薄弱环节。这些高级安全威胁是什么样的?

针对 VM 迁移的高级网络攻击

  • 欺骗:模仿服务器以获取未经授权的访问。这实质上是传统的中间人(man-in-the-middle,MITM)攻击的变种。
  • 系统抖动:一种复杂的拒绝服务(denial-of-service,DOS)。在这种情况下,攻击者在适当的间隔故意扰乱迁移过程,因此,迁移会不断重启,从而消耗额外的计算和网络资源。另一种攻击,对于具有自动迁移作为编排级别负载平衡策略的一部分的系统,DOS 攻击会尝试强制重复的 VM 迁移以使系统资源不堪重负。
  • 强取豪夺:强制虚拟机映像(在源或目标服务器主机上)出现错误状态,目的是终端操作或泄露数据。
  • 偷天换日:在迁移过程中的精确时刻蓄意破坏,以便在源和目标主机服务器上同时产生虚拟机的有效副本。这种攻击目的在于没被发现的情况下偷走信息。

在解决每个这些攻击的可能补救措施之前,了解有关 VM 迁移更多详细资讯是有必要的。首先,在这种背景下,我们只关心活动 VM 迁移,或者不会中断 VM 迁移操作的迁移。此处不考虑停机或者掉电的 VM 迁移。此外,我们在本文描述的方法仅限于管理程序及其相关的工具包。任何安全性配置文件还必须包括硬件平台和网络基础设施,当然,有关这方面不在本文讨论范畴之内。

最后,云采用的存储类型对 VM 迁移有很大影响。通过像 iSCSI、NFS 或 FibreChannel 之类的协议的网络存储器比本地服务器存储器的配置和维护更复杂,但是也简化并加速了迁移的过程,因为 VM 映像本身通常不需要通过网络复制到单独的物理存储设备。

但是请注意,上面所列的攻击,对使用网络存储的 VM 迁移影响不大,但风险依然存在。VM 使用共享存储能大幅减少迁移时间,降低 VM 迁移时被攻击的可能,但风险依然存在。状态数据和 VM 元数据仍然必须通过网络在服务器主机之间传递,由于迁移程序本身的脆弱性 / 缺点,上述攻击仍然能捕获到迁移过程中的 VM 状态数据和元数据。

在理解基本准则之后,让我们深入探讨解决每个迁移网络攻击的基本方法。

如何解决虚拟机迁移网络攻击

欺骗:中间人攻击已得到充分的研究,现代虚拟机管理程序应该已经利用在其迁移过程中集成的正确的身份验证协议来防止这类攻击。例如,针对 Xen 平台的变种,包括用于通过证书机构相互认证的公钥基础设施支持或用于防御 MITM 攻击的共享密钥。对于任何新安装,都要验证正确的身份验证是否可用并正确配置。

系统抖动:控制在网络基础设施之内、Hypervisor 之外。使用编排软件自动化 VM 迁移以实现负载平衡,系统防御目的应该配置为防止 DOS 攻击。应该限制自动迁移请求,以防止网络堵塞,并避免单个主机过载。

强取豪夺:此攻击试图在适当的时刻中断迁移过程,以便使 VM 状态数据被损坏或被迫与源或目标服务器处的 VM 映像不同步,导致 VM 暂时或永久禁用。强取豪夺攻击可能像网络上的 DOS 攻击,或者可能由管理程序中的恶意软件执行。在这两种形式中,这种攻击测试迁移过程从间歇性故障中恢复的程度,以及迁移过程可以如何良好地回滚到先前的稳定状态。

管理工具不同,迁移恢复方案的健壮性的差异也很巨大。如论如何,有几个步骤可以将这类攻击的威胁最小化:

  • 首先,在开始迁移之前,应该定期创建重要 VM 映像的快照,以便始终有一个稳定的映像,以备灾难发生时使用。这是常见的、要重复的做法,因为它经常被遗忘。
  • 其次,许多管理程序工具包支持通过脚本定制迁移过程。XAPI 工具包具有用于迁移前和迁移后脚本的钩子,一位勤勉的系统设计者或管理员可以在源和目标主机上插入自己的恢复支持。可以添加支持来验证迁移是否成功,例如,如果发生故障,则支持恢复过程。这些脚本还提供了在成功迁移后为特定 VM 添加特殊配置支持的方法,例如调整权限或更新运行时参数。
  • 再次,也许最重要的是,当 VM 迁移完成(成功或失败)时,迁移的映像的旧脚本可能仍然挂起。对于成功迁移,脚本将保留在源服务器上,而失败的迁移尝试通常会导致目标服务器上剩余残留脚本。虽然虚拟机管理程序工具包可能在完成后删除旧的 VM 映像文件,但很少有工具包实际从磁盘存储器中擦除映像。表示 VM 映像的信息仍在磁盘上,并且容易受到恶意软件的过滤。对于具有高安全性要求的系统,因此有必要扩展工具堆以对先前表示旧 VM 映像的磁盘上的块进行归零(即填充零)或用随机值填充块。根据存储设备,也可能存在硬件支持。

偷天换日:我们可以将偷天换日攻击作为强取豪夺攻击的变种,并减轻这种威胁的方法是一样的。要使偷天换日攻击成功,所中止的 VM 迁移尝试的残留副本必须保留在目标服务器上。如果 VM 占用量立即从磁盘擦除,则此攻击的风险也大大降低。

总之,重要的是要了解主动迁移的安全隐患。在设计和配置现代云环境时,必须充分考虑迁移过程中特定攻击情形和故障情况下的系统行为。幸运的是,如果你按照上面的步骤,你能够避免与 VM 迁移相关的安全风险。


感谢魏星对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017-03-15 17:371307
用户头像

发布了 370 篇内容, 共 171.2 次阅读, 收获喜欢 939 次。

关注

评论

发布
暂无评论
发现更多内容

1024!奈学教育致敬程序员3+2战略发布会重磅来袭

古月木易

程序员 奈学教育

为什么说容器的崛起预示着云原生时代到来?

华为云开发者联盟

容器 云原生

极客时间架构师训练营第一周学习总结

爱码士

课程总结

2020,国产数据库崭露峥嵘的发轫之年

墨天轮

数据库 阿里云 华为云 SQL优化 热门活动

项目吐槽之需求分析一

Geek_XOXO

项目管理 pmp

程序员喜欢的 5 款最佳最牛代码比较工具

程序员生活志

编程 工具

发布3个月获得5K Star的Luckysheet - 基于MIT协议的开源电子表格

奇异石榴果

Java 开源 大前端 Excel html/css

【API进阶之路】研发需求突增3倍,测试团队集体闹离职

华为云开发者联盟

软件开发 开发 开发测试

普通人如何站在时代风口学好AI?这是我看过最好的答案

华为云开发者联盟

AI 算法

作为一名Java程序员,技术栈的广度深度都不够还想要高薪?请先把这些技术掌握再说。

Java架构之路

Java 程序员 架构 面试 编程语言

分布式文件存储数据库 MongoDB

哈喽沃德先生

数据库 nosql mongodb mongo 非关系型数据库

iOS性能优化 — 二、卡顿监控及处理

iOSer

性能优化 编程语言 监控 ios开发 卡顿

技术体系的构成

凌晞

技术 技术管理 研发体系

网易:Flink + Iceberg 数据湖探索与实践

Apache Flink

flink 数据湖

LeetCode题解:50. Pow(x, n),暴力法,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

架构师训练营 1 期 - 第五周 - 技术选型

三板斧

极客大学架构师训练营

MyBatis-技术专题-拦截器介绍

洛神灬殇

架构师训练营第一周作业

爱码士

架构设计

了解HashMap数据结构,超详细!

程序员的时光

面试 hashmap HashMap底层原理

一文带你读懂 Swift 社区最新开源的算法库

镜画者

ios swift 算法 apple

MyBatis-技术专题-动态SQL

洛神灬殇

Scikit-Learn中的特征排名与递归特征消除

计算机与AI

学习 数据科学 特征选择 降维 scikit-learn

想自己写框架?不会写Java注解可不行

Java架构师迁哥

项目吐槽之需求分析二

Geek_XOXO

项目管理 pmp 项目实战

勾魂!在Github白嫖左程云1470页数据结构与算法+视频

996小迁

Java 架构 面试

在线EXCEL编辑器-Luckysheet

奇异石榴果

Java 开源 Excel bigtable js

不会java的人能不能读《Head First设计模式》?

Nydia

两个程序员老友的会面

Philips

敏捷开发

大数据上手实战!训练营“9营齐开”第二季限时免费报名啦

Apache Flink

大数据

「架构师训练营」第 1 周作业 - 食堂就餐卡系统设计

小黄鱼

极客大学架构师训练营

1024!奈学教育致敬程序员3+2战略发布会重磅来袭

奈学教育

1024 奈学教育

使VM迁移更安全的提示和技巧_安全_John Shackleton_InfoQ精选文章