
1) 【一句话结论】:容器环境常见漏洞涵盖镜像漏洞(依赖库过旧)、容器逃逸(进程突破隔离)、容器配置漏洞(如root容器、无网络隔离)、权限管理漏洞(宿主机权限滥用),360通过镜像静态扫描(Trivy)、运行时动态监控(Cilium)、容器配置审计(Kubernetes策略)及漏洞修复闭环,实现多维度防御。
2) 【原理/概念讲解】:容器漏洞分为四类,镜像漏洞是静态风险,源于镜像构建时软件依赖库未及时更新(如旧版本Nginx的CVE);容器逃逸是动态风险,运行时容器内进程通过文件系统、网络等漏洞突破容器隔离,访问宿主机或外部网络;容器配置漏洞是部署时配置错误,如容器以root用户运行、无网络隔离;权限管理漏洞是进程权限不当,容器内进程拥有宿主机或外部资源的权限(如写入宿主机文件系统)。
类比:镜像漏洞是“地基”有裂缝(依赖库漏洞),逃逸是“房门”被打开(进程突破隔离),配置漏洞是“建筑规范”违规(如用root运行容器),权限管理是“门锁”设置错误(容器内进程有宿主机写入权限)。
3) 【对比与适用场景】:
| 漏洞类型 | 定义 | 特性 | 检测方法 | 适用场景 | 注意点 |
|---|---|---|---|---|---|
| 镜像漏洞 | 容器镜像中软件依赖库存在已知安全漏洞(如旧版本库的CVE) | 静态,与镜像构建时依赖库版本相关 | 静态扫描(Trivy,配置--severity=CRITICAL) | 镜像构建、发布前 | 静态扫描可能遗漏编译时漏洞(如代码逻辑漏洞)、未公开零日漏洞 |
| 容器逃逸 | 容器内进程通过漏洞(如文件系统、网络)突破容器隔离,访问宿主机或外部网络 | 动态,运行时行为相关 | 运行时监控(Cilium,配置Sidecar规则,检测系统调用异常) | 容器运行时,实时检测 | 运行时监控可能产生误报(如合法的文件操作被误判为逃逸) |
| 容器配置漏洞 | 容器部署时的配置错误(如root容器、无网络隔离、资源限制不足) | 静态,与容器创建参数相关 | 配置审计(Kubernetes Pod安全策略,如禁止root容器) | 容器部署、配置阶段 | 配置漏洞可能导致权限滥用,需结合策略规则动态检查 |
| 权限管理漏洞 | 容器内进程拥有宿主机或外部资源的权限(如宿主机文件系统写入权限) | 静态,与进程权限设置相关 | 最小权限检查(如检测容器内进程的cap设置,是否包含SYS_ADMIN) | 容器运行时,权限检查 | 若未及时修复,可能导致持久化后门(如写入宿主机后门脚本) |
4) 【示例】:
# 容器内进程执行写入宿主机文件系统的操作
openat(AT_FDCWD, "/host/backdoor.sh", O_WRONLY | O_CREAT | O_TRUNC, 0700)
chmod +x /host/backdoor.sh
检测方法:Cilium的Sidecar规则配置拦截该系统调用,触发告警。具体配置(假设):
# Cilium Sidecar规则示例
- action: deny
match:
- process.name: "bash"
- syscall: openat
- path: "/host/*"
FROM ubuntu:20.04
# 未设置用户,容器以root运行
CMD ["bash"]
检测方法:Kubernetes的PodSecurityPolicy(如禁止root容器)或Aqua Security的配置扫描工具,在部署时检查--user参数。5) 【面试口播版答案】:容器环境中的常见漏洞不止镜像和逃逸,还有容器配置和权限管理问题。比如容器配置漏洞,比如直接用root用户运行容器,或者容器没有限制网络访问,导致攻击者轻易突破。360的容器安全框架会通过Kubernetes的Pod安全策略(如禁止root容器、限制网络访问)在部署时检查这些配置问题。镜像漏洞用Trivy静态扫描,发现旧版本库的CVE后更新依赖库。容器逃逸用Cilium的Sidecar监控系统调用,比如检测容器内进程尝试写入宿主机文件系统的异常行为。权限管理漏洞通过最小权限原则,比如容器内进程只拥有必要的文件系统权限,避免宿主机权限滥用。360的漏洞修复流程包括:发现漏洞→通知团队→更新依赖库/配置→重新构建镜像/容器→安全测试→发布新版本,形成闭环。
6) 【追问清单】:
openat、write等系统调用,以及网络访问异常(如connect到宿主机网络接口)。PodSecurityPolicy禁止root容器、限制网络访问)和容器配置审计工具(如Aqua Security的配置扫描),在部署时检查容器创建参数(如--user、--cap-add等)。7) 【常见坑/雷区】:
--severity=CRITICAL、Cilium的Sidecar规则配置),显得不专业。