概要
ProcDotはオーストリアのコンピューター緊急対応チーム(CERT)の一人であるChristian Wojnerによって開発されたマルウェアの動作を可視化するツールです。
ISCライセンスで公開されており、ソフトウェアをホームページから無料でダウンロードすることが可能です。
ProcDotは、マルウェア解析で使われるProcess Monitorとパケットキャプチャツールから得られる情報を統合し、可視化することができます。
Process MonitorはMicrosoft社のSysinternalsで公開されているWindows用の高度な監視ツールで、ファイルシステムやレジストリ、プロセスのアクティビティなどを監視することができます。
パケットキャプチャツールは、さまざまなプロトコルの通信を可視化するために使用するツールです。
マルウェア解析においては、これらのツールを組み合わせてPC内部でのマルウェアの動作や外部との通信を分析します。
しかし、Process Monitorではネットワーク関連の情報を拾うことはできず、パケットキャプチャツールでは通信を行ったプロセスを特定することができません。
ProcDotはこれら二種類のツールから得られる情報を統合し可視化する補助的なツールです。
また、これらのツールから得られるログには、マルウェアの動作とは無関係のものも多く含まれます。そうした情報をフィルタリングし、マルウェアの動作のみを絞り込んで表示することができます。
マルウェア解析における利用方法
マルウェア解析に使用する際の手順について紹介します。
また、今回の解説では、パケットキャプチャツールとしてWiresharkを使用します。
- ログの取得
- ProcDotの初期設定
- 可視化の実行
- グラフの見方
詳細な手順
1.ログの取得
ProcDotを使用するには、Process Monitorから得られるCSV形式のログとWiresharkなどから得られるpcap形式のログが必要です。
Process MonitorとWiresharkを実行している環境下でマルウェアを実行し、二種類のログを取得します。
この際、Process Monitorの設定を以下のように変更しておく必要があります。
- “Filter > Enable Advanced Output”を無効にする
- ログをエクスポートする際に、“Export all events”を選ぶ
2.ProcDotの初期設定
ProcDotの起動にはいくつかのサードパーティー製のソフトウェアが必要です。
- Windump(Windowsの場合)/Tcpdump(Linuxの場合)
- Graphviz
事前にこれらのソフトウェアをダウンロードしておき、ProcDotの初回起動時に必要なファイルへのパスを登録します。
また、環境によってはWindumpを登録した際にwpcap.dllが不足しているという旨のエラーが表示されることがあります。
その際は、Win10pcapのインストールを試してみてください。
3.可視化の実行
こちらがProcDotの基本の画面です。画面上部の「Monitoring Logs」の欄にProcess MonitorとWiresharkのログを入力します。
次に「Render Configuration」から表示するプロセスを選択します。
最後に「Refresh」を押すとグラフの描画が実行されます。
4.グラフの見方
次の画像は上記のグラフの一部を拡大したものです。
画像内にはmalware.exe(PID: 5724)がどのような動作を行っているかが示されています。①では、malware.exe(PID: 5724)が作成したスレッドが子プロセスであるkqcpp.exe(PID: 3824)を生成しています。また、②では、kqcpp.exe(PID: 3824)は悪意のあるURLであるwelfareofmankind[.]comと通信を行っています。
③の四角形の中にある2つのオレンジ色のアイコンは、関連するプロセスによって生成や削除されたファイルです。どのプロセスがどのような操作を行ったかが矢印によって可視化されています。
このように、グラフにはProcess Monitorから得た情報とパケットキャプチャツールから得た情報が統合されて表示されます。
画像内にはありませんが、上に挙げた要素のほかに、レジストリに対する書き込みや削除の操作、プロセスによるインジェクションなども可視化することができます。
また、ProcDotにはいくつかの便利な機能が備わっています。
- タイムラインをグラフ上に反映する機能
- Wiresharkと連携し、該当パケットのTCPストリームを表示する機能
- ファイルやレジストリの概要を表示する機能