「Analyzing Malware」 1章 − ツールの目的と入手方法まとめ
嫁に白い目に見られながら、なんとかマルウェア・アナライジングの一章を一通り読み終わりました。
アナライジング・マルウェア ―フリーツールを使った感染事案対処 (Art Of Reversing)
- 作者: 新井悠,岩村誠,川古谷裕平,青木一史,星澤裕二
- 出版社/メーカー: オライリージャパン
- 発売日: 2010/12/20
- メディア: 単行本(ソフトカバー)
- 購入: 8人 クリック: 315回
- この商品を含むブログ (22件) を見る
で、ここで紹介されていたツールがマルウェアの解析においてどのような目的で使われているかという視点で、一通りまとめてみました。一言ずつ適当なコメントをいれていますが、使ってみた上で何か起きても保障はいたしません。
1. ファイルの判別 (P.8)
<ツールの目的> 解析対象のファイルの形式を識別する。
解析対象のファイルの形式の識別。シグネチャデータベースより判定
- Stud_PE http://cgsoftlabs.ro/studpe.html
解析対象のPEファイルがEXE形式か、DLL形式化を判別する。
2. パッカーの確認 (P.20)
<ツールの目的> マルウェアが存在していることの有益な情報になるパッカーによる圧縮がおこなわれているかを確認する。
文字列の抽出。ファイルに含まれるWindowsのAPIを見つけ出すなど。
パッカーによる圧縮がおこなわれているかの確認( LoadLibrary, GetProcAddress (Windows API)を見つける。)
パッカーによる圧縮がおこなわれているかの確認。標準で670のシグネチャを実装。追加も可能。
Immunity Debuggerのプラグインとして使用。
3.アンパッカー (P.29)
<ツールの目的> 圧縮してあるエリアのアンパック(解凍)
- OllyDbg http://www.ollydbg.de/
プラグインをいれてアンパックをおこなう。
- OllyScript http+//www.openrce.org/downloads/details/106/OllyScript
今回のアンパックで使ったOllyScriptの入手先。
- RL!depacker
使い方がとても簡単なアンパッカー
4.動的解析 (P.36)
<ツールの目的> マルウェアを実際に動作させてその挙動を確認する。
- Process Monitor http://technet.microsoft.com/ja-jp/sysinternals/bb896645.aspx
- Malcode Analysis Pack http://labs.idefense.com/software/malcode.php
動的解析をおこなうツールの詰め合わせ
自動解析後、解析のレポートが生成される
- FlyPaper https://hbgary.com/popular/flypaper/
リバースエンジニアリング対策でマルウェアが実行しようとするプロセス終了に対して、このツールは阻止をする。
- BlackManta http://drop.io/blackmanta/
Immunity Debuggerのプラグイン。マルウェアの感染動作を確認できる。
5.静的解析 (P.42)
<ツールの目的> マルウェアのバイナリをリバースエンジニアリングして解析する
超強力静的解析ツール。とてもお高いですが、非商用のフリー版がある。
OllyDbgのPluginの追加方法 − OllyScript.dllをPluginとして追加する <解決>
アナライジング・マルウェア ―フリーツールを使った感染事案対処 (Art Of Reversing)
- 作者: 新井悠,岩村誠,川古谷裕平,青木一史,星澤裕二
- 出版社/メーカー: オライリージャパン
- 発売日: 2010/12/20
- メディア: 単行本(ソフトカバー)
- 購入: 8人 クリック: 315回
- この商品を含むブログ (22件) を見る
んでまぁ、このブログではつかかった場所や、解決した方法なんかを備忘録代わりとして残していこうと思っています。先にもかいたように初心者なので間違っている点がかなりでてくるかとも思いますが、見つけた際にはお知らせいただければありがたい限りです。
では、早速引っかかったところと解決した方法についてご紹介。
P.29 1.9.3.1 OllyScript
Malwareの解析のためにUnpackをするための紹介していて、ここではOllyDbgというツールに、OllyScriptのPluginを導入する方法を紹介しています。この課題をこなすための環境構築にずいぶんと準備がかかってしまったため、書き残しておこうと思います。
<問題>
Pluginを導入し方がわからない。本書にはPluginの追加方法はこのような説明があります。
設定作業は、OllyScript.dllをOllyDbgのプラグインフォルダにコピーするだけで完了します。
ただ、OllyDbgのフォルダにはプラグインを示すようなフォルダは存在しません。
<環境>
Windows XP Professional Edition 32bit
<使用アプリケーション>
OllyDbg v.1.10 - http://tuts4you.com/download.php?list.53script
OllyScript v 0.92 - http://www.openrce.org/downloads/details/106/Olly
<手順>
- OllyScriptを上記のサイトからDLして解凍する。解凍形式は7zなので解凍ツールを別途利用する必要あり。"OllyScript 0.94.7z" というファイルを解凍すると "OllyScript.dll" というファイルが得られます。
- OllyDbgの中にプラグイン専用のフォルダはない。しかしながらデフォルトのプラグインファイルはそのままOllyDbgの実行ファイルと一緒のフォルダに入っているので、OllyScript.dll も習って同じように入れる。
- OllyDbg を実行すると、"msvcp71.dll" がないよと警告される。Google先生にお願いしてこのDLLファイルを見つけてくる。見つけたファイルをC:\Windows\System32 にいれて、再度 OllyDbg を再起動する。
- OllyDbg を再度実行する。すると、今度は "msvcr71.dll" がないよと警告される。同様にGoole先生を使って見つけ出して、先ほどと同じフォルダに入れる。
- 無事起動して、Pluginのメニューに "OllyScript" が入っていることが確認できるはずです。