「Analyzing Malware」2章 パックされているマルウェアの解析 俺的備忘録
アナライジング・マルウェア ―フリーツールを使った感染事案対処 (Art Of Reversing)
- 作者: 新井悠,岩村誠,川古谷裕平,青木一史,星澤裕二
- 出版社/メーカー: オライリージャパン
- 発売日: 2010/12/20
- メディア: 単行本(ソフトカバー)
- 購入: 8人 クリック: 315回
- この商品を含むブログ (22件) を見る
2章を一通り読み終わりました。備忘録的にまとめてみます。
PEファイルフォーマット
Windowsのexeやdllなどの実行ファイルで用いられているフォーマット。この形式を知らずしてMalwareを語ることなかれ、というぐらい重要みたい
アンパックのながれ
1. デバッガでOEPまで実行する
いくつかテクニックがあるとのこと
- pushadに対応するpopadに着目する
- 動的に生成されたエリア(圧縮されたデータの展開されたエリア)への制御が移動したところに着目
- jmp/call命令に着目する
2. OEPが見つかったらメモリのダンプ
3. IATの再構築 IATはローダによって書き換えられているので、ロード前の値に修復する
アンパックを妨害するテクニック
- Stolen Bytes 動的に確保された領域にオリジナルコードの一部分をコピーしたコードの実行後、元のコードを続けて実行する。メモリダンプの習得を妨害する
- SizeOfImageの改変 PEヘッダ内のOptionalHeader構造体に含まれる値。メモリにロードされるファイルのサイズを示す値で、異常に大きい値をいれることでデバッガのアッタチやメモリダンプを妨害する
- Import Redirection IATの再構築時や、逆アセンブラでの解析時にImport中のAPIをわかりにくくする。レジスタにアドレスを格納してJump命令で読み出すなどすると、Call命令の読み出しと違いAPIの情報がとりにくくなる。
2章読み終えた時点ですでに理解がおいつくのが大変です。何べんも読み直してマスターしていきたいと思います。