什么是机密蔓延?
- IAM 词汇表
- 什么是机密蔓延?
机密信息蔓延是指包括 API 密钥、密码和加密密钥在内的各类机密信息在组织的基础设施、代码仓库及通信渠道中失控扩散的现象。这些凭证并非存储在集中式机密信息管理平台中,而是被硬编码进源代码、在即时通讯应用中共享,并分散在各类端点中。其结果是将形成一份不完整且几乎不可见的机密信息清单,使安全团队难以对其进行有效监控、轮换或撤销。
随着组织规模不断扩展,机密信息数量迅速增长,从而加剧了基于凭证的攻击风险以及供应链安全漏洞的可能性。
什么是秘密?
机密信息是一种供非人类实体使用的凭证,应用程序、服务和系统使用它来相互进行身份验证。常见示例包括 API 密钥、数据库连接字符串、加密密钥、访问令牌、SSH 密钥和数字证书。由于单个机密信息即可解锁敏感系统和数据,因此与团队可自由共享的标识符(例如用户名)相比,机密信息的存储与控制必须严格得多。
机密蔓延的形成机制
机密信息蔓延通常源于在缺乏统一监控与管控机制的情况下,对机密信息的创建与分发失去约束。
凭据的创建与增长
现代环境同时依赖人类用户与非人类身份,包括服务账户、机器人及应用工作负载,这些主体通常通过 API 密钥、令牌等机密信息进行身份验证。随着组织逐步采用云原生架构,机密信息的数量也随之快速增长。每新增一个系统、工作负载或集成都需要进行身份验证,这不仅扩大了攻击面,也增加了未受管理机密信息出现的可能性。随着组织规模持续扩张并逐步适应机器身份体系,它们不可避免地面临机密信息蔓延风险。
敏感凭证的不一致管理与共享
即便已制定安全策略,开发者与各团队在处理凭证时仍存在不一致行为。例如,有的开发者可能将凭证保存在本地,而另一些人则可能直接将其硬编码进源代码,或通过即时通讯工具进行共享。当安全流程不如直接复制粘贴凭证便捷时,用户往往会优先选择效率而非安全性。如果多个团队长期以相同方式处理数百项服务,这种不一致的做法将导致机密信息广泛扩散,并变得难以统一管理。
缺乏集中化敏感凭证管理
在缺乏集中化机密信息管理的情况下,组织无法准确追踪机密信息的存储位置、访问权限归属以及具体使用方式。这种可视性缺失使得在安全事件发生或员工离职后难以及时轮换或撤销凭证,迫使安全团队只能被动响应,而无法对机密信息进行主动治理。
不完善的生命周期管理
在许多情况下,机密信息仅为临时使用而创建,但在项目结束后未能得到及时维护或清理。未使用或重复的凭证可能长期遗留在多个系统中,并随时间推移持续累积风险。如果旧有或未使用的机密信息未被及时轮换或清理,可能会长期甚至无限期地保留对代码库、代码仓库或遗留配置文件的访问权限。缺乏明确的生命周期管理策略时,组织会不断积累过时但仍可访问的机密信息,这些未受管控的遗留信息将进一步加剧系统间的机密信息蔓延。
机密信息蔓延警告
如果以下任何情况听起来很熟悉,您很可能存在机密信息蔓延:
- 机密信息出现在多个位置,且无人能说清存在多少个副本。
- 凭据通过聊天、电子邮件或共享驱动器进行共享。
- 机密信息被硬编码在源代码、配置文件或 CI/CD 流水线中。
- 只有少数员工知道某些凭据存储在哪里。
- 旧项目和前员工的凭证仍然有效。
- 没有人能够按需提供组织机密信息的完整、最新清单。
机密蔓延为何具有高风险
当机密信息在缺乏监管的情况下广泛分散时,其后果会波及组织的各个层面。凭据泄露一直是导致数据泄露最常见的原因之一,这也正是分散且未受管理的机密信息如此危险的原因所在。以下是机密信息管理不当的主要风险:
- 数据泄露:分散在系统和工具中的机密信息更有可能在数据泄露事件中暴露。单个泄露的机密信息即可授予对敏感数据和关键系统的访问权限。
- 系统入侵:管理不当的机密信息可能会被攻破,进而被用于在基础设施中横向移动并提升权限。
- 团队生产力下降:安全与开发运营团队不得不花费时间追踪机密信息存储位置并管理分散的凭据,而不是专注于更高优先级的工作。
- 合规与财务后果:因机密信息管理不当而导致的数据泄露,可能引发监管罚款、事件响应成本以及法律责任。在 PCI DSS、HIPAA 或 SOC 2 标准下,无论是否发生泄露,若无法证明对凭证实施了受控访问,其本身就是一项合规性缺陷。
- 声誉受损:因机密信息管理不当引发的泄露事件可能会造成持久损害,尤其是在客户将敏感数据托付给组织的情况下。信任与合作关系的丧失所带来的负面影响,在事件发生多年后可能依然存在。
机密蔓延的常见场景
机密信息蔓延往往表现为以下几种方式:
- 源代码中的硬编码机密信息:开发人员将机密信息嵌入代码中,随后将其提交至代码仓库。在公共代码仓库中,此类泄露通常是即时且不可逆的,除非相关凭证被及时轮换。在私有代码仓库中,这会扩大任何代码仓库被攻破后的影响范围。密钥扫描工具可以识别此类泄露,但一旦敏感信息已被搜索引擎或第三方扫描工具索引,即便删除后仍可能持续存在风险。
- API 密钥分散存储在多个位置:当团队将 API 密钥复制到配置文件中而非在运行时注入时,同一机密信息最终会出现在多个位置。如果没有机密信息管理,就无人知晓每个副本的所在位置,因而无法对其进行轮换或撤销访问权限。
- CI/CD 流水线中的敏感信息泄露:嵌入在配置文件、构建日志或第三方 CI 集成中的敏感信息,即使没有直接访问代码的权限,任何拥有流水线执行权限的人员也都能看到。
- 被遗忘的凭据:来自旧项目或离职员工的机密信息在其用途结束后往往仍长期保持有效,虽仍可访问,却已脱离主动监控。
- 跨系统重复机密信息:同一机密信息在团队或环境中被重复使用,导致无法实施一致的访问控制。
- 不安全的共享方式:通过即时通讯应用或电子邮件传递的机密信息无法得到可靠追踪;您无法得知谁查看过、被传递至何处,或以何种方式存储。
如何降低机密蔓延风险
减少机密信息蔓延意味着对机密信息的存储、访问和管理进行集中化。机密信息管理器使组织能够对其全部机密信息资产拥有控制力和可见性。
将敏感凭证集中存储于安全保管库中
与其任由凭据散落在文件和代码仓库中,不如将所有机密信息存储在专用的机密信息管理器中。集中式加密保管库成为存储、访问和分发凭据的单一真实数据源。
执行最低特权访问原则
并非每个人都需要访问所有机密信息。最小权限访问仅向每个身份授予其所需的机密信息,且仅在需要的时间内授予,因此凭据泄露所造成的损害会小得多。
扫描代码仓库中的既有敏感凭证
只有在先清理现有分散问题的前提下,集中化管理才能真正发挥作用。机密信息扫描工具可以发现已存在于代码仓库、配置文件及构建产物中的凭证。在确认您的机密信息已受控之前,先进行初步扫描,然后设置持续扫描以发现新的泄露风险。
自动轮换凭据
自动轮换可确保机密信息保持最新,无需依赖难以扩展的手动流程。它可以缩小暴露窗口,并消除跨数百个凭据跟踪轮换的负担。
提升可视性与审计能力
维护实时更新的机密信息清单,涵盖其存储位置及使用方式。这种可视性使团队能够识别异常行为、发现孤立机密信息,并快速响应安全事件。
制定并执行生命周期管理策略
针对机密信息的创建、轮换与注销制定明确规则,并在可行范围内实现执行自动化。对于不再需要的机密信息,应予以撤销,而非置之不理。
大规模完成所有这些工作的最有效方法是使用专用的机密信息管理工具。Keeper Secrets Manager 通过将每个机密信息存储在同一加密位置,帮助组织集中管理机密信息,使团队能够从单一可信来源跟踪和审计这些机密信息,而无需追踪分散在其基础设施中的凭证。