見出し画像

#87 Volatility

 プログラムは、実行される際にはすべてメモリー上に展開されます。マルウェアなどの痕跡を調査する場合は、ライブメモリをダンプして解析することがあります。メモリは常に変化するので、ダンプをとるのも、解析も難しそうです!

 Volatilityはメモリ解析のデファクトスタンダードと言われているフレームワークです。Python3で動作するVolatility3が最新版ですが、Python2で動作する古いバージョンの方が、安定しているらしいです。
 メモリ解析までやりたいところですが、ひとまず、Volatilityをインストールします!


インストール

Python3 venv

Python3の仮想環境を用意します。

$ python3 -m venv .venv
$ source .venv/bin/activate


Volatility

GitHubからソースをクローンします。

$ git clone https://github.com/volatilityfoundation/volatility3.git

インストールスクリプトがあるので、セットアップします。

$ cd volatility3
$ python3 setup.py build 
$ python3 setup.py install

これでOKです。ヘルプを表示させてみます。

$ python3 vol.py -h
Volatility 3 Framework 2.5.0
usage: volatility [-h] [-c CONFIG] [--parallelism [{processes,threads,off}]]
                  [-e EXTEND] [-p PLUGIN_DIRS] [-s SYMBOL_DIRS] [-v] [-l LOG]
                  [-o OUTPUT_DIR] [-q] [-r RENDERER] [-f FILE]
                  [--write-config] [--save-config SAVE_CONFIG] [--clear-cache]
                  [--cache-path CACHE_PATH] [--offline]
                  [--single-location SINGLE_LOCATION]
                  [--stackers [STACKERS ...]]
                  [--single-swap-locations [SINGLE_SWAP_LOCATIONS ...]]
                  plugin ...
...

ちゃんと動きました!いくつかのプラグインはうまくインストールされていないようですが….


まとめ

 フォレンジック分野で、メモリ解析は基本的な技術ではないでしょうか?実際のメモリダンプを使って、もうちょっと研究してみます。


EOF


この記事が気に入ったらサポートをしてみませんか?