関連サイト
本書の関連ページが用意されています。
内容紹介
セキュリティの脆弱性を見つけ出すには、攻撃者と同じように考える必要がある。本書は、著名なバグハンターである著者が自身のテクニックを駆使しながら、ネットワークプロトコルのキャプチャ、解析、エクスプロイトの基礎理論から高度な実践方法までを徹底的に解説する。Linux,Windows,macOSで動作する多数のツールに加えて、著者の提供するネットワーキングライブラリ、およびチャットプロトコルを実装したシンプルなサンプルアプリケーションを活用しながら、具体的に概念や内部構造を理解できる。
ネットワーキング、暗号化、脆弱性のさまざまな根本原因など、セキュリティの脆弱性の報告を目的とする人から、最新のIoT(Internet of Things)デバイスの通信方法を知りたい人まで、幅広い人に役立つ構成となっている。
書誌情報
- 著者: James Forshaw(著), 株式会社クイープ, 遠藤美代子(訳)
- 発行日: 2021-08-31
- 最終更新日: 2021-08-31
- バージョン: 1.0.0
- ページ数: 344ページ(PDF版換算)
- 対応フォーマット: PDF, EPUB
- 出版社: アスキードワンゴ
対象読者
著者について
James Forshaw
Google Project Zeroに所属している著名なコンピュータセキュリティリサーチャー。アプリケーションネットワークプロトコルの解析とエクスプロイトにおいて10年以上の経験を持つ。ゲーム機のクラッキングからOSの複雑な設計問題の顕在化まで、幅広いスキルを持つ。特にWindowsに関しては、バグバウンティプログラムで最高額の10万ドルを獲得し、Microsoft Security Response Center(MSRC)が公表しているリサーチャーリストのトップに選ばれたことがある。長年の経験をもとに、ネットワークプロトコル解析ツールCanapeを開発している。BlackHat,CanSecWest,Chaos Computer Congressをはじめ、世界的なセキュリティカンファレンスでセキュリティに関する新たな研究について招待講演を行っている。
株式会社クイープ
1995年、米国サンフランシスコに設立。コンピュータシステムの開発、ローカライズ、コンサルティングを手がけている。2001年に日本法人を設立。主な訳書に『Python機械学習プログラミング第3版』(インプレス)、『初めてのSQL第3版』(オライリー・ジャパン)、『Rによる機械学習第3版』『なっとく! AIアルゴリズム』(翔泳社)、『More Effective Agile』(日経BP)、『Pythonハッカーガイドブック』(マイナビ出版)などがある。ホームページはhttp://www.quipunet.com/。
目次
まえがき
謝辞
はじめに
- 本書を読むのはなぜか
- 本書の内容
- 本書の使い方
第1章 ネットワーキングの基礎
- ネットワークアーキテクチャとネットワークプロトコル
- インターネットプロトコルスイート
- データのカプセル化
- ネットワークルーティング
- 本書のネットワークプロトコル解析モデル
- まとめ
第2章 アプリケーショントラフィックのキャプチャ
- ネットワークトラフィックのパッシブキャプチャ
- 速習:Wireshark
- その他のパッシブキャプチャ手法
- パッシブキャプチャの長所と短所
- ネットワークトラフィックのアクティブキャプチャ
- ネットワークプロキシ
- まとめ
第3章 ネットワープロトコルの構造
- バイナリプロトコルの構造
- 日付と時刻
- TLVパターン
- 多重化とフラグメンテーション
- ネットワークアドレス情報
- 構造化されたバイナリフォーマット
- テキストプロトコルの構造
- バイナリデータのエンコーディング
- まとめ
第4章 アプリケーショントラフィックの高度なキャプチャ
- トラフィックの再ルーティング
- ルーターを設定する
- NAT
- トラフィックをゲートウェイに転送する
- まとめ
第5章 ネットワークからのプロトコルの解析
- トラフィックを生成するアプリケーション:SuperFunkyChat
- 速習:Wiresharkを使って解析する
- 16進数ダンプを使ってパケットの構造を突き止める
- WiresharkディセクタをLuaで開発する
- プロキシを使ってトラフィックをアクティブに解析する
- まとめ
第6章 アプリケーションのリバースエンジニアリング
- コンパイラ、インタープリタ、アセンブラ
- x86アーキテクチャ
- OSの基礎
- 静的リバースエンジニアリング
- 動的リバースエンジニアリング
- マネージド言語のリバースエンジニアリング
- リバースエンジニアリングに関する参考資料
- まとめ
第7章 ネットワークプロトコルのセキュリティ
- 暗号化アルゴリズム
- 乱数生成器
- 対称鍵暗号法
- 非対称鍵暗号法
- 署名アルゴリズム
- 公開鍵基盤
- ケーススタディ:TLS
- まとめ
第8章 ネットワークプロトコルの実装
- キャプチャした既存のネットワークトラフィックをリプレイする
- 既存の実行可能コードを再利用する
- 暗号化とTLSへの対処
- まとめ
第9章 脆弱性の根本原因
- 脆弱性の種類
- メモリ破壊の脆弱性
- デフォルトのクレデンシャルとハードコーディングされたクレデンシャル
- ユーザーの列挙
- リソースに対する不正アクセス
- メモリ枯渇攻撃
- ストレージ枯渇攻撃
- CPU枯渇攻撃
- フォーマット文字列の脆弱性
- コマンドインジェクション
- SQLインジェクション
- テキストエンコーディング文字の置換
- まとめ
第10章 セキュリティの脆弱性の検知とエクスプロイト
- ファズテスト
- 脆弱性のトリアージ
- 一般的な脆弱性のエクスプロイト
- シェルコードを記述する
- メモリ破壊のエクスプロイト対策
- まとめ
付録 ネットワークプロトコル解析ツールキット
- ネットワークプロトコルのパッシブキャプチャと解析
- ネットワークプロトコルのアクティブキャプチャと解析
- ネットワーク接続とプロトコルのテスト
- Webアプリケーションのテスト
- ファジング、パケット生成、脆弱性エクスプロイト
- ネットワークのスプーフィングとリダイレクト
- 実行ファイルのリバースエンジニアリング