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

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

3天内不再提示

浅析无根容器的结构和漏洞

如意 来源:FreeBuf 作者:FreeBuf 2020-07-02 10:44 次阅读

随着云计算的发展,容器变得越来越流行,同时也产生了实现容器的新方案,其中之一就是无根容器。无根容器是不需要root即可创建得容器,尽管无根容器在安全方面具有优势,但它们仍在测试开发中。本文介绍了无根容器的内部结构,并分析了无根容器网络组件中的漏洞。

无根容器

无根容器与常规容器相同,区别在于它们不需要root即可形成。无根容器仍处于早期阶段,无根容器出现的原因有很多。

添加新的安全层。 如果容器运行时受到攻击,攻击者将无法获得主机的root特权。

允许多个非特权用户在同一台计算机上运行容器。

允许隔离嵌套容器。

Linux内核的一项新开发使此方案成为可能,允许无特权的用户创建新的用户空间。 当用户创建并输入新的用户空间时,他将成为该空间的root用户,并获得生成容器所需的大多数特权。

网络连接

为了允许容器联网,通常创建虚拟以太网设备(VETH)负责联网。 但只有root才有权创建此类设备,主要的解决方案是Slirp和LXC-user-nic

(1) Slirp

Slirp最初被设计为面向非特权用户的Internet连接。 随着时间的流逝,它成为虚拟机和仿真器(包括著名的QEMU)的网络堆栈,可对其修改调整以启用无根容器中网络连接。它把容器用户和网络名称空间分开并创默认路由设备。 然后,它将设备的文件传递给默认网络名称空间的父级,使其可以与容器和Internet进行通信

(2) LXC-User-Nic

另一种方法是运行setuid创建VETH设备。 尽管它可以启用容器内的联网功能,但是它会要求容器文件以root权限运行。

存储管理

容器的复杂元素之一是存储管理。 默认情况下,容器使用Overlay2(或Overlay)创建文件系统,但是无根容器不能做到这一点,大多数Linux不允许在用户名称空间中安装overlay文件系统。解决方案是使用其他驱动程序,例如VFS存储驱动程序。虽然有效但效率低。更好的解决方案是创建新的存储驱动程序,适应无根容器的需求。

兼容状态

以下容器引擎支持以下组件无根容器:

安全分析

从安全角度来看,无根容器中的漏洞还是配置错误都会导致容器中软件受到破坏,应该始终以有限特权运行软件,当漏洞产生时,影响将降至最低。LXE-user-nic具有多个漏洞,攻击者可利用漏洞提权,例如CVE-2017-5985和CVE-2018-6556。Slirp近年来也披露了多个漏洞。

Slirp – CVE-2020-1983:

在对该软件进行模糊测试时,发现了一个可能导致Slirp崩溃的漏洞。该漏洞分配编号为CVE-2020-1983。

这个问题与Slirp如何管理IP碎片有关。 IP数据包的最大大小为65,535字节,错误是Slirp无法验证分段IP数据包的大小,当它对大于65,535的数据包进行分段时就会会崩溃。

libslirp中的其他漏洞可在容器上执行代码,甚至可从容器逃逸到主机以及其他容器。2020年发现了两个此类漏洞:CVE-2020-8608和CVE-2020-7039,受影响的Slirp版本是4.0.0至4.2.0。

总结

无根容器提供了一种新的容器解决方案,该方法增加了安全层。 它会成为云容器中的下一个演变方向。虽然无根容器仍然存在许多局限性,其功能仍处于试验开发中,随着时间和技术的发展,无根容器可以完全发挥作用并代替传统容器。

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

    关注

    0

    文章

    492

    浏览量

    22029
  • 漏洞
    +关注

    关注

    0

    文章

    203

    浏览量

    15353
  • root
    +关注

    关注

    1

    文章

    85

    浏览量

    21365
收藏 人收藏

    评论

    相关推荐

    技术科普 | 芯片设计中的LEF文件浅析

    技术科普 | 芯片设计中的LEF文件浅析
    的头像 发表于 11-13 01:03 60次阅读
    技术科普 | 芯片设计中的LEF文件<b class='flag-5'>浅析</b>

    村田多层陶瓷电容器的基本结构

    、PC、家用电器等各类电子设备中。本文将详细介绍村田多层陶瓷电容器的基本结构及其特点。 村田多层陶瓷电容器的基本结构 村田多层陶瓷电容器的基
    的头像 发表于 11-05 15:42 79次阅读

    漏洞扫描的主要功能是什么

    漏洞扫描是一种网络安全技术,用于识别计算机系统、网络或应用程序中的安全漏洞。这些漏洞可能被恶意用户利用来获取未授权访问、数据泄露或其他形式的攻击。漏洞扫描的主要功能是帮助组织及时发现并
    的头像 发表于 09-25 10:25 282次阅读

    常见的服务器容器漏洞类型汇总

    常见的服务器容器包括KubeSphere、Tomcat、Nginx、Apache等,它们在提供便捷的服务部署和灵活的网络功能的同时,也可能存在着一定的安全风险。这些容器漏洞可能导致数据泄露、权限被非授权访问甚至系统被完全控制。
    的头像 发表于 08-29 10:39 187次阅读

    内核程序漏洞介绍

    电子发烧友网站提供《内核程序漏洞介绍.pdf》资料免费下载
    发表于 08-12 09:38 0次下载

    耦合电容器的作用与结构

    在电力系统高频通道中,耦合电容器是一种至关重要的设备。它不仅在电力网络中传递信号,还在多个方面发挥着关键作用,如实现载波、通讯、测量、控制、保护及抽取电能等。本文将深入探讨耦合电容器的作用、结构以及其在电力系统中的应用,以期为读
    的头像 发表于 05-24 14:51 625次阅读

    什么是Mesh?Mesh组网拓扑结构浅析

    什么是Mesh?Mesh组网拓扑结构浅析  Mesh(网状结构)是一种网络拓扑结构,它由多个节点相互连接而成,每个节点都可以直接与其他节点通信。与其他拓扑
    的头像 发表于 02-04 14:07 2607次阅读

    薄膜电容器基本介绍

    交联、电源噪声旁路(反向交联)等场合。目录一、基本结构二、基本特征三、金属化薄膜电容器四、使用薄膜电容器的注意事项一、基本结构薄膜电容器的内
    的头像 发表于 02-02 15:12 2156次阅读
    薄膜电<b class='flag-5'>容器</b>基本介绍

    法拉电容器和电解电容器有何区别?

    法拉电容器和电解电容器有何区别? 法拉电容器和电解电容器是两种常见的电容器类型,在结构、工作原理
    的头像 发表于 02-02 13:36 2274次阅读

    什么是电力电容器,电力电容器的基本知识介绍

    电力电容器是一种能够储存电能并释放电能的设备,用于改善电力系统的功率因数、稳定电压和降低谐波等。它由电容器元件、绝缘液体、绝缘材料、壳体和连接器等组成。 一、基本结构: 电力电容器
    的头像 发表于 01-06 16:14 1990次阅读

    保护器件过电应力失效机理和失效现象浅析

    保护器件过电应力失效机理和失效现象浅析
    的头像 发表于 12-14 17:06 728次阅读
    保护器件过电应力失效机理和失效现象<b class='flag-5'>浅析</b>

    如何消除内存安全漏洞

    “MSL 可以消除内存安全漏洞。因此,过渡到 MSL 可能会大大降低投资于旨在减少这些漏洞或将其影响降至最低的活动的必要性。
    发表于 12-12 10:29 703次阅读
    如何消除内存安全<b class='flag-5'>漏洞</b>

    钽电容器的基本功能与结构

    钽电容器的基本功能与结构
    的头像 发表于 12-08 17:28 852次阅读
    钽电<b class='flag-5'>容器</b>的基本功能与<b class='flag-5'>结构</b>

    电热电容器的内部结构

    电热电容器是一种常见的电器设备,广泛应用于电力系统、通信设备、航天航空等领域。它的主要作用是储存和释放电能,实现稳定电压输出。要深入了解电热电容器的内部结构,我们需要从以下几个方面进行解析。
    的头像 发表于 11-20 16:04 1600次阅读
    电热电<b class='flag-5'>容器</b>的内部<b class='flag-5'>结构</b>

    浅析闭源系统下的Evilparcel漏洞

    Evilparcel漏洞可以导致Bundle在多次序列化和反序列化过程中内容发生改变。结合LAW跳板,可以实现权限提升,严重影响系统安全
    发表于 11-16 14:43 430次阅读
    <b class='flag-5'>浅析</b>闭源系统下的Evilparcel<b class='flag-5'>漏洞</b>