Guillermo Rauch
@rauchg
我创建了𝚌𝚙𝚞-𝚌𝚑𝚊𝚝,这是对@openai关于使用CPU进行隐蔽通信研究成果的复现。
它运行在一个通用主机上,配备2个以上的Firecracker微型虚拟机,且没有互联网访问。支持x86,甚至我的M5芯片也能运行。
我能够通过三种不同的机制进行聊天:
① CPU争用
② 缓存驱逐时间
③ DRAM带宽争用
… 跨多个 CPU,违反了所有 Firecracker 的生产建议(不使用 SMT,不使用 KSM,租户固定在不同的核心上)。
基本上,如果涉及共享硬件,你的代理很可能可以进行隐蔽通信。并且延迟非常低。
好消息是:这与*旁路攻击*截然不同,旁路攻击中攻击者可以窃取信息(如 Meltdown/Spectre),这是像 Vercel Sandbox 这样的提供商能够缓解的一类攻击。此外,在我们的实际环境中,这些“耳语”技术要难以实施得多,而且我们更容易监控和检测(采样硬件计数器 + 大量大规模统计数据)。
值得注意的是,具有讽刺意味的是,OpenAI 和 Anthropic 的模型拒绝执行这项工作。开放权重模型完成了这项任务。我担心实验室的立场可能适得其反,阻碍帮助开发者构建正确和安全的系统。例如:构建一个安全的沙盒需要进行这种分析,没有它,我们的世界将变得不那么安全。