wivern ロゴ

サイバーセキュリティ研究所

サイバーセキュリティを中心に、軍事、防犯、サーバーの管理と監視、その他、最新技術を研究しています。


たのしいバイナリの歩き方

バイナリ解析の入門書

バイナリ解析の入門書

[目次]
第1章 リバースエンジニアリングでバイナリの読み方を身につける
1.1 まずは解析の流れを体感してみよう
1.2 静的解析をやってみよう
1.3 動的解析をやってみよう
1.4 最低限のアセンブラ命令だけざっくり把握する
1.5 アセンブラ命令から動作を把握しよう

第2章 シューティングゲームをチートから守るには
2.1 メモリダンプを読み解く
2.2 動作を解析されないようにするには

第3章 ソフトウェアの脆弱性はこうして攻撃される
3.1 バッファオーバーフローを利用して任意のコードが実行される仕組み
3.2 攻撃を防ぐ技術
3.3 セキュリティ機能を迂回する技術

第4章 処理を自在に実行させるプログラミングのテクニック
4.1 デバッガを自作して動作を理解する
4.2 他プロセス内で任意のコードを実行させる ~コードインジェクション
4.3 処理を任意のものに置きかえる ~API フック

第5章 ツールを駆使してより深い世界へ
5.1 Metasploit Framework で脆弱性を検証/調査する
5.2 EMET で ROP 対策の仕組みをのぞく
5.3 REMnux でマルウェアを解析する
5.4 ClamAV でマルウェアや Exploit を検知する
5.5 Zero Wine Tryouts でマルウェアを解析する
5.6 人の手による解析を極力減らすには

[書評]
「バイナリ解析の入門書」ではありますが、決して易しい内容ではありません。

バイナリ解析やリバースエンジニアリングを広く浅くざっと駆け足で紹介している内容ですが、レジスタやスタックといったCPUの物理的な仕組みに始まって、86アセンブラやC言語、Windows や Linux の OS の仕組み、これらが最低レベルでわかっていないと完全理解は難しいです。

言い換えれば、これだけの技術的な知識がないと、バイナリ解析やリバースエンジニアリングには手を出せないよ、と知らされる内容です。

そういう意味では、セキュリティや CTF 競技に関心がある層には、最初の技術的な到達指標を示す一冊です。

紹介されている内容が主に 32bit 環境なので、近年増えつつある 64bit 環境では紙面どおりの結果にはならないので注意が必要です。

また、出版されたのが昨年(2013年)と決して古いとは言えないものの、技術的進歩が著しいセキュリティの世界の話が中心なので、紹介されている内容が少しずつ古くなっている箇所もあり、そこは自力で最新情報に置き換えて読み進める必要があります。

巻末の参考文献で紹介されている数々の名著の一覧も、一読の価値ありだと思います。

 Amazon  楽天ブックス


記述に際しては、細心の注意をしたつもりですが、間違いやご指摘がありましたら、こちらからお知らせいただけると幸いです。


→「「Jolt Awards: The Best Books」2014年版」
←「CODE COMPLETE 第2版(上)(下)」


« 戻る