威胁建模

查看本文大纲

Kubernetes 可以成为数据和 / 或计算能力盗窃的重要目标。虽然数据盗窃是传统上的主要动机,但寻求计算能力(通常用于加密货币挖掘)的网络行为者也被吸引到 Kubernetes 来利用其底层基础设施。除了资源盗窃,网络行为者还可能针对 Kubernetes 造成拒绝服务。下面的威胁代表了 Kubernetes 集群最可能的破坏源。

  • 供应链风险 - 对供应链的攻击载体是多种多样的,并且在减轻风险方面具有挑战性。供应链风险是指对手可能颠覆构成系统的任何元素的风险,包括帮助提供最终产品的产品组件、服务或人员。这可能包括用于创建和管理 Kubernetes 集群的第三方软件和供应商。供应链的潜在威胁会在多个层面上影响 Kubernetes,包括:
    • 容器 / 应用层面 - 在 Kubernetes 中运行的应用及其第三方依赖的安全性,它们依赖于开发者的可信度和开发基础设施的防御能力。来自第三方的恶意容器或应用程序可以为网络行为者在集群中提供一个立足点。
    • 基础设施 - 托管 Kubernetes 的底层系统有其自身的软件和硬件依赖性。系统作为工作节点或控制平面一部分的,任何潜在威胁都可能为网络行为者在集群中提供一个立足点。
  • 恶意威胁行为者 - 恶意行为者经常利用漏洞从远程位置获得访问权。Kubernetes 架构暴露了几个 API,网络行为者有可能利用这些 API 进行远程利用。
    • 控制平面 - Kubernetes 控制平面有各种组件,通过通信来跟踪和管理集群。网络行为者经常利用缺乏适当访问控制的暴露的控制平面组件。
    • 工作节点 - 除了运行容器引擎外,工作者节点还承载着 kubeletkube-proxy 服务,这些都有可能被网络行为者利用。此外,工作节点存在于被锁定的控制平面之外,可能更容易被网络行为者利用。
    • 容器化的应用程序 - 在集群内运行的应用程序是常见的目标。应用程序经常可以在集群之外访问,使它们可以被远程网络行为者接触到。然后,网络行为者可以从已经被破坏的应用出发,或者利用暴露的应用程序的内部可访问资源在集群中提升权限。
  • 内部威胁 - 威胁者可以利用漏洞或使用个人在组织内工作时获得的特权。来自组织内部的个人被赋予特殊的知识和特权,可以用来威胁 Kubernetes 集群。
    • 管理员 - Kubernetes 管理员对运行中的容器有控制权,包括在容器化环境中执行任意命令的能力。Kubernetes 强制的 RBAC 授权可以通过限制对敏感能力的访问来帮助降低风险。然而,由于 Kubernetes 缺乏双人制的完整性控制,即必须有至少一个管理账户才能够获得集群的控制权。管理员通常有对系统或管理程序的物理访问权,这也可能被用来破坏 Kubernetes 环境。
    • 用户 - 容器化应用程序的用户可能有知识和凭证来访问 Kubernetes 集群中的容器化服务。这种程度的访问可以提供足够的手段来利用应用程序本身或其他集群组件。
    • 云服务或基础设施供应商 - 对管理 Kubernetes 节点的物理系统或管理程序的访问可被用来破坏 Kubernetes 环境。云服务提供商通常有多层技术和管理控制,以保护系统免受特权管理员的影响。