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. Linux常见命令缩写

    缩写,是简介高效地表达 unix   unix-like   Linux 00.命令简写 ls:list(列出目录内容)cd:Change Directory(改变目录)su:switch user ...

  2. redis对key的基本操作

    不忘初心,励志前行 del key1 key2 ... Keyn作用: 删除1个或多个键返回值: 不存在的key忽略掉,返回真正删除的key的数量 rename key newkey作用: 给key赋 ...

  3. 使用perf + FlameGraph生成进程火焰图

    FlameGraph代码:https://github.com/cobblau/FlameGraph 使用方法 1,perf record --call-graph dwarf -p 12345 2, ...

  4. 使用tensorflow-serving部署tensorflow模型

    使用docker部署模型的好处在于,避免了与繁琐的环境配置打交道.使用docker,不需要手动安装Python,更不需要安装numpy.tensorflow各种包,直接一个docker就包含了全部.d ...

  5. Eclipse导入项目时出错提示 project is missing required library

    Eclipse导入(import)项目时出错提示 project is missing required library... 以至于不能build... 然后项目会有红色感叹号: [解决办法] 右击 ...

  6. 开发 Swift 和 Objective-C 混编的 Framework

    来源:黄文臣 blog.csdn.net/hello_hwc/article/details/58320433 前言 为什么要写这样一篇文章,因为昨天和一个朋友讨论到Swift和Objective C ...

  7. 如何写UI及屏幕适配的一些技巧

    总结一下关于UI布局及屏幕适配的一些实战技巧,尤其使用纯代码,会对提升效率及代码易于维护等方面有明显帮助,这里提到的没有使用任何Xib, 如果不是在外包公司,也推荐大家多使用甚至完全使用纯代码布局UI ...

  8. 使用import简化spring的配置 spring import 标签的解析 使用import或加载spring配置时,报错误There is no ID/IDREF 多个Spring配置文件import resource路径配置

    spring-import 标签的解析.使用案例: 对于spring配置文件的编写,我想,对于经历过庞大项目的人,都有那种恐惧的心理,太多的配置文件.不过,分模块都是大多数人能想到的方法,但是,怎么分 ...

  9. 有关于malloc申请内存和free内存释放

    malloc工作机制: malloc函数的实质体现在,它有一个将可用的内存块连接为一个长长的列表的所谓空闲链表(堆内存).调用malloc函数时,它沿连接表寻找一个大到足以满足用户请求所需要的内存块. ...

  10. 【svn】解析subversion的使用

    目录结构: contents structure [-] 安装客户端 安装服务端 创建仓库 启动仓库 创建客户端与仓库取得联系 使用svn服务 SVN密码管理 SVN的仓库布局和常规命令 分支.合并和 ...