跟镜像隐患 Say goodbye,看这场 130000 个容器,拉取镜像 18000 次的实战案例

2022-11-07 17:06:20 浏览数 (2)

根据目前权威的市场调查数据显示,72% 客户的容器规模为 100 个以上,4% 客户的容器规模超 5000 个,部署小规模容器的客户已经相当普遍,容器使用率迎来新增长。

容器数量占比

伴随着容器的流行,它也成为黑客攻击的对象,容器安全受到重视。在容器安全方面,镜像安全是保护容器安全的基础,镜像扫描是解决镜像安全问题的基础手段。针对镜像风险问题,有效提升镜像扫描能力是关键。

《如何打造一站式容器安全》

❝该报告主要包括镜像漏洞和合规性问题、保护镜像仓库的安全、容器运行时保护、编排问题、保护主机操作系统等容器安全挑战,以及阐述了从几大安全措施方面来重点保护容器主机安全、保护容器网络流量安全、保护容器应用的安全、保护容器管理技术堆栈、保护构建管道的完整性等安全。

镜像安全是基础

1、镜像风险不容小觑

镜像本质上是一个将应用程序所需的所有组件(代码、配置文件、库、环境变量等)压缩在一起的轻量级软件包,是容器运行的基础。镜像存在着诸多不安全性,比如镜像存在安全漏洞 / 未打的补丁、镜像配置存在缺陷、包含嵌入式恶意文件、运行了未经验证或不可信来源的镜像、镜像构建不规范导致敏感信息暴露等。由于镜像风险系数较高,采取镜像扫描措施极有必要,容器镜像的扫描能力是推进容器安全建设的一大重要能力。

据研究表明,虽然很多机构已经意识到镜像扫描的重要性,但是通过对 7 天内扫描的镜像的通过率和失败率进行抽样调查,发现其中 50% 的镜像未通过。镜像风险问题不容小觑,镜像扫描不仅要做,而且要做好,这成为摆在容器应用厂商面前的一个难题。

2、镜像扫描的核心能力

要执行镜像扫描,一方面可以借助镜像仓库自带的漏洞扫描工具,比如 Docker Hub 和 Quay 等内置的扫描器可以实现对镜像的扫描。但是这还远远不够,对于更深层次的镜像风险,做好深度的镜像检查仍然至关重要。

青藤在云原生安全领域已经形成了相对成熟的解决方案:青藤蜂巢·云原生安全平台可通过对镜像多个阶段进行持续监控扫描,包括镜像构建过程中扫描(可 CI 集成 jenkins、azure 等)、镜像仓库中镜像扫描、运行时镜像扫描,支持单镜像扫描、批量镜像选中扫描、全部镜像立即扫描等,具体体现在下述几大能力上。

应用组件漏洞

鉴于漏洞的持续增长,需要持续监测新产生的漏洞。青藤蜂巢可以扫描镜像中应用组件的漏洞,对二进制包进行逐层深度扫描,快速分析漏洞所影响镜像的分布范围,并以可视化方式展示漏洞详细信息,包含了漏洞类型、严重程度、漏洞描述、标签、检查脚本、修复建议等,可以更好地帮助用户完成漏洞评估,帮助用户查找和定位问题,为用户漏洞修复提供指导。

木马病毒和 Webshell

青藤蜂巢的镜像扫描功能集成了多个病毒引擎来发现镜像中的恶意文件,比如二进制木马、病毒、Webshell 等,并提供相应恶意文件的路径、类型以及危险识别等信息。面对 Webshell,青藤雷火引擎不依赖正则匹配,而是通过把复杂的变形和混淆回归成等价最简形式,然后根据 AI 推理发现 Webshell 中存在的可疑内容

敏感信息

镜像扫描时可以根据配置的敏感信息规则发现镜像中存在的敏感信息、操作,如环境变量中的用户密码、镜像中的数据文件等,在进行告警的同时也可以把敏感信息作为阻断规则,阻断存在敏感信息的镜像。

历史行为 / 安全溯源

镜像扫描的历史记录对后期镜像的历史行为追踪和重新检测大有益处,可查看攻击告警名称类型、攻击源信息等详细内容。通过溯源报告,可方便实现回溯攻击过程,进而找到不明来源的或者存在问题的镜像,溯源分析攻击事件,分析攻击者的攻击入口和攻击路径,为更有效的制定安全防御策略提供参考。

可信镜像识别

通过设置并识别受信任的镜像,在进行镜像扫描时,根据受信镜像规则判断镜像是否可信,从而也可以检查出是否存在不受信任的镜像。

案例分享

1、案例概要

某企业是一家知名的互联网公司,专注于智能终端产品的研发,拥有近 3,000 名员工,其旗下的主打应用程序月活量超过 1 亿,致力于为全国用户提供多样化的科技服务。

在互联网圈,产品迭代次数极其频繁,业务更新速度快,为了确保业务稳定性,该企业另辟蹊径,部署了超过 130,000 多个容器,以应对快速增长的业务量,逐步走向云原生化。

2、现实挑战

云原生环境下,互联网的基础设施保护依然重要,其安全保障若不到位,会使用户数据面临重大风险。容器是在云上提供弹性应用程序的新一代基础设施,基于镜像而运行,镜像如果受到威胁,容器就存在被攻陷的可能。在使用容器的过程中,该企业公开可用的容器镜像数量呈现指数级增长,单月从存储库中拉取的镜像的最高峰值更是达到 18,000 次,镜像安全问题引发重视。

3、解决方案

镜像安全问题曾一度困扰着该互联网企业,在评估了市场上的多款云原生安全产品后,他们最终选择了青藤蜂巢·云原生安全平台,用于保护其容器安全、镜像安全,充分发挥其新产品、业务创新的潜力,提升开发运营效率。

“对我们来说,云原生安全产品的可用性是非常重要的。在前期,我们验证了配置、安装等问题是否可行,以及实施环境、技术功能是否准确等,在青藤技术人员的支持下,我们成功进行了验证,确认能够满足我们的要求。”该企业这样表示。

面对当下最棘手的问题,青藤基于实战经验,为该互联网企业首先进行了诊断,提出了“想要保护好镜像,不仅仅是要保护好镜像本身的安全,更要确保镜像在运行过程中不会被篡改,并且确保镜像仓库的安全”,发现该企业的容器镜像存在着三方面的问题:

一是,有些镜像是过期的,这增加了风险暴露面,很容易被攻击者利用。二是,有些镜像构建不合规,这些镜像并非恶意镜像,而是由于错误的配置导致的。三是,有些恶意镜像隐藏着诸多后门,是危险系数最高的镜像。

对于这些问题,该互联网企业通过青藤蜂巢·云原生安全平台,在镜像构建时就对镜像进行扫描,一旦检测到漏洞、错误配置、威胁等相关问题,便会通过蜂巢控制台向企业的操作管理员进行提示。

“在集群中启动新容器时,青藤蜂巢能按计划,按需进行镜像扫描,并及时地返回漏洞数据,可以让我们直观、完整地看到整个扫描结果,比如依赖项的数量、高危漏洞的数量等。”该企业表示。

我们不仅要更早地发现和修复容器漏洞,更要监测生产环境中的应用程序,确保这些程序在部署后也能保持安全。在运行时阶段,青藤蜂巢还会自动检测正在运行的容器,对容器的任何操作执行最低权限的要求,确保镜像的不变性,杜绝未经授权的镜像部署、恶意代码注入、篡改、非法数据泄露以及各类攻击等安全风险。

“很多安全产品在部署前可能也会提供容器镜像扫描能力,但是很少有产品能够从开发到部署无缝保证安全,青藤蜂巢的漏洞检测和识别准确性高,镜像扫描效率高,并能够扫描生产中运行的容器,支持整个 CI/CD 管道中的漏洞扫描,完全做到在整个应用程序生命周期中提供容器和云原生应用程序的安全性。”

此外,青藤蜂巢·云原生安全平台在提高该企业漏洞修复效率方面也有明显的效果,相较于传统扫描工具的流程,该企业过去需要用将近 1 小时的漏洞扫描已经缩减到 6 分钟,效率提升 10 倍,并且还将会有更大的提高。

透过该互联网企业的云原生安全实践经验来看,当涉及到镜像安全保护时,我们要注意这几个细节的关键点:

  • 在基础镜像构建阶段即启动镜像扫描,使用数字签名来验证镜像的真实性
  • 优先选择从最小的基础镜像进行构建
  • 尽早、持续性地检查镜像是否存在漏洞问题,创建受信任的基础镜像
  • 已经通过所有安全检查的基础镜像,在创建新镜像时也需要再次扫描
  • 在软件全生命周期的多个节点进行扫描:CI/CD、镜像仓库及集群运行时容器等

4、重要价值

在经历了容器化部署和应用青藤蜂巢·云原生安全平台之后,该企业已经朝着云原生安全的方向迈出了重要一步:凭借贯穿整个应用开发生命周期的安全性,该互联网企业的容器基础设施安全保护得到有效保障,实现了降本增效。

总结

容器镜像是云原生环境中各类应用的标准交付格式,镜像安全是确保容器安全的基础,持续进行镜像扫描是检查镜像中是否存在已知漏洞的一个重要手段,对于确保镜像安全发挥着重大作用。青藤蜂巢·云原生安全平台可在构建、分发和运行全生命周期内对容器镜像进行全方面扫描,确保容器镜像安全。

0 人点赞