上QQ阅读APP看书,第一时间看更新
3.1.5 宿主机操作系统存在的风险
与虚拟机不同,作为一种轻量级虚拟化技术,容器通常与宿主机共享内核。这意味着,如果宿主机内核本身存在安全漏洞,理论上,这些漏洞是能够在容器内进行利用的。通过利用这些漏洞,攻击者可能实现权限提升,甚至从容器中逃逸,获得宿主机的控制权。
例如,在存在CVE-2016-5195(“脏牛”)漏洞的容器环境中,攻击者可以借助该漏洞向进程vDSO区域写入恶意代码,从而实现容器逃逸,我们将在3.4.1节对此进行介绍。
令人欣慰的是,Capabilities及Seccomp机制(见14.2节)在一定程度上缓解了共享内核带来的问题。另外,以Kata Containers和gVisor为代表的安全容器则能够较为彻底地解决共享内核带来的安全问题。前者为每一个容器创建一个独立的轻量虚拟机,后者在用户空间模拟内核以处理系统调用,虽然实现思路不同,但都致力于让容器摆脱对宿主机内核的直接依赖。但是,安全容器不等于绝对安全。我们将在3.4.2节介绍Kata Containers的逃逸案例。