The Volatility Framework: Volatile memory artifact extraction utility framework
https://www.volatilesystems.com/default/volatility
オープンソースの物理メモリ解析ツールです。2008/08/18時点でバージョン1.3betaがリリースされています。Windows XP SP2, SP3のメモリを対象にしており、PAEの有無どちらにも対応しています。Linuxにも対応する予定(おそらく1.3の正式版)であり、メモリ解析の有力なツールとして期待できます。Pythonで書かれていてCygwinを含むUnix系のOSで実行できます。試した感じでは完成度はかなり高いです。
イメージの形式はこれまでraw(dd)イメージのみでしたが、1.3betaでクラッシュダンプ、ハイバネーションファイル形式をサポートするようになりました。相互に変換することも可能です。
実行形式は以下の通りです。
# python volatility コマンド オプション
多くのコマンドが用意されています。ただ、オプション-h, -f, -b, -tは共通した用途になっています。
NISTで公開されているサンプルイメージに対してコマンドidentを実行した例が以下です。
# python volatility ident -f xp-laptop-2005-06-25.img
Image Name: xp-laptop-2005-06-25.img
Image Type: XP SP2
VM Type: nopae
DTB: 0x39000
Datetime: Sat Jun 25 12:58:47 2005
対象イメージのタイプ、時刻など基礎情報が表示されます。
なお、The Volatility Frameworkは以下のFATKitというフレームワークが元になっています。
FATKit: The Forensic Analysis ToolKit
http://www.4tphi.net/fatkit/
フレームワークと名付けているように、仮想<->物理アドレス変換やデータ構造体などの処理単位でモジュール化していて、拡張しやすい作りにしています。このあとにVolatoolsというツールとしてしばらく開発されていましたが、オープンソース化とともにVolatilityになったようです。