DRAM address変換の1 bitでCPU保護memoryへ到達する実証
これは何?skitter-creek-bath-saltsはmemory controllerのphysical addressからDRAM座標への変換を操作し、CPU platformの保護領域を別addressから読むsecurity research prototypeです。
xoreaxeaxeax氏はDRAM controllerのbank-swizzle設定を一時的に書き換え、通常とは異なるphysical addressを同じDRAM dataへ対応させるaliasを線形代数で計算しました。CPU core、IOMMU、firmwareが守るphysical addressより下で座標を組み替えるため、Platform Security Processor、System Management Mode、C6 DRAM、microcode領域へ到達する例を公開しています。実装・検証対象はregisterが文書化されlock不能なAMD Family 16hであり、新世代や他architectureで同じ攻撃が成立した確認ではありません。
memory isolationのthreat modelはpage tableやIOMMUだけでなく、最下層のDRAM address transformを誰が再設定できるかまで含める必要があります。適用範囲は限定的でも、保護境界より下のmutable stateが全上位防御を無効化し得る設計lessonです。
- 読むべき人
- CPU・firmware security、confidential computing、kernel、hardware platformの担当者
- HN
- 452 points / 131 comments