- 目录
- 1. 序章
- 2. 计算机网络与协议
- 3. 信息收集
- 4. 常见漏洞攻防
- 5. 语言与框架
- 6. 内网渗透
- 7. 云安全
- 8. 防御技术
- 9. 认证机制
- 10. 工具与资源
- 11. 手册速查
- 12. 其他
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
7.3.4. 攻击面分析
7.3.4. 攻击面分析
7.3.5. 供应链安全
在构建Dockerfile的过程中,即使是使用排名靠前的来源,也可能存在CVE漏洞、后门、镜像被污染、镜像中的依赖库存在漏洞等问题。
7.3.6. 容器逃逸
7.3.6.1. 虚拟化风险
虽然Docker通过命名空间进行了文件系统资源的基本隔离,但仍有 /sys
、/proc/sys
、 /proc/bus
、 /dev
、time
、syslog
等重要系统文件目录和命名空间信息未实现隔离,而是与宿主机共享相关资源。
7.3.6.2. 利用内核漏洞逃逸
- CVE-2022-0847 Dirty Pipe
- CVE-2021-4034 Polkit
- CVE-2018-18955
- CVE-2016-5195
7.3.6.3. 容器逃逸漏洞
- CVE-2021-41091
- CVE-2020-15257 Containerd 逃逸
- 需要网络设置为 host 模式
- CVE-2019-14271 Docker cp
- CVE-2019-13139 Docker build code execution
- CVE-2019-5736 runC
- Docker Version < 18.09.2
- Version <= 1.0-rc6
7.3.6.4. 配置不当
- 开启privileged
- 挂载宿主机敏感目录
- 配置cap不当
--cap-add=SYS_ADMIN
- 绕过namespace
--net=host
--pid=host
--ipc=host
7.3.6.5. 危险挂载
- 挂载
/var/run/docker.sock
- 挂载宿主机
/dev
/proc
等危险目录
7.3.6.6. 逃逸技巧
- 通过
binfmt_misc
逃逸 - 通过 eBPF 逃逸
7.3.7. 拒绝服务
- CPU耗尽
- 内存耗尽
- 存储耗尽
- 网络资源耗尽
7.3.8. 攻击 Docker 守护进程
虽然 Docker 容器具有很强的安全保护措施,但是 Docker 守护进程本身并没有被完善的保护。Docker 守护进程本身默认由 root 用户运行,并且该进程本身并没有使用 Seccomp 或者 AppArmor 等安全模块进行保护。这使得一旦攻击者成功找到漏洞控制 Docker 守护进程进行任意文件写或者代码执行,就可以顺利获得宿主机的 root 权限而不会受到各种安全机制的阻碍。值得一提的是,默认情况下 Docker 不会开启 User Namespace 隔离,这也意味着 Docker 内部的 root 与宿主机 root 对文件的读写权限相同。这导致一旦容器内部 root 进程获取读写宿主机文件的机会,文件权限将不会成为另一个问题。这一点在 CVE-2019-5636 利用中有所体现。
7.3.9. 其他CVE
- CVE-2014-5277
- CVE-2014-6408
- CVE-2014-9357
- CVE-2014-9358
- CVE-2015-3627
- CVE-2015-3630
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论