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

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

3天内不再提示

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

pIuy_EAQapp 来源:未知 作者:胡薇 2018-07-19 15:19 次阅读

IBM Research 已经创造出一种新的软件安全性衡量方法——Horizontal Attack Profile(简称 HAP),其发现适当保护下的容器(Containers)几乎能够提供与虚拟机(VM)相媲美的安全水平。

虚拟机是否比容器更加安全?

虚拟机比容器更加安全!——这可能被大多数人认为是正确答案,但 IBM Research 却发现,容器完全有可能与虚拟机同样安全,甚至更加安全。

容器

可以被视为不在虚拟机管理程序上运行的超极简虚拟机。容器不需要安装主机操作系统,可直接将容器层(比如LXC或libcontainer)安装在主机操作系统(通常是 Linux 变种)上,直接利用宿主机的内核,抽象层比虚拟机更少,更加轻量化,启动速度极快。

软件安全性衡量方法——HAP方案

IBM Research 工程师兼顶尖 Linux 内核开发人员詹姆斯·博顿利(James Bottomley)写道,“目前关于容器与虚拟机管理程序间安全性辩论中的一大核心问题,在于没人能够开发出一种真正可靠的安全性衡量方法。所以争论完全仅限于定性方面(由于接口宽度,虚拟机管理程序“让人觉得”比容器来得更安全),但实际上还没有人进行过定量比较。

为了解决这个难题,博顿利创造了HAP方案,旨在以客观方式衡量并描述系统的安全性水平。博顿利发现,“采用精心设计的安全计算模式(seccomp)配置文件(用于阻止意外系统调用)的Docker容器提供了与虚拟机管理程序大致相当的安全性。”

垂直攻击配置文件VAP

博顿利首先定义了垂直攻击配置文件(简称 VAP)。该配置文件中的全部代码用于通过遍历提供服务,从而实现数据库输入与输出信息的更新。与其它程序一样,这部分代码自然也存在 Bug。尽管其 Bug 密度各不相同,但一般来讲遍历的代码越多,其中存在安全漏洞的可能性就越大。HAP就是堆栈安全漏洞(可以跳转进入到物理服务器主机或虚拟机)。

HAP 原理

HAP 是最为严重的一类安全漏洞。博顿利将其称之为“潜在的商业破坏事件”。当问到如何利用HAP来衡量系统安全时,博顿利解释称:

衡量 HAP 的定量方法表明,安全人员可以选定 Linux 内核代码的 Bug 密度,并将其乘以所运行系统在达成稳定状态后(意味着其似乎不再遍历任何新的内核路径)会经过的惟一代码量。

这种方法假定 Bug 密度是均匀的,因此 HAP 将近似于稳定状态下所遍历过的代码量。显然,对正在运行的系统进行衡量时不可采取这样的假设,但幸运的是 Linux 内核中存在一种名为 ftrace 的机制,可用于对特定用户空间进程所调用的一切函数进行追踪,从而给出合理的遍历代码行近似值。(注意,这里只是一个近似值,因为我们在测量函数中的总代码行数时由于 ftrace 无法提供足够的细节,而没有考虑到内部代码流的情况。)

此外,这种方法对于一切容器都非常有效。控制流通过系统调用信息由一组已声明进程发出,但其并不适用于虚拟机管理程序。这是因为除了对接口进行直接超调用外,大家还需要从后台守护程序处添加追踪(例如 kvm vhost 内核线程或 Xen 中的 dom0)。

运行的代码越多越可能存在HAP安全漏洞

简而言之,你衡量一个系统(无论它是裸机、虚拟机还是容器)运行某个特定应用程序使用了多少行代码。其运行的代码越多,存在HAP级别的安全漏洞的可能性就越大。

在确定了 HAP 以及如何对其加以衡量之后,博顿利随后运行了几轮基准测试:

redis-bench-set;

redis-bench-get;

python-tornado;

node-express。

后两者亦运行有配备简单外部事务客户端的 Web 服务器。

博顿利在此次测试当中使用到了:

Docker;

谷歌 gVisor(一套容器运行时沙箱);

使用KVM的同一个容器沙箱gVisor-kvm(KVM是Linux内置的虚拟机管理程序)

Kata Containers,一套开源轻量化虚拟机;

Nabla,IBM刚刚发布的、具有强大服务器隔离能力的容器类型。

博顿利发现,Nabla 运行时拥有“优于 Kata 虚拟机管理程序容器技术的 HAP,这意味着发现了一种在 HAP方面优于虚拟机管理程序(即安全性更高)的容器系统。”

不过体现出安全优势的绝不只有 IBM 公司的项目。他同时表示,“具有经过精心策划的 seccompt 配置文件的 Docker 容器(能够阻止意外系统调用)同样能够提供与虚拟机管理程序基本相当的安全表现。”

GVisor 的表现则有所不同。好消息是,gVisor 在 Docker 用例方面表现不错;但在另一个用例中,其表现则不及虚拟机管理程序。

博顿利推测,这是因为“gVisor 试图通过在 Go 中重写 Linux 系统调用接口以改善兼容性。但是开发人员并没有注意到 Go语言运行时实际使用的系统调用量,而这些结果实际上会暴露在外。”如果他的猜测没错,那么博顿利认为 gVisor 的未来版本可以通过重写来解决这一安全问题。

不过,真正的问题并不在于哪种技术本身更加安全。对于最严重的安全问题而言,容器与虚拟机的安全水平大致相当。博顿利认为,“事实上完全有可能出现比虚拟机管理程序更加安全的容器解决方案,而这将给两种技术谁更安全的争论彻底划上句号。”为了弄清二者在恶意应用面前的暴露水平,可能需要采用某种类型的模糊测试。

除此之外,博顿利的工作仅仅只是一个开始。他表示,这项工作的价值在于证明以客观方式衡量应用程序安全性并非不可能。他解释称,“我认为这项工作并不代表着争论的结束;但通过对此次测试的详尽描述,他希望更多的人也可能开始自己的量化衡量尝试。

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

    关注

    0

    文章

    495

    浏览量

    22060
  • 虚拟机
    +关注

    关注

    1

    文章

    914

    浏览量

    28161

原文标题:容器和虚拟机,谁更安全?

文章出处:【微信号:EAQapp,微信公众号:E安全】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    虚拟化数据恢复—XenServer虚拟机数据恢复案例

    Server操作系统虚拟机,该虚拟机有2块虚拟磁盘(系统盘+数据盘),当作网站服务器使用。 服务器虚拟化故障: XenServer虚拟机
    的头像 发表于 11-08 10:32 140次阅读
    <b class='flag-5'>虚拟</b>化数据恢复—XenServer<b class='flag-5'>虚拟机</b>数据恢复案例

    虚拟化数据恢复——Hyper-V虚拟机数据恢复案例

    虚拟化数据恢复环境: Windows Server操作系统服务器上部署Hyper-V虚拟机环境。虚拟机的硬盘文件和配置文件存放在一台存储中,该存储上有一组由4块硬盘组建的raid5阵列,除此之外
    的头像 发表于 10-25 09:26 185次阅读
    <b class='flag-5'>虚拟</b>化数据恢复——Hyper-V<b class='flag-5'>虚拟机</b>数据恢复案例

    虚拟机数据恢复—异常断电导致XenServer虚拟机不可用的数据恢复案例

    虚拟机数据恢复环境: 某品牌服务器通过同品牌某型号的RAID卡,将4块STAT硬盘为一组RAID10阵列。上层部署XenServer虚拟化平台,虚拟机安装Windows Server系统,每台
    的头像 发表于 10-21 14:17 193次阅读
    <b class='flag-5'>虚拟机</b>数据恢复—异常断电导致XenServer<b class='flag-5'>虚拟机</b>不可用的数据恢复案例

    虚拟化数据恢复—异常断电导致VMware虚拟机文件丢失的数据恢复案例

    某品牌服务器(部署VMware EXSI虚拟机)+同品牌存储(存放虚拟机文件)。
    的头像 发表于 09-14 17:35 438次阅读
    <b class='flag-5'>虚拟</b>化数据恢复—异常断电导致VMware<b class='flag-5'>虚拟机</b>文件丢失的数据恢复案例

    虚拟化数据恢复—EXSI虚拟机误还原快照如何恢复数据?

    虚拟化技术原理是将硬件虚拟化供不同的虚拟机使用,一台物理机上可以有多台虚拟机。人为误操作或者物理故障会导致上层
    的头像 发表于 09-09 11:56 364次阅读
    <b class='flag-5'>虚拟</b>化数据恢复—EXSI<b class='flag-5'>虚拟机</b>误还原快照如何恢复数据?

    什么是虚拟机?什么是虚拟化?

    在日新月异的科技世界中,虚拟化技术如同一座桥梁,连接着现实与数字的鸿沟,为我们打开了全新的计算维度。虚拟机,这一概念,自其诞生以来,就以其独特的魅力和强大的功能,深深地影响了软件开发、系统测试和云计算等多个领域。即使目前你还不了解它的应用,你应该也听过
    的头像 发表于 09-04 14:55 871次阅读

    创建ubuntu虚拟机

    英文的习惯。创建ubuntu虚拟机打开VMware软件,点击创建新的虚拟机。进入以下界面:选择自定义,点击“下一步”。选择对应VMware版本的兼容性,版本可在帮助->关于VMware
    发表于 08-10 14:15

    虚拟机数据恢复—KVM虚拟机被误删除的数据恢复案例

    虚拟机数据恢复环境: Linux操作系统服务器,EXT4文件系统。服务器中有数台KVM虚拟机虚拟机1:主数据库服务器 虚拟磁盘:系统盘(qcow2)+数据盘(raw)
    的头像 发表于 08-07 13:33 449次阅读
    <b class='flag-5'>虚拟机</b>数据恢复—KVM<b class='flag-5'>虚拟机</b>被误删除的数据恢复案例

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

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

    虚拟化数据恢复—虚拟机误还原快照的数据恢复案例

    有一台虚拟机是由物理迁移到ESXI上面的,迁移完成后为该虚拟机做了一个快照。虚拟机上运行了一个SQL Server数据库,记录了5年左右的数据。 该ESXI上共有二十几台
    的头像 发表于 05-11 11:07 548次阅读

    虚拟机的ip地址和主机一样吗

    虚拟机的ip地址和主机一样吗  虚拟机的IP地址和主机的IP地址通常不相同。虚拟机是在主机上通过虚拟化技术创建的虚拟化实例,它可以在同一台物
    的头像 发表于 03-26 15:34 5228次阅读

    在ubuntu16.04虚拟机测试uvc camera以及usb hid数据,虚拟机后不识别,没有反应是怎么回事?

    你好,我想在ubuntu16.04虚拟机测试uvc camera以及usb hid数据,但是虚拟机后不识别,没有反应。我用其他的u盘或其他的uvc camera验证却可以识别。请问你们的uvc这块是否有专门的ubuntu驱动安装
    发表于 02-28 06:06

    虚拟机数据恢复-虚拟机还原快照原理和误还原快照的数据恢复方案

    由一台物理服务器迁移到ESXI上的虚拟机虚拟机迁移完成后做了一个快照,该ESXI上面一共运行了数十台虚拟机。某天工作人员不小心将快照进行了还原,虚拟机内的数据还原到了数年前刚迁移过来
    的头像 发表于 02-27 11:54 991次阅读
    <b class='flag-5'>虚拟机</b>数据恢复-<b class='flag-5'>虚拟机</b>还原快照原理和误还原快照的数据恢复方案

    VMware虚拟机的三种网络模式

    VMware虚拟机的三种网络模式 VMware是一种广泛使用的虚拟机软件,可以创建和管理多个虚拟机。在使用VMware虚拟机时,网络设置非常重要,因为它决定了
    的头像 发表于 02-04 11:17 1989次阅读

    虚拟机ubuntu怎么联网

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