青藤蜂巢容器安全平台
蜂巢提供覆盖容器全生命周期的一站式容器安全解决方案,实现了容器安全预测、防御、检测和响应的安全闭环 。
- 系统简介
- 产品功能介绍
容器安全面临的挑战
容器的入侵场景
不安全的镜像
▪ 镜像中使用的应用存在安全漏洞
根据绿盟2018年3月的研究显示,目前Docker Hub上的镜像76%都存在漏洞。
安全公司Palo Alto Networks威胁情报小组Unit 42发现 DockerHub 上的镜像一种新型的Graboid挖矿绑架病毒,目前已知这个蠕虫已经感染了超过2,000台不安全的Docker主机,用于挖掘Monero加密货币。
如passwords, keys, creds等
1.7.0-1.8.2 版本存在垂直越权漏洞,因注册模块对参数校验不严格,可导致任意管理员注册。攻击者可以通过注册管理员账号来接管Harbor镜像仓库,从而写入恶意镜像,最终可以感染使用此仓库的客户端。
▪ 攻击者上传的恶意镜像
恶意镜像中可能存在反弹shell、挖矿等恶意行为
容器逃逸攻击
容器的「逃逸问题」,直接影响到了承载容器的底层基础设施的保密性、完整性和可用性。
▪ CVE-2019-5736 runC严重漏洞导致容器逃逸
▪ CVE-2016-5195 Linux内核脏牛漏洞导致容器逃逸
程序漏洞、linux内核漏洞导致的容器逃逸
K8S集群攻击
2018年,RedLock公司工作人员发现:数百个Kubernetes管理控制台无需密码即可访问,即直接公开暴露在互联网之上,这些管控台被黑客们蓄意利用从事非法“挖矿” , 著名汽车公司Tesla 即曾惨遭此黑手。
Kubernetes ATT&CK Matrix
工作负载间横向移动
早期数据中心的流量,80%为南北向流量;而在云原生下,随着微服务架构的使用,80%的流量已经转变为东西向流量。
在容器环境中,默认情况下同一集群中的所有pod可以相互访问,所以网络威胁一旦进入集群内,即可以肆意蔓延。
容器安全面临的新挑战
镜像存在应用漏洞、木马病毒、敏感信息泄露等多种安全问题
容器隔离性较弱,黑客可利用敏感挂载和漏洞实现逃逸到宿主机的行为
K8s的未授权访问漏洞可实现逃逸攻击
Runc 组件漏洞问题会引发容器的逃逸行为
harbor的应用漏洞会导致越权攻击
集群内工作负载间默认可以相互访问,黑客进入集群内,可随意访问其他的pod
传统安全防护手段的不足
▪ 防火墙
容器内东西向的流量暴增,而传统防火墙主要是为了南北向业务模型设计的,无法细粒度管理到容器环境如此海量和复杂的业务。
传统的终端安全产品仅仅对OS一层有效,无法深入识别容器内的安全问题。
容器镜像分层存储,传统的漏洞扫描仅仅在OS和网络进行扫描,无法对容器镜像进行扫描。
DevOps模式下,流程全自动化,安全由谁发起,安全如何自动化管控,均给企业安全管理带来了极大的挑战。
容器安全解决方案
对工作负载进行持续监控和响应
持续监控分析并可视化容器运行状态,及时发现异常风险和入侵,同时能够快速进行隔离防护
全生命周期防护-“Shift left”
可视化容器访问关系;提供从租户、node、pod的维度进行微隔离策略的下发和管理。
解决东西向访问不可见、网络策略管理复杂的问题。
蜂巢提供覆盖容器全生命周期的一站式容器安全解决方案,实现了容器安全预测、防御、检测和响应的安全闭环 。
容器资产
▪ 自动化、持续性容器资产清点
监控各类资产变化事件,实时上报容器资产
不仅支持对容器等基础资产的清点,还包括对容器内的web资产、应用资产进行识别
对每类资产进行了深入分析,获取资产相关的各项高价值的安全数据
例如:Tomcat web 服务清点
▪ 深入清点了进程PID、所属用户、命令行参数、应用版本等信息
▪ 更进一步地,清点出tomcat的安装路径、配置文件路径、访问日志路径、应用日志路径等详细信息
镜像检查
覆盖BUID、SHIP、RUN 的全生命周期的镜像深度检查
▪ 基于3.5w+的安全补丁库,发现镜像中未打的安全补丁
▪ 支持T-sec、小红伞、clamAv、青藤自研库共四种病毒库,发现镜像中的木马病毒
▪ 集成青藤自研雷火引擎,深入发现镜像中的 web 后门文件
▪ 发现镜像中的敏感信息/操作,如ssh-key、环境变量中的用户密码、镜像中的数据文件等
▪ 受信镜像检测,发现非法镜像
镜像运行控制
允许用户自定义规则,阻止不符合安全要求的镜像运行。
容器运行时入侵检测
提供多锚点的基于行为的检测能力,能够实时、准确地感知入侵事件,发现失陷容器,并提供对入侵事件的响应手段。
入侵检测-Web后门
结合正则匹配、文件相似度等多种匹配方式
支持检测各类容器逃逸行为
▪ Privileged特权模式运行容器引起的逃逸
▪ 危险挂载导致的容器逃逸。如挂载Docker Socket、挂载宿主机procfs
▪ 内核漏洞导致的容器逃逸,如CVE-2016-5195
检测到异常入侵事件之后,对于失陷容器,支持快速进行安全响应,把损失降到最低。
支持的处理操作有:
▪ 隔离容器
▪ 暂停容器
▪ 杀容器
▪ k8s 未授权访问漏洞
▪ docker未授权访问漏洞
▪ CVE-2019-16097 harbor仓库越权漏洞
▪ CVE-2019-5736 runC严重漏洞导致容器逃逸
▪ CVE-2016-5195 Linux内核脏牛漏洞导致容器逃逸
▪ CVE-2018-1002105 k8s权限提升漏洞
构建基于 CIS Benchmark 的最佳安全操作实践检查
▪ 覆盖了Docker和编排工具的合规性检查
▪ 内置了100余项安全合规检测项,覆盖容器安全配置各个方面
▪ 合规基线自动进行周期性检测
▪ 生成规范化的报表,对每一个检查项都有清晰检查详情和修复建议
▪ 抽象出十几种基础检查能力,可以根据企业的需求自定义基线检查策略
全面覆盖编排、docker、容器的行为审计,支持syslog数据对接。
产品架构与部署
产品架构
Agent 运行机制
蜂巢Agent,是一个轻量级Agent,经过 1,000,000+ 台服务器的稳定运行实践,可靠性达99.98%。
CPU占用率 <10%,内存占用 < 100M
▪ 资源消耗控制
负载过高时,Agent主动降级或重启,给业务让出资源
采用加密传输与服务端通信,保证数据安全
主机Agent可同时防护主机&容器的安全;容器化Agent支持编排统一管理
Agent原理
▪ 基于进程、API的容器资产盘点
通过调用docker API 获取容器的资产信息,然后通过获取容器内进程,根据进程指纹判断资产类别。根据每种资产从进程命令、配置文件等获取资产详情。
通过audit机制捕获宿主机进程启动事件,通过进程的namespace判断所属容器。再根据进程行为(例如判断进程的输入输出流被定向到远程IP,认为是反弹)进行入侵检测。
hook在runc上有一个hive-shim,当个需要创建镜像的时候,会问一下hive-shim,hive-shim会去问一下Agent, 是否有危险,是否可以创建,若可以创建,才会去调用runc,若不可以创建,则创建失败。
产品集成
▪ CI/CD
支持与主流的镜像仓库进行集成,如Registry、Harbor、DTR、Jfrog等
支持与主流的编排工具集成,如kubernetes等,深入支持编排的安装部署、资产发现、编排应用漏洞
▪ 超融合架构,同时具备主机安全&容器安全防护能力(Agent安装方式)
▪ 强大的安全运营分析能力,不断为产品赋能
▪ 不断升级的硬核技术实力,增强产品识别深度
▪ 蜂巢特色功能:容器资产盘点、运行环境安全分析、容器审计
支持的主流编排工具
蜂巢容器安全产品为容器的原生应用,支持各种编排工具的集中化部署,我们提供各种平台的自动化部署脚本