返回

文章详情

远程证明

Hacker News2026年7月9日 00:32

一个主机连接到你的网络。它看起来像你的舰队中的一部分,但它真的如此吗?它运行着你的软件,至少有足够的运行条件来开始处理流量。它像鸭子一样嘎嘎叫。但是内部是什么?我很惊讶ChatGPT同意制作这一内容。但说真的。你如何知道你的数据不会在一个被攻击者控制的堆栈上?你如何知道你没有在尝试调度工作负载到一个攻击者控制的机器上?你如何确定你的任何安全控制实际是在主机上?一旦一个攻击者接管了一个主机,就有无尽的地方可以隐藏并在升级和重启中持续存在。大多数设置在主机被预配置后就充满了信任。主机被放置在信任边界内,然后就保持在那里,无论在此期间发生了什么。如果它们一开始就应该在那里。让我们进入远程证明的美妙世界,它(大多数情况下)解决了这个问题。使用TPM,我们可以远程地、加密地证明几个事情:主机具有预期的硬件;主机具有预期的固件;主机具有预期的内核和初始化镜像;主机具有预期的根文件系统(取决于设置);主机通过了我们定义的任意检查。这意味着在重启之后,我们知道主机的确切状态。在没有广泛的物理修改和篡改的情况下,一个全新的引导要么将我们置于受信状态,要么失败并摧毁对主机的信任。测量引导周期不同于受信引导,它依赖于签名的测量,而不是像安全引导那样的签名工件。尽管复杂性显著增加,但它提供了更大的覆盖范围。即便是恶意的、已签名的驱动程序和根工具也可以被捕捉到。但是,如果我们不像安全引导那样阻止引导,测量有什么意义?测量能给我们带来什么?这关系到你如何信任主机。你可以使用TPM来加密你的根文件系统的全部或部分(其中包含你所有的密钥和数据),以便在测量引导不成功的情况下,主机在功能上无法操作。你的RA可以拒绝向未提供正确测量值的主机签发证书(你确实在使用mTLS吗?)。你甚至可以用TPM为TLS x509证书提供支持,这样一个错误重启的主机根本无法通过mTLS进行身份验证。这样,一开始就能对主机的初始状态提供极为强大的保证,因此你可以信任你的工作负载和数据位于一个你信任的环境中。这并不是一个完美的解决方案。物理攻击(如内存窃听)仍然是一个问题。但是,结合强大的EDR和良好的LSM策略,你就能够解决大量问题,特别是那些绕过你所有良好用户空间防御的恶性内核和驱动程序供应链攻击。但是,启动后的攻击怎么办?那是你的EDR的问题。受信引导为基于上面构建其他原语提供了基础。包括加密证明你的EDR已安装并正在运行(在引导时)、不可变文件系统(在引导时经过验证)、签名升级、机密计算等。没有它,你无法信任你的主机本身,无法做出进一步的安全保证。用沙子建造的房子及其所有。遗憾的是,为组织中每个主机的每一步引导过程进行远程测量是一项巨大的任务。它涉及到你如何构建和分发固件、初始化镜像和内核等。好的一面是,它将给你机会清理大批历史遗留的累赘,可能还会揭示一些你未曾考虑的供应链问题。TPM魔法就是如此。TPM向主机暴露了一组有限的加密操作接口,而该接口被锁定到足以控制你对加密材料的访问。同时它们对物理攻击具有一定的抵抗力,但主要功能是减轻软件攻击,非物理攻击。即使是内核代码也无法深入TPM并提取私人材料。TPM配备了一组PCR(平台配置寄存器)。它们唯一的功能是存储哈希值。它们只会向前,你可以测量新的哈希值进入PCR并将前一个值与新值哈希,产生唯一的结果。不会有倒退。不同的工件在引导和初始化期间被测量到不同的PCR中,类似于安全引导,每个阶段测量下一个阶段。在这个链条上破坏任何地方都会污染PCR值。TPM关心这些值。你可以基于它们执行几项操作:TPM密封:材料可以存储在TPM中,只有在PCR(你选择的那些)核对无误的情况下才会解锁。TPM报价:这些值可以用TPM内存在的密钥进行签名。你的RA知道该密钥的来源(稍后会详细介绍),这提供了强有力的证明,证明测量值是正确的。完整的流程超出了这样的博客文章(问Claude),但大致如下:当主机首次被配置时,TPM拥有一个证书密钥(EK),这是用于解密的密钥。

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

请我喝杯咖啡