Linux カーネル 6.9 以降で、cryptsetup luksSuspend が本来行うはずの暗号鍵の RAM 消去を実施していない回帰が発生していると Privacy Guides コミュニティが報告し、Hacker News のトップに達しました。サスペンド中の端末を物理的に奪われた場合、コールドブート攻撃や DMA 攻撃で LUKS 鍵をメモリから抜き取られる恐れがあります。
主なポイント
- 本来の設計では
cryptsetup luksSuspendが I/O をフリーズし LUKS マスター鍵を RAM から破棄。復帰時に再度パスフレーズを要求する挙動 - Linux 6.9 でこの鍵消去処理が動作しなくなっており、ユーザースペースからは通常のサスペンド後もメモリに鍵が残存
- ノート PC を suspend-to-RAM 状態のまま持ち歩く運用では、実質的にフルディスク暗号化の保護が失われる
- 対策は kernel を 6.8 以前へ固定、または休止 (hibernate) を使う、
debian-luks-suspend系のカスタムラッパーで root FS をロックする等 - 上流での修正パッチとリグレッションテストの追加が議論されている段階
出典: Since Linux 6.9, LUKS suspend stopped wiping disk-encryption keys from memory