マナティ

 試し読み

購入形態

PDF
4,697円
数量:

カートに追加されました。カートを見る

カートに入れる
紙の本を買う

リバースエンジニアリングツールGhidra実践ガイド

セキュリティコンテスト対策からマルウェア解析まで

マイナビ出版

NSA(アメリカ国家安全保障局)が開発したリバースエンジニアリングツールを基礎から応用まで徹底解説!

 NSA(アメリカ国家安全保障局)が開発し、オープンソースソフトウェアとして公開した「Ghidra」を用いた実践的なリバースエンジニアリング手法について解説した書籍です。Ghidraは、ディスアセンブラやデコンパイラを備え、自動化を行うためのスクリプト機能も充実しているリバースエンジニアリングツールです。また、多くのアーキテクチャや実行ファイル形式に対応しているため、マルウェア解析やファームウェア解析、脆弱性の診断などをクロスプラットフォームで実施することが可能です。
 ただし、Ghidraは高機能であるため、それらの機能を有意義に活用できるようになるには経験が必要です。そこで、本書では演習を中心に、操作方法や解析手法を効果的に学べるように構成しています。また、リバースエンジニアリング初心者は、アセンブリ言語の学習で挫折してしまいがちなので、Ghidraのデコンパイラが出力する疑似C言語をもとに解説を行い、可能な限りアセンブリ言語を読まないでリバースエンジニアリングを学べるようになっています。
 基礎編(第1章から第4章)と実践編(第5章から第9章)の2つのパートから構成されています。基礎編では、リバースエンジニアリングの基礎に始まり、Ghidraの基本的な操作方法やスクリプト機能について解説しています。実践編では、LinuxのELFファイル(x64)、WindowsのPEファイル(x86)、AndroidのAPKファイルとELFファイル(ARM)を対象としたリバースエンジニアリングの演習を通して、Ghidraを用いた実践的な解析手法を学びます。実践編は章ごとに独立しているため、興味を持った章から読み進めていただいて問題ありません。Ghidraを使った解析によって検体の正体を少しずつ明らかにしていく様子は、ミステリ小説を読んでいるかのような醍醐味があります。ぜひ、本書のサンプルファイルとスクリプトをダウンロードして、一緒に動かしながら解析してみてください。

発売日:2020-08-25

ページ数:688ページ

目次

第1章 リバースエンジニアリング入門
 1-1 リバースエンジニアリング
 1-2 プログラムの実行
 1-3 呼び出し規約
 1-4 C言語とアセンブリ言語
 1-5 PEフォーマット
 1-6 x64アーキテクチャ

第2章 Ghidra入門
 2-1 Ghidraとは
 2-2 インストール
 2-3 プロジェクト
 2-4 インポート
 2-5 CodeBrowser

第3章 リバースエンジニアリング演習
 3-1 downloader.exe
 3-2 解析のアプローチ
 3-3 関数の引数の解析
 3-4 独自構造体の手動定義
 3-5 downloader.exeの解析を終えて

第4章 Ghidra Script/Extensionによる機能拡張
 4-1 Ghidraの機能拡張
 4-2 Ghidra Scriptの基礎
 4-3 Ghidra API
 4-4 Headless Analyzer
 4-5 Ghidra Extension

第5章 Ghidra vs Crackme ―ELF Crackmeの解析
 5-1 Crackmeとは
 5-2 Level1:XORによる単純なエンコーダ
 5-3 Level2:カスタマイズされたエンコーダ
 5-4 Level3:バッファオーバーフロー
 5-5 Level4:Goで実装されたバイナリの解析

第6章 Ghidra vs MOTHRA ―Windowsバックドアの解析
 6-1 解析の準備
 6-2 メイン関数
 6-3 C2サーバからのコマンド取得
 6-4 コマンド分岐
 6-5 MOTHRA RATの解析を終えて

第7章 Ghidra vs BlackBicorn ―Windowsパッカーの解析
 7-1 パッカーとは
 7-2 BlackBicornの概要
 7-3 BlackBicornの解析(ステージ0)
 7-4 BlackBicornの解析(ステージ1)
 7-5 BlackBicornの解析(ステージ2)
 7-6 BlackBicornの解析を終えて

第8章 Ghidra vs Godzilla Loader ―Windowsマルウェアの解析
 8-1 マルウェア界のゴジラ「Godzilla Loader」
 8-2 解析対象ファイル
 8-3 パッカーの解析
 8-4 文字列難読化の解除
 8-5 Godzilla Loaderの機能
 8-6 Godzilla Loaderの解析を終えて

第9章 Ghidra vs SafeSpy ――Androidアプリの解析
9-1 Androidの基礎 496
9-2 Androidネイティブライブラリの基礎 504
9-3 Androidアプリの静的解析の概要 511
9-4 「SafeSpy」アプリの解析 517

付録
 付録A Ghidraの応用機能
 付録B Ghidra Script/Extensionの紹介