Firewireによるメモリへのアクセス

ここ数日このネタをあちらこちらで見かける。別に目新しい話ではないのだが、何故なのかと思っていたら、Adam Boileauさんがこれまでは公開していなかったツールを自身のWebで公開したからのようだ。

少し前のエントリでも書いたが、Firewireを利用するとDMA経由でメモリの読み書きが自由にできる。これは脆弱性でもなんでもなくて、Firewire(IEEE1394)の仕様である。


このネタについては、上記のエントリで紹介したAndreas Schusterさんのブログに、これまでの歴史などもまとめられている。

History

The ability to read and write to another computer's physical memory through the FireWire interface was first exploited by Quinn "The Eskimo" in 2002. His program FireStarter allowed to remotely manipulate the contents of a target Mac's display. For his hack Quinn was awarded the first price at the MacHack Best Hack Contest 2002.

Michael Becher, Maximillian Dornseif and Christian N. Klein explained in their talk 0wn3d by an iPod at PacSec 2004 how FireWire could be used in a forensically sound memory acquisition procedure.

Adam Boileau (aka "Metlstorm") solved the problem of accessing a computer running Microsoft Windows in his presentation at RUXCON 2006. He also released some Python modules and memory acquisition tools.

私はたまたまPacSec2004で、Maximillian Dornseifさんの発表を聞いていたのだが、プレゼンやデモの内容にはかなりのインパクトがあった。(発表資料はここ)

ところがこのネタはその後何故かあまり話題にならかなかった。Windows OSを対象としていなかった、というのがその原因かもしれない。その後、上記引用にもあるように、RUXCON2006でAdam Boileauさんが新たな手法を発表し、同時にツールも公開した。これはWindowsからのメモリイメージ取得にも対応していたのだが、これもそれほど話題にはならなかったように思う。発表ではパスワードリカバリーのデモも行ったようなのだが、こちらのツールは公開しなかったのだ。で、今回公開したのはその時のツールということのようだ。(違ってたらごめんなさい)


まだ試してないけど、このwinlockpwnツールを使うと、Firewireで接続されたWindows XP SP2のパスワードロックをバイパスすることができる。というわけでこの問題に限った話ではないが、自分のPCに見知らぬ人が物理的にアクセスすることがないように注意しないといけない。

ただし(ライブ)フォレンジックの観点から言うと、メモリイメージを簡単に取得できる方法が一つ増えるわけで、Firewireのこの仕様は必ずしも悪いことばかりというわけでもない。


(関連情報)

Technorati: ,