DRAMスクランブリングでCPUのすべてを解放——PSP、SMM、マイクロコードまで
Spaghettifying DRAM

AMD Family 16h CPUのDRAMコントローラのアドレス変換レジスタを書き換えることで、物理メモリのマッピングを再配線し、カーネルからも見えない保護領域(PSP、SMM、C6 DRAM、CPUマイクロコードなど)へのアクセスを可能にする手法を解説。変換はGF(2)線形写像であり、線形代数で復元可能。実行中のシステムでMCT/DCT変換を再プログラムし、メモリをスクランブルして秘密を取得、元に戻す手順を示す。
物理アドレスはむしろ提案に過ぎない。
HNでの議論
175- MattSteelblade
ブラックハットでの併設講演が待ちきれない。クリストファー・ドーマスは、私がこれまでで最も好きなハッカーの一人だ。彼は自分の研究を説明するのが本当に上手い。彼の講演で特に好きなものをいくつか挙げる:
- リバースエンジニアリングにおける心理戦 https://www.youtube.com/watch?v=HlUe0TUHOIc
- MoVfuscator https://www.youtube.com/watch?v=R7EEoWg6Ekk
- 秘匿化されたx86におけるハードウェアバックドア https://www.youtube.com/watch?v=jmTwlEh8L7g
- weinzierl
私がコンピュータを始めた頃、DRAMは10代の若者にも理解できるものだった。RAS、CAS、読み出し、完了。
もちろん、必要なリフレッシュはいつも少し面倒だったが、それでも何とか扱えるものだった。
今では、DRAMを搭載したマイコンを立ち上げるだけでも博士号が3つ必要だと感じるし、DRAMアクセスに必要なプロプライエタリなバイナリブロブについては言及するのもやめておこう。PSRAMが存在するのも当然だ。
このことから導かれる結論は、この巨大な攻撃面が多くの機会を提供するのは驚くべきことではないということだ。(もちろん、それを見つけるのが簡単だという意味ではない。クリストファー・ドーマスに敬意を表する。ただ、もっとたくさんあるだろうと予想しているだけだ。)
- WhiteDawn
これは、自分のシステムへの完全で妨げのないアクセスを得るという点で素晴らしい。本来あるべき姿だ。
ただ、XboxやPlayStationのセキュリティ部門は今、少し緊張しているだろうね。あのマシンでring-0を取るのはほぼ不可能だが、一度取ってしまえば、他のすべてが広く開かれることになるからね。
- gmueckl
READMEによると、これはAMD Jaguarで動作するようだ。それは2013年のアーキテクチャだ。Zen 3ではメモリコントローラのレジスタのベースアドレスが異なるというメモはあるが、それだけだ。この攻撃は実際にはどの新しいCPUで動作するのだろうか?
- dzdt
つまり、影響を受けるシステムでは、ring 0のルートはネガティブリング領域に隠されていたほとんどすべてのものにアクセスできるということだ。このページは、この特定のAMD16h(古いAMDの低消費電力ファミリー)以外に、どのプロセッサファミリーが同様の影響を受ける可能性があるかについては、ほとんど沈黙している。
- mschuster91
この研究者は明らかにCPUのリバースエンジニアリングに非常に精通しており、モリアのドワーフたちが掘り進む様子を思い起こさせる。
しかし、なぜ彼らはwriteupを書くのにAIを使わなければならないのだろうか?!
- zahlman
これは、すでにrootを持っている場合にのみ適用される(それを超えるために)、という理解で正しいだろうか? ローカルでの権限昇格の新たなリスクを露呈するものではないのだろうか?
- ipdashc
本当にこんなことを言うのは嫌なんだけど、でもね、クリストファー・ドーマスの大ファンだった(そして今もそうである)者として(そして彼よりはるかに頭が悪い、つまり、この分野は本当に私の理解を超えているんだけど)...最近彼がREADMEをすべてLLMで書いているのを見るのは本当に残念だ。以前は読むのが楽しかったのに、今ではClaude的な表現のせいで、数段落読むのもやっとだ。彼が新しいツールを使ってさらに素晴らしいことを成し遂げているのは嬉しいが、最後は人間が書いた記事にしてほしかった。