本文将介绍 Tetrate 新推出的工具——Tetrate Vulnerability Scanner (TVS),一款针对 Istio 和 Envoy 定制的 CVE 扫描器。

  • 2024/03/29
  • Istio
  • 6 分钟
  • 1307 字
  • 2024/04/26
点击查看目录

本文将介绍 Tetrate 新推出的工具——Tetrate Vulnerability Scanner (TVS) ,一款针对 Istio 和 Envoy 定制的 CVE 扫描器。在深入了解 TVS 的具体功能前,我们先简要回顾 CVE 的概念及其在软件安全性中的核心作用。

CVE 概览

CVE,即通用漏洞和暴露,是一个公开的漏洞数据库,由 MITRE 公司负责维护。它旨在为软件中的漏洞提供一个标准化的命名体系,包含了漏洞的标识号、详细描述及参考链接。虽然 CVE 本身不提供漏洞的严重性评分,但它为网络安全专家、开发人员和企业提供了一个获取关键安全信息的重要平台。每个 CVE 记录的唯一标识号便于追踪漏洞相关信息,诸如受影响的软件系统、修复措施等。例如,2021 年著名的 Log4j 漏洞(CVE-2021-44228)由于影响广泛,严重程度评级为 10。

CVE 的实用场景

一个典型的 CVE 使用案例是将 CVE 扫描功能集成到 CI/CD 管道中,以自动化安全测试,从而阻止带有已知漏洞的代码合并到代码库并接收警报。这一过程有助于确保应用程序不会使用带有漏洞的包或库,从而提高了软件的安全性。

例如 Github 将 CVE 检测和处理作为供应链安全 的关键一环,如果你在 Github 上托管了开源项目,并开启了 Dependabot,每当你的 PR 或 commit 存在漏洞时,你就可能收到类似下面的 CVE 通知:jQuery Cross Site Scripting vulnerability 。收到通知后你可以选择容忍该漏洞或者应用 patch。下图展示了 CVE 的处理流程。

graph TD
    A([Start]) --> B(Discover Vulnerability)
    B -->|Security Researchers| C{Is it a new vulnerability?}
    C -->|Yes| D[Assign CVE ID]
    C -->|No| E[Refer to existing CVE entry]
    D -->|"CVE Numbering Authorities (CNAs)"| F[Publicly disclose details]
    F -->|Vendors/Project Owners| G{Is patch available?}
    G -->|Yes| H[Develop and Release Patch]
    G -->|No| I[Issue Workaround or Mitigation Steps]
    H --> J[Deploy Patch]
    I --> J
    J -->|End Users/System Administrators| K[Apply Patch or Mitigation]
    K --> L[Monitor for Issues/Compliance]
    L --> M([End])

TVS 功能介绍

Istio 经常在其官网发布 CVE 通知,例如 ISTIO-SECURITY-2024-001 。以前,你必须手动跟踪这些通知,但现在你可以使用 TVS 自动执行 CVE 扫描任务,从而显着减少安全团队的工作量。

目前 TVS 仅提供命令行工具,未来将作为服务集成到 TIS 中。下图展示了 TVS 运行结果。

image
TVS CLI

下图说明了 TVS 的工作流程。

graph TD
    A([Start]) --> B(Istio Containers Installed)
    B --> C(Collect SHA Digests)
    C --> D(Send Digests to Tetrate's APIs)
    D --> E{Is CVE Detected?}
    E -->|Yes| F[Log SHA Digests Without Personal Info]
    E -->|No| G[End, No Action Required]
    F --> H[Notify Users]
    H --> I[Apply Patches/Workarounds]
    I --> J([End])
  1. 在 Istio 容器安装后开始。
  2. 收集安装的 Istio 容器的 SHA 摘要。
  3. 将摘要发送到 Tetrate 的 API。
  4. API 检测是否存在 CVE。
    • 如果检测到 CVE,记录 SHA 摘要但不包含任何个人信息,并通知用户。
    • 如果未检测到 CVE,则不需要采取任何行动。
  5. 用户收到通知后,应用补丁或缓解措施。
  6. 流程结束。

所有人都可以免费下载和使用 TVS,不过在执行 CVE 扫描之前你需要先注册,详见 TIS 文档

供应链安全建议

报告 指出,现在即使最流行的容器最新版本也有数百个 CVE,下面是为了保证的一些建议:

TVS 的独特价值

TVS 通过其命令行工具提供简便的 CVE 扫描操作,未来还计划在 Kubernetes 和 Tetrate Istio Subscription (TIS) 中集成,以进一步简化 Istio 和 Envoy 的 CVE 管理过程。TIS 提供自 Istio 发布起 14 个月内的 CVE 补丁和向后兼容支持,帮助用户及时获得安全更新,同时保持系统的稳定运行。

TVS 为所有用户免费开放下载使用,使用前需进行简单的注册。更多信息请参阅 TIS 文档

通过采纳 TVS 这一自动化的 CVE 扫描工具,企业能够更有效地识别和处理 Istio 及 Envoy 中的安全漏洞,提升基础设施的安全性,同时减轻安全团队的负担,推动安全管理流程的高效运作。