https://zhuanlan.zhihu.com/p/40446759

虚拟机比容器更安全吗?你可能会有自己的答案,但IBM研究院发现容器的安全性与虚拟机一样,甚至更加安全。

一般来说,从接口宽度考虑,我们认为hypervisor更安全。

IBM研究院杰出工程师、顶级Linux kernel开发者James Bottomley说,当前容器与Hypervisor安全性的争论的最大问题之一是没有度量安全性的通用方法,所以这种争论是一种定性的比较,目前还没有人进行定量比较。因此,Bottomley创建了Horizontal Attack Profile(HAP)方法,以一种客观可度量的方式去描述系统的安全性。Bottomley发现含有精心制作的seccomp profile的Docker容器可以提供与hypervisor几乎同等的安全性。

Bottomley首先定义了Vertical Attack Profile(VAP),代码会将输入、数据库更新、输出转变为一种服务,而代码本身是含有漏洞的,而且漏洞分布的密度也不同,遍历的代码越多,暴露安全漏洞的可能性也就越大。栈安全漏洞利用可以跳入物理服务器主机或虚拟机,都属于HAP。

HAP是危害最大的一类安全漏洞,Bottomley称之为潜在的商业破坏事件。

度量HAP的量化方法是对Linux Kernel代码的漏洞密度乘以运行稳定后的系统遍历的代码数量。简单来说,给定的应用运行的代码越多,含有HAP级安全漏洞的可能性就越大。

定义了HAP后,Bottomley运行了多个标准benchmark,包括redis-bench-set、redis-bench-get、python-tornado和node-express。他用Docker、Google的gVisor、gVisor-kvm、Kata容器和Nabla容器。

Bottomley发现Nabla运行时的效果比使用Kata技术的hypervisor要好,也就是说容器系统比hypervisor更安全。

其实,并没有哪种技术比其他技术更安全。对于一些非常严重的安全问题,容器和虚拟机的安全等级是相同的。而Bottomley认为,一般情况下容器的安全性比要hypervisor更加安全一些。

IBM研究院找到度量安全性方法:容器与虚拟机,谁更安全?的更多相关文章

  1. make:cc 命令未找到的解决方法

    安装redis时遇到的问题 make:cc 命令未找到的解决方法 没安装gcc,然后安装 yum install gcc yum install gcc-c++

  2. 【Docker】容器、虚拟机与Docker概念全解析

    导读 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.本文立足于新手,从容器和虚拟机两个大 ...

  3. Linux 容器 vs 虚拟机 —— 谁更胜一筹

    自从Linux上的容器变得流行以来,了解Linux容器和虚拟机之间的区别变得更加棘手.本文将向您提供详细信息,以了解Linux容器和虚拟机之间的差异. Linux容器vs虚拟机 – 应用程序与操作系统 ...

  4. 关于容器、虚拟机以及 Docker 的一个入门教程

    Yves yao · 2017-09-05翻译 · 1315阅读 原文链接 huangxiaolu审校   源地址:http://zcfy.cc/article/a-beginner-friendly ...

  5. Linux 容器 vs 虚拟机——谁更胜一筹

    自从Linux上的容器变得流行以来,了解Linux容器和虚拟机之间的区别变得更加棘手.本文将向您提供详细信息,以了解Linux容器和虚拟机之间的差异. Linux容器vs虚拟机 - 应用程序与操作系统 ...

  6. Docker,容器,虚拟机和红烧肉

    Docker火了,有多火你自己看看下面的统计数据就知道了 在发布4个月的时间里,下载量就超过50000次,github上收到超过4000个star,涌现了超过100个贡献者,并且有超过150个项目和超 ...

  7. 三种方法给Vmware虚拟机占用空间清理瘦身

    随着VMware虚拟机使用时间的增长,其所占用的空间也越来越大,本文来说说怎么给VMware虚拟机占用的空间进行瘦身. 方法一:VMware自带的清理磁盘这个方法是VMware自带,具有普适性,对快照 ...

  8. 四种方法给Vmware虚拟机清理瘦身

    随着VMware虚拟机使用时间的增长,其所占用的空间也越来越大,本文来说说怎么给VMware虚拟机占用的空间进行瘦身. **方法一:VMware自带的清理磁盘 **这个方法是VMware自带,具有普适 ...

  9. IBM Security AppScan Standard使用方法

    一.常规配置Appscan (安全自动化测试工具) Appscan是web应用程序渗透测试舞台上使用最广泛的工具之一.它是一个桌面应用程序,它有助于专业安全人员进行Web应用程序自动化脆弱性评估.本文 ...

随机推荐

  1. mybatis 于 hibernate区别

    两者区别是还是非常大的,结合至今为止的经验,总结出以下几点: 1. hibernate是全自动,而mybatis是半自动. hibernate完全可以通过对象关系模型实现对数据库的操作,拥有完整的Ja ...

  2. tomcat的war由于损坏不能解压导致的服务不能启动

    问题描述: Tomcat启动,提示异常,服务自动释放! INFO: Starting Servlet Engine: Apache Tomcat/ Sep , :: PM org.apache.cat ...

  3. Unrecognized option: -jrockit

    weblogic报错: starting weblogic with Java version: Unrecognized option: -jrockit Error: Could not crea ...

  4. Centos6.5使用yum安装mysql——快速上手必备(转)

    第1步.yum安装mysql[root@stonex ~]#  yum -y install mysql-server安装结果:Installed:    mysql-server.x86_64 0: ...

  5. 实体格式化转xml

    In the past, I've done the following to control datetime serialization: Ignore the DateTime property ...

  6. 【java】详解JFrame结构的分层

    在这篇博文中,笔者会介绍JFrame窗口的分层.JFrame继承自Frame,同JFrame.JDialog.JApplet都是重量级组件.如果不弄清楚Frame的分层结构,那么在设置组件的某些特效的 ...

  7. 创建 maven maven-archetype-quickstart 项目抱错问题解决方法

    问题: eclipse装m2eclipse的时候装完后创建项目的时候报错: Unable to create project from archetype org.apache.maven.arche ...

  8. javascript 中 split 函数分割字符串成数组

    分割字符串成数组的方法有很多,不过使用最多的还是split函数 <script language="javascript"> str="2,2,3,5,6,6 ...

  9. 二进制安装mysql 5.6

    创建用户和组 # groupadd mysql # useradd -r -g mysql mysql 解压压缩包 # tar -xvf mysql-5.6.37-linux-glibc2.12-x8 ...

  10. android studio 如何让包名展开

    通常我们新建一个包名的时候,会发现他们连在一起,根本无法在创建一个同级的包 工具/原料   电脑,android studio 方法/步骤     1,我们先在包名下建一个包,变成了这样,根本无法在同 ...