書籍本体画像 著者サイト 出版社サイト

インターネットからも購入できます

Amazonで購入する 7&Yで購入する bk1で購入する

●本書は、純粋なコンピュータセキュリティの技術解説書です。全448ページ、CD-ROM付き。データハウス刊、4,200円(+税)にて、3月23日に全国書店で発売されます。
●C/C++言語やアセンブリ言語の基礎的な知識を前提として、コンピュータセキュリティ技術の本質的な部分について解説を行っていきます。
●本書では、現在もっとも有名なセキュリティホールのひとつであるバッファオーバーフロー(buffer over-flow)をベースにスタックバッファオーバーフロー、ヒープバッファオーバーフロー、そして、リモート環境での攻撃手法やLinuxとWindowsで動作するshellcodeの作成法などを具体的に解説していきます。
●コンピュータセキュリティプログラミングとしては、バックドア、キーロガー、パケットスニッファ、APIフックといった技術について、サンプルプログラムを例になるべく幅広い内容を取り上げています。また、デバイスドライバを利用したカーネルレベルでのプログラミングについても触れていきます。
●本当の意味での「Computer Hacking」を純粋に解説した一冊であり、多少のプログラミング経験を持つ方ならば誰でも読み進めることができる内容となっています。単純にコンピュータやセキュリティ技術に興味のある方、またこれからセキュリティを学ぼうとする方に読んでもらいたい一冊となっています。
●内容など詳細については、上記リンクを参考にしてください、目次は制作の関係上、一部異なる箇所もありますのでご了承ください。
●内容や各種情報は随時、追加していきます。サイト掲載情報は予告なく変更、削除する場合がありますのでご了承ください。


【目次】

ハッカー・プログラミング大全 攻撃編

■1章 Backdoor Programming

 ◆簡易バックドアの作成
  バックドアとは
  進入経路の確保を行なうプログラム
  バックドアの仕組み
  簡易バックドアの仕様
  プロセスの起動
  パイプ
  スレッド
  簡易バックドアの作成
  機能の追加

 ◆アクティブウインドウの監視
  アクティブウインドウタイトルの取得
  Internet ExplorerのURL
  Internet Explorerのアクセス履歴の取得

 ◆クリップボードデータの監視
  クリップボード関連の関数
  クリップボード監視の流れ
  クリップボード監視プログラムの作成

 ◆キーストロークの監視
  キーロガーとは
  キー入力を取得する関数

  シンプルなキーロガーの作成

 ◆グローバルフック
  フックとは
  グローバルフックの利用
  グローバルフックを利用したアクティブウインドウの監視
  アクティプウインドウ監視DLLの作成
  アクティプウインドウ監視プログラムの作成
  グローバルフックを利用したキーストロークの監視
  キーストローク監視プログラムの作成
  グローバルフックの仕組みと注意

 ◆スクリーンダンプ
  スクリーンダンプとは
  画面キャプチャの流れ
  画面キャプチャソフトの作成
  スクリーンダンプソフトの作成

  一歩進んだスクリーンダンプ

 ◆netstatコマンドの偽装
  netstatとは
  中継型netstatコマンド
  中継型netstatプログラムの作成
  アプリケーションの置き換え

 ◆コードインジェクション
  プロセスとは
  コードインジェクションとは
  プロセスの列挙
  DLLをプロセスへ注入する
  スレッドをプロセスへ注入する
  コードインジェクションの可能性

 ◆デバイスドライバを利用したキーストロークの監視
  デバイスドライバとは
  使用ツール
  キーボードドライバの確認
  キー入力監視の一連の流れ
  プログラムの実行結果
  デバイスドライバの面白さ

■2章 Shellcode & Exploit Programming

 ◆Stack Buffer Overflow
  バッファオーバーフローとは
  root権限を与えるプログラム
  セキュリティホールが存在するプログラム
  スタック
  実行すべきマシン語(shellcode)の作成
  exploitの作成
  リターンアドレスが判明している場合のexploitの作成
  大文字を変換するターゲットプログラム
  バッファ領域が足りないターゲットプログラム

 ◆Heap Buffer Overflow
  ヒープ(Heap)領域
  ヒープ上のオーバーフロー
  ターゲットプログラムの作成
  ターゲットプログラムの解析
  一行のexploit
  ファイル差し替えでroot権限奪取
  関数ポインタの上書き
  ソフトウェアの危険性

 ◆フォーマット文字列の惰弱生
  フォーマット文字とは
  問題の提起
  データの書き込み
  引数から受け取れる文字列の上限
  0xffffffffを書き込む方法
  shellcodeの実行
  フォーマット文字列の惰弱生

 ◆Remote Shellcode Programming
  リモート環境で有効なshellcode
  /bin/shを外部に公開する
  リモート用Shellcodeの作成
  ターゲットプログラム
  exploitの作成

 ◆Windows Shellcode Programming
  windows環境でのShellcodeとは
  kernel32.dllベースアドレスの取得
  kernel32.dllアドレスの取得に関する別のアプローチ
  DLLのエクスポート関数取得
  「Hello World!」プログラム
  任意のファイルのダウンロード
  任意のプログラムの実行
  shellcodeの作成
  NULL文字を持たないshellcodeの作成
  shellcodeの確認

■3章 Packet filtering & API hooking

 ◆パケットモニタリング
  パケットモニタとは
  パケットモニタの方法
  WinPcapとは
  WinPcapの主要関数
  パケットモニタプログラムの作成
  Winsock2でのパケットモニタリング
  Winsockの初期化
  ネットワークの設定
  パケットの取得

 ◆パケットフィルタリング
  すべてのパケットを破壊するプログラム
  特定パケットのフィルタリング

 ◆デバイスドライバを利用したモニタリングとフィルタリング
  デバイスドライバの必要性
  「Packet Filtering API」と「Filter-Hook Driver」
  PacketFilterExtensionPtr関数
  フィルタリングの流れ
  ユーザーモードアプリケーション側の処理
  カーネルモードドライバ側の処理
  プログラムの実行
  パケットデータ監視のススメ

 ◆仲介Dllを利用したAPIフック
  仲介DLLを作成してフックを行なう方法
  仲介DLLの仕組み
  APIの実演
  仲介DLL生成ツール
  仲介DLLによるAPIフックの利用法

 ◆インポートセクションを利用したAPIフック
  2つのAPIフックの方法の比較
  インポートセクションを操作してAPIをフック
  モジュールの探索
  プロセス内でのAPIフック
  全プロセスに対するAPIフックの仕組み   フックのDLLの作成
  呼び出し元プログラムの作成

 ◆Kener API Hooking Tutorial
  カーネルモードでのAPIフック
  ネイティブAPIの存在
  SystemServiceDescriptorTable構造体
  APIフックドライバの作成
  APIフックの実用性

■4章 Appendix(付録)

 ◆「Borland C++ Compiler」
  「Borland C++ Compiler」とは
  「Borland C++ Compiler5.5.1」のダウンロード
  「Borland C++ Compiler5.5.1」のインストール
  「Borland C++ Compiler5.6.4」のダウンロード
  「Borland C++ Compiler5.6.4」のインストール
  設定

 ◆「Visual C++ toolkit2003」
  「Visual C++ toolkit2003」とは
  「Visual C++ toolkit2003」のダウンロード
  「Visual C++ toolkit2003」のインストール

 ◆「Platform SDK」
  「Platform SDK」とは
  「Platform SDK」のダウンロード
  「Platform SDK」のインストール

 ◆NASM (The Netwide Assembler)
  NASMとは

 ◆GoLink
  ダウンロード
  インストール

 ◆OllyDbg
  OllyDbgとは
  ダウンロード
  インストール
  日本語化

 ◆参考資料
  書籍 WEBページ




Copyright (C) 2006 Kenji Aiko All rights reserved.