0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

为什么虚拟机比容器更安全

jf_78858299 来源:安全牛 作者:nana 2023-02-14 11:20 次阅读

我们常说,“HTTPS安全”,或者“HTTP不安全”。但我们真正的意思是,“HTTPS更难以窃听,难以进行中间人攻击”,或者“电脑小白都能偷听HTTP通信”。

然而,HTTPS已经被黑过了,而某些情况下,HTTP已足够安全。而且,一旦在支持HTTPS的常用实现中发现可利用的缺陷(想想OpenSSL和心脏滴血),HTTPS就会在该实现被修正之前都被当成入侵的门道。

HTTP和HTTPS是IETF(互联网工程任务组) RFC 7230-7237和2828中定义的协议。HTTPS被设计成HTTP的安全版本,但说HTTPS安全而HTTP不安全,却隐藏了重要的例外情况。

虚拟机(VM)和容器的定义没那么严格,也没有被特意设计成谁比谁更安全。因此,这里面的安全问题就更加隐晦了。

为什么虚拟机比容器更安全

分治法,在战争和软件界都是制胜法宝。架构师将单一复杂安全问题分解为更简单的多个问题时,大多数情况下,结果都会比包揽所有问题的单个解决方案更安全。

容器,就是一个将分治法水平铺开到多个应用中的例子。通过将每个应用限制在自己的范围里,单个应用中的弱点便不能影响到其他容器中的应用。VM同样采用分治思想,但它们的隔离又更进了一步。

被隔离应用中的漏洞不能直接影响到其他应用,但被隔离应用会破坏与其他容器共享的操作系统(OS),进而影响到所有容器。共享操作系统的情况下,应用、容器和OS实现栈中任意一点上的缺陷,都可以令整个堆栈的安全性失效,侵害到物理机器。

虚拟化之类的分层架构,则将每个应用的执行栈从上到下从软件到硬件地隔离开,清除掉共享OS造成应用间相互影响的可能性。另外,每个应用栈与硬件之间的接口都有定义,从而限制了滥用可能。这给各应用间独善其身创造了格外坚实的边界。

虚拟机管理程序控制着客户OS与硬件间的交互,VM就是通过该管理程序隔离开了控制用户活动的OS。VM客户OS控制着用户活动,但不参与硬件交互。某应用或客户OS中的漏洞,不可能影响到物理硬件或其他VM。VM客户OS和支持容器的OS相同的时候(这种情况很常见),OS上会破坏所有其他容器的漏洞,却不会危害到其他VM。由此,VM不仅水平分隔应用,也纵向隔离了OS和底层硬件。

VM开销

VM提供的额外安全性是有代价的。计算系统中,控制转移往往开销巨大,从处理器周期和其他资源耗用上都可以呈现出来。执行栈需要存储和重置,外部操作可能不得不挂起或允许继续完成,诸如此类。

客户OS和虚拟机管理程序间的切换开销很大,且经常发生。即便处理器芯片中烧录进特殊控制指令,控制转移开销也降低了VM的整体效率。这种降低很巨大吗?难说。可以通过管理控制转移,来调整应用,减低开销;大多数服务器处理器如今也设计成了简化控制转移的类型。换句话说,效率降低大不大,取决于应用和服务器,但“开销不可能被完全清除”这一点是毫无争议的。

虚拟机管理程序漏洞

更糟糕的是,VM架构中的分隔层还引发了另一个潜藏的幽灵:虚拟机管理器漏洞。虚拟机管理程序被破坏,可能导致牵一发而动全身的巨大后果,尤其是在公共云环境中。可以想见,仅仅一个漏洞利用,就可以让一名黑客,在控制着其他公共云消费者应用的VM上执行代码,掌控公共云的一部分。

再坚如磐石的架构,也会有可大幅削弱系统的实现缺陷。虚拟机管理器被黑事件常常被大言不惭的声明搪塞过去:理由是虚拟机管理程序太简单了,而且写得很完美,也经过了超仔细的审查,所以永远不会出故障,不会被黑。虚拟机管理程序漏洞利用的破坏性堪比WannaCry,但也不用太担心这一点。不过,心脏滴血确实发生了,而OpenSSL的代码行数也远远不及虚拟机管理程序多。

目前为止还没出现什么重大虚拟机管理程序安全事件。但稍微瞄一眼通用漏洞与暴露(CVE)数据库,就可以知道研究人员们确实找到了可以利用的虚拟机管理程序漏洞。虚拟机管理程序开发者和厂商的补丁速度倒是也不算慢。2017年3月,微软发布安全公告 MS17-008,记录了7个已打补丁的Hyper-V虚拟机管理程序漏洞——全部被认定为关键级别漏洞。

VM比容器的安全性更高,但我们也必须仔细审查VM系统的安全。而且,容器和VM往往捆绑在一起,需要注意的点还很多。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 操作系统
    +关注

    关注

    37

    文章

    6856

    浏览量

    123472
  • 虚拟机
    +关注

    关注

    1

    文章

    919

    浏览量

    28296
  • https
    +关注

    关注

    0

    文章

    52

    浏览量

    6168
收藏 人收藏

    评论

    相关推荐

    什么是虚拟机虚拟机真的那么好用吗?

    在日新月异的科技世界中,虚拟化技术如同一座桥梁,连接着现实与数字的鸿沟,为我们打开了全新的计算维度。虚拟机,这一概念,自其诞生以来,就以其独特的魅力和强大的功能,深深地影响了软件开发、系统测试和云
    的头像 发表于 07-06 08:05 463次阅读
    什么是<b class='flag-5'>虚拟机</b>?<b class='flag-5'>虚拟机</b>真的那么好用吗?

    虚拟机虚拟化技术

    虚拟机虚拟化技术给计算机应用注入了新的研究与开发点,同时也存在诸多不利因素。本文综述了虚拟机虚拟化技术的发展历程,指出了虚拟机
    发表于 09-07 10:15 13次下载

    容器虚拟机对比

    容器虚拟机某种程度上解决的是相似的问题,两者间也有不少相似之处。但就像会种菜未必是好厨子,容器虚拟机到底是两种不同工具而且有着各自适用的情况。作为技术人员我们应该清楚地了解不同工具
    发表于 10-12 16:11 0次下载

    Linux容器虚拟机之间的区别差异分析

    自从Linux上的容器变得流行以来,了解Linux容器虚拟机之间的区别变得更加棘手。本文将向您提供详细信息,以了解Linux容器虚拟机
    的头像 发表于 12-27 13:52 9059次阅读

    基于虚拟机负载高峰特征的虚拟机放置策略

    明显偏低:相反,多个虚拟机只要负载高峰能错开在不同的时间,闲置的资源就能充分地被利用.由于应用的负载通常具有一定的周期性,因此,可以利用虚拟机负载的历史数据作为分析的依据,基于虚拟机
    发表于 01-13 10:34 0次下载

    虚拟机容器,你应该怎么选?

    首先要了解的有关容器虚拟机的一个事情是,一个运用于应用程序,另一个是为操作系统设计的。这就是为什么您经常会看到一些企业应用程序运行在容器上而不是自己的虚拟机上。在
    的头像 发表于 07-11 10:17 4552次阅读

    虚拟机的优势是什么?是否比容器安全

    IBM Research 已经创造出一种新的软件安全性衡量方法——Horizontal Attack Profile(简称 HAP),其发现适当保护下的容器(Containers)几乎能够提供与虚拟机(VM)相媲美的
    的头像 发表于 07-19 15:19 9197次阅读

    虚拟机容器共存时会给混合云带来什么影响

    但是虚拟机管理程序Hypervisor以及它们所运行的虚拟机受到极大的欢迎,而基于kubernete的容器化几乎没有以任何方式侵占它们在当今私有、公共、混合和多云环境中的足迹。
    发表于 12-31 16:36 1574次阅读

    Docker容器虚拟机的区别

    我曾经将Docker容器视为轻量级,精简的虚拟机。 进行这种比较是有道理的,因为至少在Docker的最初市场中,总是将其与虚拟机进行比较-例如," Docker花费的启动时间少于VM,等等"。
    的头像 发表于 05-03 17:17 7684次阅读

    容器虚拟机之间的主要区别

    人们通常将容器虚拟机进行比较,尽管容器规模更小并且需要的开销更少。这两种应用程序可以采用相同的基础设施,这一点很诱人。实际上,容器虚拟机
    的头像 发表于 08-10 11:40 8972次阅读

    容器、Docker、虚拟机的区别

    移植的系统。它不仅简化了打包应用的流程,也简化了打包应用的库和依赖,甚至整个操作系统的文件系统能被打包成一个简单的可移植的包,这个包可以被用来在任何其他运行Docker的机器上使用。 容器虚拟机具有相似的资源隔离和分配方式,容器
    的头像 发表于 11-05 09:41 2999次阅读

    如何区分虚拟机与Docker

    节省内存,启动更快。Docker不停地给大家宣传,"虚拟机需要数分钟启动,而Docker容器只需要50毫秒"。 然而,Docker容器并非
    的头像 发表于 02-14 11:36 1138次阅读
    如何区分<b class='flag-5'>虚拟机</b>与Docker

    虚拟机容器的性能损耗评测

    本文选自极术专栏“软硬件融合”,授权转自微信公众号软硬件融合,本篇将详细评测虚拟机容器的性能损耗在相关的应用场景下的性能对比。
    的头像 发表于 05-16 09:38 8626次阅读
    <b class='flag-5'>虚拟机</b>和<b class='flag-5'>容器</b>的性能损耗评测

    Docker与虚拟机的区别

    的操作系统实例来实现虚拟化的技术。其实现方式是通过Hypervisor来实现的。Hypervisor是一个运行在物理机上的软件或硬件,负责管理和分配虚拟机的硬件资源。 1.2 Docker Docker是一种容器化技术,它利用L
    的头像 发表于 11-23 09:37 9844次阅读

    虚拟机ubuntu怎么联网

    虚拟机ubuntu怎么联网  虚拟机(Virtual Machine)是运行在物理(Host Machine)上的虚拟操作系统环境。在虚拟机
    的头像 发表于 12-27 16:51 1005次阅读