开发者Ingo Blechschmidt最近经历了一场”既有益又极度可怕”的调试之旅。他发现:从Linux 6.9(2024年5月)起,LUKS全盘加密在系统挂起时清除内存密钥的功能——一直默默失效,持续超过两年。
漏洞本质
luksSuspend原设计在系统挂起时清除内存中的加密主密钥。但自Linux 6.9起完全停止工作。任何人在笔记本运行状态下扣押设备,可直接从内存提取磁盘密钥。整个过程无日志、无警告——”一切看起来运转正常”。
“信任安全机制多年后发现它从未工作过,这感觉非常独特地令人不安,”Blechschmidt写道。需注意luksSuspend是Debian扩展而非内核原生功能,但NixOS自动化测试框架在发现过程中扮演了关键角色。
社区反响
johnathan101总结:”这种回归容易被忽略,因为一切仍’正常工作’。安全漏洞往往悄无声息。”moktonar发出更阴暗的疑问:”FBI是否急需获取密钥的方法?这是故意留下的后门?”反映了安全社区对”bugdoor”的敏感。
务实的tombert认为对多数用户影响有限:”加密只是怕卖设备时数据被恢复。”fpoling建议了更可靠做法:配置系统挂起15分钟后自动休眠到磁盘——断电才是保护冷启动攻击的唯一彻底方式。
教训
这是教科书级的安全工程教训:加密基石的可靠性不能依赖”设置一次就忘记”。它需要自动化测试、持续验证和独立完整性检查。NixOS测试框架证明了价值——但一个如此基础的回归在Linux生态系统潜伏两年未被发现,仍是令人警醒的提醒。
📎 Mathstodon
💬 383分·184评