ida ユーザなら知っておくべきマントノン侯爵夫人にモテる 7つの法則

39
IDA ユーザなら知っておくべき マントノン侯爵夫人にモテる 7つの法則 2014/07/20 日本 IDA ユーザ会 中津留

Upload: you-nakatsuru

Post on 20-Jul-2015

1.459 views

Category:

Engineering


8 download

TRANSCRIPT

Page 1: IDA ユーザなら知っておくべきマントノン侯爵夫人にモテる 7つの法則

IDA ユーザなら知っておくべき

マントノン侯爵夫人にモテる 7つの法則

2014/07/20 日本 IDA ユーザ会 中津留 勇

Page 2: IDA ユーザなら知っておくべきマントノン侯爵夫人にモテる 7つの法則

マントノン侯爵夫人

2

Page 3: IDA ユーザなら知っておくべきマントノン侯爵夫人にモテる 7つの法則

http://ja.wikipedia.org/wiki/マントノン侯爵夫人フランソワーズ・ドービニェ

3

Page 4: IDA ユーザなら知っておくべきマントノン侯爵夫人にモテる 7つの法則

4

Page 5: IDA ユーザなら知っておくべきマントノン侯爵夫人にモテる 7つの法則

5

Page 6: IDA ユーザなら知っておくべきマントノン侯爵夫人にモテる 7つの法則

あれ?

6

Page 7: IDA ユーザなら知っておくべきマントノン侯爵夫人にモテる 7つの法則

7

Page 8: IDA ユーザなら知っておくべきマントノン侯爵夫人にモテる 7つの法則

ファッ?!

8

Page 9: IDA ユーザなら知っておくべきマントノン侯爵夫人にモテる 7つの法則

9

Page 10: IDA ユーザなら知っておくべきマントノン侯爵夫人にモテる 7つの法則

どう見ても同一人物です 本当にありがとうございました

10

Page 11: IDA ユーザなら知っておくべきマントノン侯爵夫人にモテる 7つの法則

Interactive DisAssembler

11

IDA とは?

私と対話できない人なんてクズよ!

Page 12: IDA ユーザなら知っておくべきマントノン侯爵夫人にモテる 7つの法則

IDA モテテク その①

まずは話を聞いてあげよう

私ってばー 真面目な感じに 見られるんだけど

意外にー

12

Page 13: IDA ユーザなら知っておくべきマントノン侯爵夫人にモテる 7つの法則

IDA-View

13

逆アセンブルした結果を ブロック単位でグラフ表示する

「グラフビュー」

Page 14: IDA ユーザなら知っておくべきマントノン侯爵夫人にモテる 7つの法則

IDA-View

14

スペースキーで単純表示の 「テキストビュー」に切り替え

Page 15: IDA ユーザなら知っておくべきマントノン侯爵夫人にモテる 7つの法則

IDA-View あれこれ

15

API 呼び出し

自動: 藍色 手動: 青色

参照元

コメント コメント コメント

Page 16: IDA ユーザなら知っておくべきマントノン侯爵夫人にモテる 7つの法則

16

16進数表示やインポート関数一覧

Page 17: IDA ユーザなら知っておくべきマントノン侯爵夫人にモテる 7つの法則

17

関数一覧や文字列一覧

Page 18: IDA ユーザなら知っておくべきマントノン侯爵夫人にモテる 7つの法則

IDA モテテク その②

間違いを訂正して賢さアピール☆

ハッカーって攻撃するんでしょー こわいねー

18

Page 19: IDA ユーザなら知っておくべきマントノン侯爵夫人にモテる 7つの法則

IDA と向き合う心構え

1. 自動解析に完璧は存在しない

• 実はデータではなく命令

• 実はライブラリ関数

2. 高機能なメモ帳と思う

• 関数や変数等に名前をつける

• コメントを書く

• 関数のプロトタイプ宣言を書く

• 人が見て分かる表示形式に変更する

19

Page 20: IDA ユーザなら知っておくべきマントノン侯爵夫人にモテる 7つの法則

間違いは修正してあげる

データ定義の修正

20

キーアサイン 内容

U 選択した場所を「未定義」にする

C 選択した場所を「コード」にする

D 選択した場所を「データ」にする

P 選択した場所を「関数」にする

A 選択した場所を「文字列」にする

* 選択したデータを「配列」にする

Page 21: IDA ユーザなら知っておくべきマントノン侯爵夫人にモテる 7つの法則

高機能なメモ帳

名前の追加

表示変更

21

キーアサイン 内容

N 関数や変数等に名前をつける

: コメントを書く

; リピータブルコメントを書く

Y 関数にプロトタイプ宣言をつける (引数名を自動的にコメントしてくれる)

H 16進数表示と 10進数表示を切り替える

R 16進数表示と ASCII 文字表示を切り替える

右クリック Symbolic Constant

16進数表示と定数名表示を切り替える

Page 22: IDA ユーザなら知っておくべきマントノン侯爵夫人にモテる 7つの法則

Before

アセンブリを

眺めるだけではさっぱり

Page 23: IDA ユーザなら知っておくべきマントノン侯爵夫人にモテる 7つの法則

After

• 色付け • GUID 等の名前解決

• 構造体オフセットを適用

• 引数名をコメント

• 定数を意味のわかる文字列に

Page 24: IDA ユーザなら知っておくべきマントノン侯爵夫人にモテる 7つの法則

IDA モテテク その③

思い出はこまめに記録しておこう!

こんなところにも行ったよねー ウフフー

24

Page 25: IDA ユーザなら知っておくべきマントノン侯爵夫人にモテる 7つの法則

http://www.hexblog.com/?p=415

Page 26: IDA ユーザなら知っておくべきマントノン侯爵夫人にモテる 7つの法則

IDB を保存 or Snapshot

26

Page 27: IDA ユーザなら知っておくべきマントノン侯爵夫人にモテる 7つの法則

IDA モテテク その④

アクセサリーのプレゼント攻撃❤

新しい真珠の ネックレス

ほしいんだよねー

27

Page 28: IDA ユーザなら知っておくべきマントノン侯爵夫人にモテる 7つの法則

オススメのアクセサリー

プラグイン

• Hex-Rays Decompiler (x86/x64/ARM)

• BinDiff

• FindCrypt 3

• OllyMigrate

スクリプト

• ClassAndInterfaceToNames.py

• shellcode_hash_search.py

• struct_typer_plugin.py

• reiat.py

28

Page 29: IDA ユーザなら知っておくべきマントノン侯爵夫人にモテる 7つの法則

IDA モテテク その⑤

やっぱり手作りは好感度アップ☆

手作りなんて

感動しちゃった(グスン

29

Page 30: IDA ユーザなら知っておくべきマントノン侯爵夫人にモテる 7つの法則

自作できるもの

• 関数のプロトタイプ、構造体、列挙型等のデータベース

Type Library (.til)

• ライブラリ関数をシグネチャ化したもの Signature (.sig)

• IDA Python や IDC のスクリプト

• PySide を使うことで高度なものも作成可能

スクリプト (.py, .idc, etc…)

30

Page 31: IDA ユーザなら知っておくべきマントノン侯爵夫人にモテる 7つの法則

自作スクリプト例

31

Python, IDC で作成可能

api_args.py

• API の引数を自動コメント

operand2constant.py

• 数値を定数文字列に自動変換

color_jc.py

• jmp や call に色付け

Page 32: IDA ユーザなら知っておくべきマントノン侯爵夫人にモテる 7つの法則

自作ライブラリ・シグネチャ例

32

SDK で作成するか、解析済み IDB から習得

NDK.til

• NDK のライブラリ

zeus.til, etc…

• マルウェア固有のライブラリ

api.til

• シェルコードやマルウェアが使用する API ハッシュをまとめたライブラリ

zlib.sig, openssl.sig

• マルウェアがたまに使うライブラリファイルのシグネチャ

Page 33: IDA ユーザなら知っておくべきマントノン侯爵夫人にモテる 7つの法則

IDA モテテク その⑥

運動して一緒に汗を流そう!

汗をかくって 気持ちいね!

33

Page 34: IDA ユーザなら知っておくべきマントノン侯爵夫人にモテる 7つの法則

デバッガ機能

34

IDA は読むだけじゃない!

Local Debugger

Remote Debugger

WinDbg

Bochs Appcall

Page 35: IDA ユーザなら知っておくべきマントノン侯爵夫人にモテる 7つの法則

デバッグの流れ

デバッガ選択

デバッグ設定

デバッグ

Take memory snapshot

35

Page 36: IDA ユーザなら知っておくべきマントノン侯爵夫人にモテる 7つの法則

x64 User-mode Debugger

付属のリモートデバッガを使えば可能

36

Page 37: IDA ユーザなら知っておくべきマントノン侯爵夫人にモテる 7つの法則

IDA モテテク その⑦

最後は親に挨拶

私たちの将来、

ちゃんと考えてるんだね・・・❤

37

Page 38: IDA ユーザなら知っておくべきマントノン侯爵夫人にモテる 7つの法則

38 https://hex-rays.com/products/ida/training/index.shtml

国内でも開催可能!

Page 39: IDA ユーザなら知っておくべきマントノン侯爵夫人にモテる 7つの法則

39

今日から君もモテモテだ!! THANK YOU!