Note to Self

公開する緊張感で、読み返した時に??にならない自分用メモです

Volatility概要

メモリフォレンジックによるマルウェア感染痕跡の調査
https://sect.iij.ad.jp/d/2011/12/194028.html

メモリフォレンジック
揮発性のデータを解析する技術
対象のシステムのメモリ領域を全て一度ダンプし、それに対して独自の実装で解析を行う。
汚染されている可能性のある対象システムのAPIに頼らず、また、解放された領域もチェックするので、
改ざんなどにより、意図的に隠蔽されている情報、終了したプロセスなど、既に解放された
メモリ領域に存在する情報を含めて取得できる。

インシデントレスポンスにおいて重要な情報
 ・どこと通信していたか
 ・どんなプログラムやスレッドが動いていたか
 ・どのようなデータがメモリ上にマッピングされていたか

昨今のマルウェアはタイムスタンプの改ざんを行う機能を持っているものが多いため、
ファイルシステム以外からの抽出できる時間情報の活用が重要。
例)メモリフォレンジックを活用して作成できる揮発性情報のタイムライン
  timeliner(Volatility Frameworkのプラグイン)は、プロセスやスレッド、
  ソケット通信やイベントログの生成情報を時系列でチェックできる
例)特定のプロセスにおいてインジェクトされたコード領域を検出
  mailfindプラグイン(Bolatility Framework)、VadDumpモジュール(EnCase EnScript)
  特定のプロセスアドレス空間のみをダンプ氏、ファイルをスキャンすることで、
  クイックにコードインジェクションの有無や、マルウェアの種類まで判定することもできる場合がある。
例)SpyEyeの設定情報、搾取した情報の抽出
  VadSearchモジュール(EnCase EnScript)
  SpyEyeの実行パスやインストールパス、config.biのファイル名など重要な情報を
  メモリから確認できる
  C1データを参照する際、その先頭にあるシグネチャ「!EYE」を検索
  VadSearchモジュールを使ってこのシグネチャをキーワードとして検索すると、下の図のように
  特定のプロセスアドレス空間においてマッチしたキーワードの周辺を参照できる。