我们经常说,“HTTPS很安全”或者“HTTP不安全”,但其实我们的意思是“HTTPS很难被窥探,中间人攻击很难执行”。

然而,HTTPS已经被黑客入侵,在某些情况下,HTTP足够安全。此外,如果我们在支持HTTPS的常见部署中发现可利用的漏洞,HTTPS可成为黑客网关,直到漏洞被修复。

HTTP和HTTPS是在IETF RFCs 7230-7237和2828中定义的协议。HTTPS被设计为安全的HTTP,但HTTPS安全HTTP不安全的说法隐藏着重要的例外情况。

虚拟机(VM)和容器没有严格的定义,也没有故意设计成对方更安全。

为什么我认为VM比容器更安全

在战争和软件中,分治法是胜利策略。当架构将单一复杂的难以解决的安全问题分解成更容易的问题时,在大多数情况下,结果会比解决所有问题的单一解决方案更加好。

容器是分治法应用于应用程序的示例。通过将每个应用程序锁定在自身,一个应用程序的漏洞将不会影响其他容器中的应用程序。虚拟机也是采用分治法,但它们在隔离方面走的更远。

在隔离应用程序中的漏洞不会直接影响其他应用程序,但隔离的应用程序可能会破坏与其他容器共享的单个操作系统,并影响所有容器。当使用共享操作系统时,应用程序、容器和操作系统部署堆栈中任何点的缺陷都会使整个堆栈的安全性失效,并危及物理机器。

虚拟化这样的分层架构可分离每个应用程序的执行堆栈,一直到硬件,这可消除应用程序相互干扰的可能性。此外,每个应用程序堆栈之间的接口被定义和限制,以防止被滥用。这可保护应用程序免受其他应用的影响。

虚拟机将控制用户活动的操作系统与控制访客操作系统及硬件之间交互的虚拟管理程序分隔。VM访客操作系统控制用户活动,但不会控制硬件交互。应用程序或访客操作系统中的漏洞不可能会影响物理硬件或者其他虚拟机。当虚拟机访客操作系统和支持容器的操作系统相同时(通常都是这种情况),相同的漏洞将会影响运行该操作系统的所有其他容器,但不会危及其他虚拟机。因此,虚拟机水平将应用程序分离,并垂直分离操作系统与硬件。

VM开销

VM的额外安全性是需要成本的。在计算系统中,控制转移总是很昂贵,无论是在处理器周期还是其他资源中。执行堆栈存储和重置,外部操作可能需要暂停或者被允许完成等。

访客操作系统和虚拟管理程序之间的转换费用很高,并且需要经常发生。即使是特殊控制指令植入到处理器芯片中,控制转移开销会降低VM的整体效率。这种降低是否很显著?这很难说。通过管理控制转移,应用程序可调整为降低开销,并且,大多数服务器处理器现在被设计为简化控制转移。换句话说,这种降低程度取决于应用程序和服务器,但开销永远不能完全消除,只会减轻。

虚拟管理程序漏洞

让问题进一步复杂化,在VM架构中分隔层会带来另一个问题:虚拟管理程序漏洞。虚拟管理程序漏洞是单点故障,可能带来潜在巨大后果,特别是在公共云中。可想而知,单个黑客可在虚拟机中启动代码,控制其他公共云消费者拥有的应用程序,从而入侵整个公共云。

任何坚固的架构都可能存在缺陷,虚拟管理程序也不例外。

虽然目前并没有任何重大虚拟管理程序攻击事故,但从常见漏洞和披露(CVE)数据库来看,研究人员确实发现一些虚拟管理程序缺陷。管理程序开发人员和供应商已经很快修复漏洞,在2017年3月,微软发布安全公告MS17-008,其中涉及Hyper-V管理程序中7个已修复的漏洞,都被标记为严重。

笔者仍然认为VM比容器提供更好的安全性,但我们必须认真看待虚拟机的安全性。

作者:佚名
来源:51CTO

虚拟机VS容器 安全比拼谁更胜一筹?相关推荐

  1. 计算机世界的虚拟机,容器和医学界的人工硬脑膜

    这是Jerry 2020年的第69篇文章,也是汪子熙公众号总共第251篇原创文章. 本文不含惊悚内容的图片,请大家放心阅读. 医学界的虚拟化技术挽救了Jerry的生命,所以有了这篇文章. 计算机世界的 ...

  2. 容器精华问答 | 虚拟机和容器的区别是什么?

    戳蓝字"CSDN云计算"关注我们哦! 云计算的发展日新月异,新技术层出不穷,尤其容器技术自2013年Docker容器问世以来一路高歌猛进红遍大江南北,与虚拟机相比,容器更显优势,有 ...

  3. 应用程序部署策略——虚拟机与容器

    目录 1.简介 2.部署用例 3.部署选项 3.1单服务器 3.2虚拟机 3.3容器 4.资源利用比较 5.虚拟机和容器的比较 6.结论 本文的范围是比较可用于我们的应用程序部署用例的各种部署模型.本 ...

  4. 从虚拟机到容器,详谈各种服务虚拟化技术及其应用场景

    前言 近几年容器(Container).Kubernetes等技术在数据中心.云计算.各互联网公司的业务服务中得到广泛应用,和20世纪60年代就兴起的虚拟机(Virtual Machine,VM)技术 ...

  5. 虚拟机、容器和沙箱是什么关系?

    首先,什么是沙箱? 它本身就是一种线下生活现象的虚拟化.现实世界里,小孩子们在沙地.沙滩上用木板隔离出一个方盒子,在盒子里堆砌.创造各种东西 - 城堡.房屋.山丘... 这就是一个沙箱. 它有两个根本 ...

  6. 虚拟机、容器与沙盒技术有什么区别?

    首先,什么是沙箱? 它本身就是一种线下生活现象的虚拟化.现实世界里,小孩子们在沙地.沙滩上用木板隔离出一个方盒子,在盒子里堆砌.创造各种东西 - 城堡.房屋.山丘... 这就是一个沙箱. 它有两个根本 ...

  7. 分析虚拟机、容器和沙箱之间的神秘关系

    首先,什么是沙箱? 它本身就是一种线下生活现象的虚拟化.现实世界里,小孩子们在沙地.沙滩上用木板隔离出一个方盒子,在盒子里堆砌.创造各种东西 - 城堡.房屋.山丘- 这就是一个沙箱. 它有两个根本特点 ...

  8. Proxmox支持虚拟机和容器的虚拟化平台

    Proxmox VE是可以运行在虚拟机和容器的虚拟化平台.Proxmox VE基于 Debian Linux开发,并且完全开源.出于灵活性的考虑,Proxmox VE同时支持两种虚拟化 技术:KVM ...

  9. 虚拟机和容器有什么不同

    文章目录 什么是虚拟机? 虚拟机的好处 受欢迎的虚拟机提供商 什么是容器? 容器种类 集装箱的好处 受欢迎的集装箱供应商 虚拟机使用与容器使用 虚拟机与容器有什么不同 虚拟机和容器都可以充分利用计算机 ...

最新文章

  1. 阅读10、11、12章
  2. 用variance和bias解释其overfitting
  3. java 真数组 伪数组_伪数组(ArrayLike)
  4. 电磁悬浮控制系统仿真设计
  5. 【AWSL】之Linux账号和权限管理(/etc/passwd、/etc/shadow、useradd、passwd、usermod、groupadd、gpasswd...chmod、chown)
  6. 成功必读本:培养人脉的106个技巧
  7. 生成jsp验证码的代码详解(servlet版)
  8. Java 数组排序及元素查找
  9. (6)Vivado软件开发流程(第2天)
  10. linux小红帽实验心得,小红帽心得体会.doc
  11. 大数据技术如何实现核心价值
  12. stringstream 使用方法
  13. xuperchain部署合约Select utxo error, details:NOT_ENOUGH_UTXO_ERR
  14. python session过期_session的工作原理、django的超时时间设置及session过期判断
  15. unity 安装踩坑
  16. OA办公系统 Springboot vue 前后分离 跨域 Activiti6 工作流 集成代码生成器
  17. PTA 7-7 新年倒计时
  18. CSS3技巧:利用css3径向渐变做一张优惠券
  19. Google SketchUp SKP文件转OBJ 专业版注册机
  20. php博客模板源码下载,Z-BlogPHP博客学习SEM网站模板 v1.3

热门文章

  1. 连续加班后的一些感想
  2. 腾讯视频解析,Java实现
  3. 利用Python爬取金十数据新闻事件
  4. Web Of Science检索页面错误信息修改申请方法
  5. 大数据常见函数及案例实战
  6. (3) 二分频VHDL描述
  7. 《巴别塔》(Babel)
  8. MicroLib微库和ARM标准C库有什么区别?
  9. 钣金缺口lisp_钣金件的编程展开及切割系统
  10. html插入swf自动播放,[转载]网页中插入FLASH(swf文件)的html代码