随着云计算的发展,容器变得越来越流行,同时也产生了实现容器的新方案,其中之一就是无根容器。无根容器是不需要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。
总结
无根容器提供了一种新的容器解决方案,该方法增加了安全层。 它会成为云容器中的下一个演变方向。虽然无根容器仍然存在许多局限性,其功能仍处于试验开发中,随着时间和技术的发展,无根容器可以完全发挥作用并代替传统容器。
Harmony和Chainlink合作 为其智能合约提供安全数据
保时捷Taycan已达到了3万预订量起售价在10万美元以上
78XX系列稳压器的基本接法
采用恩智浦应用软件包快速启动产品开发
RL78启动过程详解
浅析无根容器的结构和漏洞
中国移动今年将在全国建设超过5万个5G基站实现50个以上城市商用
手机芯片成为软肋,联发科聚焦物联网芯片
工业智能网关BL110应用之十五: 网关基本信息
气象六要素一体式气象传感器技术特点介绍
MK-302语音数据自适应透传模块技术研究与应用
广和通智慧燃气安全物联网解决方案
特斯拉在日本的销售业绩为什么令人失望
如何在电路板轮廓内设计刚性柔性PCB?
跑pin码破解wifi密码
4G DTU目前已经被广泛应用于物联网产业链中的M2M行业
九代酷睿处理器PCB厚度增加 对产品有哪些影响
芯片产业应该怎样做才能发展较好
雪铁龙C4世嘉与别克英朗谁将是紧凑型车领域的主力军
Ai-WB2模组与手机建立SPP连接,在UART-Bluetooth LE透传模式下传输数据