メモリダンプに残るデータの例について以前ブログに書いたので、今回はメモリダンプの証拠保全方法について書いてみる。
メモリダンプにはどんなデータが含まれているか
これについては別記事参照。
メモリデータの保全方法の種類
メモリダンプには主なものとして2種類ある。
WindowsOSが重大なエラーでクラッシュしたときに自動的に保存されるものがひとつ。
これは通常「クラッシュダンプ」と呼ばれている。
エラーの原因究明のために、Windbgなどを使ってクラッシュダンプを調査したことのある人もいるだろう。
もうひとつのメモリダンプは証拠保全で取得するメモリ生データのこと。
フォレンジックにおいては結構重要な情報ソースになってくる。
今回取り扱うのはこちらのほう。
そして、後者のメモリダンプをOSから取得する方法は大きく2種類ある。
証拠保全用ツールでの保全
こちらは割とポピュラーな方法で、メモリダンプに特化したツールや証拠保全用フォレンジックツールを使うというもの。
前者の特化ツールとしては有名なものが「dumpit」「FTK Imager」などがある。
後ほどこの「FTK Imager」を使った保全を紹介する。
ちなみにどちらもタダ。
ぜひとも使い倒そう。
また、AxiomやXwaysといった有償フォレンジックツールにも証拠保全用ツールが付属しており、もしも勤務先で導入しているのであればそちらも使える。(ベンダーサポートがあるので、可能であれば有償ツールを使ったほうがよいかもしれない)
EDRの利用
大きな組織になると、CloudStrikeやCyberReasonなどのEDR製品が導入されているかもしれない。
そういったEDR製品の多くは、管理サーバからクライアントエージェントに指示を出して遠隔でメモリダンプを取得することができる。
インシデントレスポンス担当者が現場に行く必要もなく、遠隔で安全に証拠保全できるため、
新幹線で駆けつけてメモリダンプ取得!!
帰る途中に飲酒してUSBメモリ紛失!!
なんてこともなくなる。
もしも導入されているのならEDRを頼るのがベストな選択肢。
とはいっても、組織内ネットワークの輻輳や端末のCPUリソースの問題からどうしても無理なことがあるかもしれない。
ケースバイケースなところもある。
組織に合わせて使い分けようね。
メモリダンプ取得で気を付けること
作業内容の記録化をする
インシデントレスポンスや不正調査のためにメモリダンプを取得する場合、端末上でフォレンジックツールを起動することになるため、少なからず端末に余計な記録を残したり、データを上書きする可能性がある。
これを汚染という。
後の解析や報告の過程で、調査によって引き起こされた汚染の範囲や内容が分からなくなった場合、不正な活動と調査との見分けがつかなくなったりする。
そのため、証拠保全の際、特に保全対象の端末を直接操作する場合には、操作日時や内容を記録して、後から追跡できるようにしておくことが必須になってくる。
これはChain of Catudyという考え方によるもので、以前の別の記事でも紹介している。
汚染を最小限に
フォレンジックツールを実行すればするほど、今既にある実行記録ログが上書きされていくことになる。
ほかにも、HDD上の削除データ領域が上書きされてカービング(データ復元)が不可能になったりもする。
こういった調査による悪影響を少なくするためにも、実機端末を用いた調査ではその作業量を最小にしないといけない。
手戻りやミスを防ぐためにも適切な手順書が必要になってくるので、常日頃から準備する必要がある。
メモリダンプ取得の実施例
それではここからが本題で、先に挙げた無料ツールのうち、「FTK Imager」を使ってメモリダンプを取得していく。
このツールはGUIベースで直観的に操作できるうえ、メモリダンプ以外にもカービング(復元)機能やイメージデータからのファイルサーチ機能も優秀で非常に使い勝手がいい。
FTK Imagerのインストール
まずは公式サイトにアクセスする。
アクセスしたら↓の画面になるので、「DOWNLOAD FTK IMAGER」をクリックする。
メールアドレスや氏名等の入力を求められるので入力して「SUBMIT」
「SUBMIT」の後しばらく待っているとインストーラのダウンロードが始まる。
完了すれば実行してインストール開始。
あとはひたすらNextを連打していけばインストールが完了する。
FTK Imagerでのメモリダンプの取得
インストールが完了したら起動。
起動完了すれば、「File」から「Caputure Memory」を選択。(ちっちゃくてごめんね!)
すると設定画面が表示される。
「Destination Path」に保存先を設定して、ファイル名もお好みに。
pagefileの項目はページング(基本情報で出ましたよね?)したデータが必要ならチェックを入れる。(インシデントレスポンスであれば一応取得してもいいと思う)
その下のAD1ファイルのチェックボックスは通常不要。
AD1とはFTK Imagerシリーズで使用するファイル形式のことで、めったに使うことはないので基本チェック不要。
設定完了すれば「Capture Memory」をクリックしてメモリダンプ取得を開始!
しばらく待って保存先を確認するとmemdump.memというファイルが完成しており、メモリダンプ取得が完了したことがわかる。
あとはこのダンプをフォレンジックツールで解析すればOK。
VolatilityやRekall、AxiomにXwaysなど様々な選択肢がある。よりどりみどりだね!
まとめ
今回はメモリダンプ取得を行った。
FTK Imagerは非常に操作性が良いので、個人的には大変オススメ。
メモリフォレンジックツールの代表格「Volatility Framework」のインストール方法は以下の記事へ。
コメント