凭证安全:端点保护对密钥的真正含义

TL;DR端点保护指的是杀毒软件或EDR:“端点保护”一词几乎总是指杀毒软件或EDR。杀毒软件最初基于特征码检测恶意软件;EDR则增加了持续的行为监控与响应功能。两者均旨在检测并阻止主机上的恶意活动……

Security Boulevard
恶意软件终端安全云安全勒索攻击APT活动

TL;DR

Credential Security: What Endpoint Protection Really Means for Secrets

本文将明确区分两者,并解释为何成熟的端点安全方案需要同时部署这两类能力。

为何「端点」是个敏感词

二十年来,端点保护的核心是检测恶意活动。杀毒软件先出现,随后是EDR,最后是XDR。整个技术谱系围绕恶意软件和行为展开。当新工具打出「端点」的旗号时,买家自然会联想到「EDR代理」。

但端点上还存着这个谱系从未设计用来保护的东西:凭证本身。云密钥、API令牌和SSH密钥以明文形式存储在开发者主机的.env文件、Shell历史记录、CLI缓存中,如今越来越多地出现在AI工具目录里。

保护主机免受恶意活动侵害,与掌握主机上暴露了哪些密钥,是两项完全不同的工作。第二项工作需要独立的控制措施。

EDR的职责与优势

Credential Security: What Endpoint Protection Really Means for Secrets

EDR是端点上的持续行为监控与响应系统。它监控进程、内存、文件操作和网络活动,进而检测并遏制恶意行为。

部分EDR和身份平台已扩展出凭证相关功能。CrowdStrike的Falcon身份威胁检测与Falcon身份威胁防护可发现弱身份凭证或暴露的身份凭证,检测身份认证异常,并标记暗网中的凭证暴露情况。微软Defender for Identity覆盖类似领域。CrowdStrike的Falcon云安全也会扫描容器镜像和IaC文件中的密钥,但由于未发布检测器方法、活性验证或修复工作流,它更像一个检查项,而非成熟的凭证安全能力。

这些功能存在结构性局限:它们依赖域电子邮件地址和Active Directory、Entra ID、云IAM等托管身份系统。硬编码的AWS密钥、GitHub令牌或SSH密钥没有关联域电子邮件地址。当缺少域电子邮件归因时,这些工具无法追踪该凭证。硬编码的开发者密钥在结构上超出了它们的检测范围。

CrowdStrike能看到恶意软件,也越来越能看到其所属身份;GitGuardian能看到本不该存在的密钥。

这种静态密钥发现是关键界限,也是两类控制措施需并行而非替代的原因。

凭证安全的职责

凭证发现按计划执行:定期扫描,生成随时间变化的、记录主机上存在哪些有效密钥的带时间戳的记录。

这些密钥包括.env和配置文件中的云密钥、令牌、SSH密钥,Shell历史记录,以及CLI或AI工具缓存。在GitGuardian,我们还会在扫描时纳入环境变量和内存中的凭证,确保捕获设备上的所有潜在密钥。

该流程分为三个阶段:第一,识别暴露的密钥;第二,按主机、严重程度和有效性对发现结果评分;第三,将发现结果路由至修复环节:低风险发现由开发者主机本地脱敏,已泄露或高权限凭证则升级至事件响应流程。

与EDR的区别在于状态与行为、计划与持续:EDR监控正在发生的事件;凭证发现告诉你主机上已存在的内容。

凭证层控制包含两部分:安全与欺骗。安全不仅是盘点,更是攻击面缩减:上述定期扫描可检测暴露的密钥并推动修复。欺骗指蜜令牌:在密钥窃取工具的目标位置植入诱饵凭证,一旦被触碰就触发高保真警报,让你在有人利用暴露密钥的瞬间就察觉,而非仅知道密钥存在。

至少目前,端点上的「凭证安全」并非像EDR和XDR那样的分析师专属类别,而是一项新兴控制措施。我们认为,这是一个市场仍需明确界定和命名的独特端点功能。我们将在后续章节探讨这一观点。

核心差异:行为与凭证层

EDR监控恶意行为,凭证安全则在密钥被利用前盘点并修复 fleet 中暴露的密钥,两者之间的空白正是 凭证攻击的发生地。

单个暴露的有效凭证本身既非恶意也非异常。攻击者使用它时看起来像合法用户。EDR有时能捕获窃取行为——即端点上表现出信息窃取器行为的进程,但无法捕获窃取后使用凭证的行为,后者看起来像来自不同主机的正常登录。凭证安全填补了前端空白:在密钥被窃取前就发现它。

EDR

凭证安全

提出的问题

此主机上是否正在发生恶意活动?

此主机当前暴露了哪些密钥?

监控对象

进程、内存、文件和网络活动(持续监控)

文件、缓存、历史记录和配置中的静态密钥(定期扫描)

捕获内容

勒索软件、无文件攻击、Living-off-the-Land攻击、横向移动、内存转储等凭证窃取行为

使用前的有效暴露密钥,按主机、严重程度和有效性评分

无法检测的内容

配置文件中的明文密钥:EDR能看到文件,但无法解析其内容中的凭证值

恶意运行时行为

最适用场景

检测并遏制主机上的恶意活动

在攻击者访问前发现并撤销暴露密钥

为何凭证层需要独立控制措施 现在就需要

被盗的有效凭证授予合法授权的访问权限。更糟的是,使用这些凭证的攻击者看起来像普通用户,而非入侵者。

基于行为的工具无法总是防范这类攻击。毕竟,信息窃取器从端点窃取凭证并获取已认证的会话令牌,过程中会绕过MFA。这些行为在行为监控工具看来并不像恶意活动。还值得注意的是,用于检测这类异常的控制措施,如基于角色的访问控制和条件访问策略,往往缺失或仅部分配置,进一步扩大了差距。

此外,复杂的信息窃取器可通过使用合法系统工具规避行为监控。使用被盗会话令牌的行为与授权登录完全相同,这进一步证明了控制凭证层的重要性。

这个问题因规模而紧迫。根据GitGuardian的 开发者端点保护发布数据,普通开发者笔记本电脑包含 150 secrets。此外,私钥占这些密钥的 38% of these secrets。单个设备就能为攻击者提供无与伦比的访问权限。

遗憾的是,开发者存储在主机上的密钥往往生命周期很长,且集中在传统扫描工具不关注的地方。 Roughly 40% of high and critical secrets出现在AI工具目录和日志文件中,远离代码库扫描工具的覆盖范围。

使用AI编码工具的安全和事件响应从业者也面临同样的限制。部分工具不支持.env文件的凭证隔离,因此凭证必须存储在明文配置文件中。开发者无法阻止这种情况,只能进行盘点和监控。

事件响应期间:凭证层视角

主机被入侵时,安全团队需快速回答三个问题:哪些凭证已暴露?攻击者现在能访问或控制什么?首先需要轮换哪些?在开始任何轮换前,必须完成范围界定:如果轮换三个凭证,另外三个仍处于活跃状态,攻击者就能在团队完成驱逐前建立持久访问权限。先完成全面可见性,意味着修复可一次性完成,不会打草惊蛇。

如果在事件发生前部署了解决方案,团队需要时就能获取凭证记录,这是正确的态势。在确认入侵后的前48小时内部署,在Shell历史记录未滚动、临时文件未清除前,仍能捕获大部分关键证据。离事件越远,证据越短暂。

EDR会告诉你主机上发生了什么,而凭证层盘点会告诉你有什么可窃取。两者结合可缩短从检测到遏制的路径。

理想状态:覆盖两类问题

Credential Security: What Endpoint Protection Really Means for Secrets

成熟的端点安全方案需同时回答行为和凭证层问题,以最大化安全潜力。以下是实际表现。

  1. 部署EDR用于行为监控: 将EDR作为行为检测与响应层。要做到这一点,需确保EDR覆盖所有主机。
  2. 部署定期凭证发现: 定期扫描每个端点,按主机、严重程度和有效性评分。输出是排名列表:哪些需立即轮换,哪些需逐步修复,哪些可接受并搭配蜜令牌监控。
  3. 添加蜜令牌作为欺骗层: 在信息窃取器的目标位置植入诱饵凭证。任何使用尝试都会触发高保真警报,误报率接近零。
  4. 将发现结果与身份地图关联: 在12台机器上发现的、同时出现在密钥管理器中的凭证,与单台笔记本电脑上的凭证是不同的风险信号。通过GitGuardian仪表板路由端点发现结果,可自动呈现该模式并路由至正确团队。
  5. 统一响应流程: 将行为警报和凭证发现结果路由至同一事件响应流程。要做到这一点,需确认两类信号落在同一队列并共享上下文。这样,每个团队成员都基于相同信息工作。

GitGuardian的定位

GitGuardian 开发者端点保护是端点上的凭证安全层。它是GitGuardian更广泛平台中的一项能力,与内部密钥监控、公共密钥监控和NHI治理并列,共同保护密钥。

开发者端点保护按计划扫描主机上凭证积累的位置,通过现有MDM(Intune、Jamf或Kandji)部署。它会按主机、严重程度和有效性对每个发现结果评分,并将结果呈现为优先、去重后的列表。你还可部署蜜令牌,一旦攻击者尝试使用窃取的凭证就会触发警报。开发者可直接从仪表板对主机上的密钥进行脱敏。

此外,GitGuardian的CLI工具ggshield在本地运行端点密钥扫描流程,仅哈希元数据离开主机,绝不会泄露密钥值或源文件。

开发者端点保护不是EDR或杀毒软件。它回答凭证层问题,补充EDR和XDR,而非替代它们。

两个问题,一个端点

要实现真正的端点安全,需同时部署两类控制措施。

一类是捕获恶意活动的行为层,另一类是在攻击者窃取并使用前发现暴露密钥的凭证层。两类控制措施互不替代。

凭证表面在不断扩大。每个新的AI工作流都是新的凭证表面,且不会出现在行为遥测中。能快速回答范围问题的团队——被入侵主机上有哪些凭证、攻击者能访问什么、首先需轮换什么——是在需要前就建立了盘点,而非从零开始。

查看开发者主机上暴露的内容

常见问题

Is credential discovery the same as EDR?

否。它们是共享同一端点的不同控制措施。EDR是行为检测与响应系统,监控活动并检测恶意行为;凭证发现是对主机上暴露的有效密钥的时点盘点,已评分并准备撤销。前者针对行为,后者针对暴露状态。

Does endpoint security mean antivirus?

不全是。杀毒软件及其后续产品EDR保护主机免受恶意代码和行为侵害。密钥的端点安全还需知道设备上暴露了哪些凭证,这是杀毒软件和EDR从未设计的工作。

Can EDR find secrets on a developer machine?

不是核心目的。EDR监控进程和系统行为,可检测进程窃取凭证的行为,但不会盘点配置文件、缓存和历史记录中的静态明文密钥。这类盘点是凭证发现的职责。

Does EDR detect exposed credentials?

EDR可检测凭证窃取行为,比如进程读取内存转储密钥的行为。部分EDR和身份平台还会标记弱身份账户、暴露的身份账户和暗网暴露情况,但不会枚举开发者磁盘上文件中的明文API密钥、令牌和SSH密钥。发现这些静态密钥是凭证发现的职责:EDR检测窃取行为,而非暴露情况。

What’s the difference between EDR and secrets detection?

EDR是端点上的行为检测与响应系统;密钥检测(又称凭证发现)是发现端点上暴露密钥的过程,是更广泛密钥安全实践的一部分。简单来说,一个监控正在发生的事件,另一个盘点已存在的内容。成熟的方案会同时使用两者。

Do I need EDR and credential discovery?

是的,如果你想回答端点的两个问题。EDR捕获恶意行为,凭证发现找到攻击者会使用的暴露凭证。它们覆盖同一位置的不同风险,因此需协同工作而非互相替代。

What does “endpoint” mean for secrets security?

指开发者主机作为凭证积累的场所,而非仅需防御恶意软件的场所。密钥的端点安全是指在EDR提供的行为保护之外,发现并撤销设备上暴露的凭证。