あらすじ
バイナリ解析とは、バイナリプログラムとそれに含まれているマシンコードやデータの性質を解析する科学と技術のことだ。セキュリティの脆弱性を狙う攻撃やマルウェアなど、悪意をもつソフトウェアに対処するには、バイナリプログラムの本当の性質を突き止める、そのプログラムが実際に実行することを突き止める必要がある。 本書は、バイナリプログラムの基礎知識、静的解析や動的解析といったバイナリ解析の基本から、ソースプログラムがなくてもバイナリプログラムの内容を書き換えるバイナリ計装といった高度な手法まで、リバースエンジニアリングの範囲を超えて実践的に解説する。 セキュリティエンジニアやセキュリティ研究者、ハッカーやペネトレーションテストの担当者、リバースエンジニア、マルウェアアナリスト、そしてコンピュータサイエンスの学生など、バイナリ解析に興味をもつすべての人を対象とした、最も魅力的で最も手ごわいテーマであるバイナリ解析入門の決定版である。 第I部 バイナリフォーマット 第1章 バイナリを解剖する 第2章 ELFフォーマット 第3章 入門:PEフォーマット 第4章 libbfdを使ってバイナリローダーを作成する 第II部 バイナリ解析の基礎 第5章 Linuxでの基本的なバイナリ解析 第6章 逆アセンブリとバイナリ解析の基礎 第7章 ELFにコードを注入する 第III部 高度なバイナリ解析 第8章 逆アセンブリのカスタマイズ 第9章 バイナリ計装 第10章 動的テイント解析 第11章 libdftを使った実用的な動的テイント解析 第12章 シンボリック実行 第13章 Tritonを使ったシンボリック実行 第IV部 付録 付録A 速習:x86アセンブリ 付録B libelfを使ってPT_NOTEを上書きする 付録C バイナリ解析ツール 付録D 参考文献