セキュリティウォリア

―敵を知り己を知れば百戦危うからず

[cover photo]
TOPICS
Web , Security
発行年月日
PRINT LENGTH
564
ISBN
4-87311-198-6
原書
Security Warrior
FORMAT

犯罪者から身を守るためには何が必要でしょうか?ただ闇雲に塀を高くしたり、 よく切れるナイフを懐に入れておくだけでは十分とは言えません。防御をより完 璧に近づけるためには、犯罪者の手口を知り、詳しく分析して対策を練る必要があります。同時に自分の弱点を知ることも重要です。本書は攻撃者の手口の詳細はもちろん、心理や目的にまで踏み込んでさまざまな観点から多角的に検討。その上で効果的な対策方法を示しています。日夜クラッカーと戦うシステム管理者だけでなく、すべてのPCユーザに贈る最強のセキュリティ本。UNIX、Linux、Windows、Windows CE対応。

目次

監訳者まえがき
はじめに
  Ⅰ部 ソフトウェアクラッキング
1章 アセンブリ言語
	1.1	レジスタ
		1.1.1 スタック
		1.1.2 アドレッシング
	1.2	命令コード
	1.3	参考文献   
2章 Windowsリバースエンジニアリング
	2.1	リバースエンジニアリングの歴史
	2.2	ツール
		2.2.1 16進エディタ
		2.2.2 逆アセンブラ
		2.2.3 デバッガ
		2.2.4 システムモニタ
		2.2.5 解凍ツール
		2.2.6 パーソナルファイアウォール
		2.2.7 インストールマネージャ
	2.3	リバースエンジニアリングの実例
		2.3.1 例1:crackme
		2.3.2 例2:悪意のあるコードのリバースエンジニアリング
	2.4	参考文献
3章 Linuxリバースエンジニアリング
	3.1	基本ツールの使い方
		3.1.1 ターゲット解析の概要
		3.1.2 デバッガ
		3.1.3 実行時監視ツール
		3.1.4 逆アセンブラ
		3.1.5 16進ダンプ
	3.2	上手な逆アセンブリ
		3.2.1 関数の識別
		3.2.2 中間コード生成
		3.2.3 プログラム制御フロー
	3.3	逆アセンブル中の問題点
		3.3.1 デバッグ対策
		3.3.2 逆アセンブル対策
	3.4	新規ツールの作成
		3.4.1 ELFファイル形式
		3.4.2 ptraceによるデバッグ
		3.4.3 GNU BFDライブラリ
		3.4.4 libopcodesによる逆アセンブル
	3.5	参考文献
4章 Windows CEリバースエンジニアリング
	4.1	Windows CEアーキテクチャ
		4.1.1 プロセッサ
		4.1.2 カーネル、プロセス、およびスレッド
		4.1.3 メモリアーキテクチャ
		4.1.4 グラフィックス、ウィンドウイング、イベントサブシステム(GWES)
	4.2	Windows CEリバースエンジニアリングの基本
		4.2.1 ARMプロセッサ
		4.2.2 ARM命令コード
	4.3	リバースエンジニアリング例
		4.3.1 Hello, World!
		4.3.2 クラッキング技術
		4.3.3 CEプログラムの逆アセンブル
		4.3.4 Microsoft eMbedded Visual Tools
		4.3.5 MVTの使用
		4.3.6 MVC環境の習得
		4.3.7 test.exeのリバースエンジニアリング
	4.4	serial.exeのリバースエンジニアリング
		4.4.1 概要
		4.4.2 ステップ実行による調査
		4.4.3 システムの悪用
		4.4.4 クラック
	4.5	参考文献
5章 オーバーフロー攻撃
	5.1	バッファオーバーフロー
		5.1.1 オーバーフロー例
	5.2	バッファの概要
	5.3	スタック破壊
	5.4	ヒープオーバーフロー
	5.5	バッファオーバーフローの予防方法
		5.5.1 ソースコードの自動検査ツール
		5.5.2 コンパイラへのアドオンツール
		5.5.3 その他の保護方法
	5.6	攻撃の実行例
	5.7	参考文献
 Ⅱ部 ネットワークからのストーキング
6章 TCP/IP
	6.1	TCP/IPの歴史
	6.2	パケットの基本構造
	6.3	TCP
		6.3.1 TCPの機能
		6.3.2 TCPパケットフィールド
	6.4	IP
		6.4.1 IPパケットフォーマット
	6.5	UDP
	6.6	ICMP
	6.7	ARP
	6.8	RARP
	6.9	BOOTP
	6.10	DHCP
	6.11	TCP/IPハンドシェイク
	6.12	隠れチャネル
	6.13	IPv6
		6.13.1 IPv6の機能
		6.13.2 IPv6アドレッシング
		6.13.3 IPv6のセキュリティ
	6.14	Ethereal
	6.15	フラグメンテーション
		6.15.1 フラグメンテーション変数
		6.15.2 フラグメンテーションの悪用
		6.15.3 Nmapを使用したフラグメンテーション
		6.15.4 hping
		6.15.5 Fragroute
	6.16	参考文献
7章 ソーシャルエンジニアリング
	7.1	ソーシャルエンジニアリングとは
		7.1.1 攻撃対象
		7.1.2 一般的な誤解
	7.2	攻撃の実行
		7.2.1 能動的攻撃と受動的攻撃
		7.2.2 攻撃の準備
		7.2.3 ソーシャルエンジニアリング活動計画
		7.2.4 情報収集テンプレート
	7.3	高度なソーシャルエンジニアリング
	7.4	参考文献
8章 偵察
	8.1	オンライン偵察
		8.1.1 受動的偵察
		8.1.2 能動的偵察
	8.2	まとめ
	8.3	参考文献
9章 OSフィンガープリンティング
	9.1	Telnetセッションネゴシエーション
	9.2	TCPスタックフィンガープリンティング
		9.2.1 Nmapを使用したテスト例
		9.2.1 Nmapが使用している技術
		9.2.2 Nmapからの防御
	9.3	特殊なツール
	9.4	受動的フィンガープリンティング
	9.5	ファジー手法の利用
		9.5.1 従来手法の問題点
		9.5.2 ファジー手法を利用した解決法
	9.6	TCP/IPタイムアウト検出
	9.7	参考文献
10章 侵入痕跡の隠蔽
	10.1	誰から隠蔽するのか?
	10.2	侵入直後の痕跡消去
		10.2.1 システムログ
		10.2.2 アプリケーションログ
		10.2.3 シェルの履歴ファイル
		10.2.4 UNIXバイナリログ
		10.2.5 その他の記録
	10.3	フォレンジックス対策
		10.3.1 ファイルの確実な消去
		10.3.2 タイムスタンプの消去
	10.4	隠れアクセスの維持
		10.4.1 隠蔽方法
		10.4.2 隠れアクセス
	10.5	参考文献
Ⅲ部 ネットワーク攻撃方法
11章 UNIX防御
	11.1	UNIXパスワード
	11.2	ファイルパーミッション
		11.2.1 属性と機能
	11.3	システムロギング
	11.4	UNIXのネットワークアクセス
		11.4.1 TCP Wrappers
		11.4.2 NFS/NIS
		11.4.3 バックアップ
		11.4.4 X-Windowシステム
	11.5	UNIX強化
		11.5.1 強化する領域
		11.5.2 スクリプトによる自動強化
	11.6	UNIXネットワーク防御
		11.6.1 高度なTCP Wrappers
		11.6.2 アプリケーション固有のアクセス制御
		11.6.3 システム設定の変更
		11.6.4 ホストベースのファイアウォール
	11.7	参考文献
12章 UNIX攻撃
	12.1	ローカル攻撃
		12.1.1 物理的攻撃
		12.1.2 マシン起動時の攻撃
		12.1.3 起動中の割り込み
		12.1.4 スクリーンセーバ攻撃
		12.1.5 パス変更
		12.1.6 パスワード攻撃
		12.1.7 SUIDの悪用
		12.1.8 /tmpとシンボリックリンク、ハードリンクの悪用
		12.1.9 chrootからの脱出
	12.2	リモート攻撃
		12.2.1 TCP
		12.2.2 UDP
		12.2.3 最も悪用されやすいUNIX脆弱性
	12.3	UNIXのDoS攻撃
		12.3.1 ローカルDos攻撃
		12.3.2 ネットワークDoS攻撃
		12.3.3 DDoS攻撃
	12.4	参考文献
13章 Windowsクライアント攻撃
	13.1	サービス拒否攻撃
		13.1.1 SMB攻撃
		13.1.2 ユニバーサルプラグアンドプレイ攻撃
		13.1.3 ヘルプセンター攻撃
	13.2	リモート攻撃
	13.3	リモートデスクトップ/リモートアシスタンス
		13.3.1 リモートデスクトップの悪用
		13.3.2 リモートアシスタンスの悪用
	13.4	参考文献
14章 Windowsサーバ攻撃
	14.1	サーバ製品のリリース履歴
	14.2	Kerberos認証攻撃
	14.3	Kerberosの認証方式
		14.3.1 ネットワーク資源へのアクセス
		14.3.2 Kerberosプロトコルの脆弱性
	14.4	バッファオーバーフロー防御の突破
	14.5	Active Directoryの弱点
	14.6	PKIのハッキング
	14.7	スマートカードハッキング
		14.7.1 スマートカードの利点
		14.7.2 ハードウェアリバースエンジニアリング
		14.7.3 EEPROMトラッピング
		14.7.4 電力消費解析
	14.8	暗号化ファイルシステムの変更点
		14.8.1 背景
		14.8.2 ユーザとの関係
		14.8.3 スタンドアロンマシンの上のデータ回復
	14.9	サードパーティ暗号
		14.9.1 機能概要
		14.9.2 ワンタイムパスワード
		14.9.3 アドミニストレータリカバリ
		14.9.4 Authenti-Check自己パスワードリセットツール
		14.9.5 ユーザプログラム設定オプション
		14.9.6 ユーザプログラムのネットワークインストールとアップデート
		14.9.7 シングルサインオン
	14.10	参考文献
15章 Webサービスのセキュリティ
	15.1	XML暗号化
	15.2	XML署名
	15.3	参考文献
16章 SQL挿入
	16.1	SQLとは
		16.1.1 SQLコマンド
		16.1.2 SQLの使用
	16.2	SQL挿入攻撃
		16.2.1 攻撃の分類
		16.2.2 脆弱性の検出
	16.3	SQL挿入に対する防御
		16.3.1 隠蔽による防御
		16.3.2 外部での防御
		16.3.3 コーディングによる防御
		16.3.4 結論
	16.4	PHP-Nukeの例
		16.4.1 PHP-Nukeのインストール
		16.4.2 攻撃
		16.4.3 防御
	16.5	参考文献
17章 無線セキュリティ
	17.1	低周波ノイズの制御
	17.2	WEPの問題
	17.3	WEPクラッキング
		17.3.1 データ解析
		17.3.2 無線スニッフィング
		17.3.3 IVのコリジョン(衝突)
		17.3.4 WEPクラッキングの実行
		17.3.5 VPN
		17.3.6 RADIUS
	17.4	TKIP
	17.5	SSL
	17.6	無線ウィルス
		17.6.1 ウィルス対策
	17.7	参考文献    
 Ⅳ部 ネットワーク防御方法
18章 監査証跡の解析
	18.1	ログ解析の基礎
	18.2	ログの例
		18.2.1 UNIX
		18.2.2 Windows
		18.2.3 リモートの隠しログ処理
		18.2.4 他のログ処理バリエーション
	18.3	システム状態のログ
	18.4	ログ解析のタイミング
	18.5	ログのオーバーフローと収集
	18.6	ログ解析における課題
	18.7	セキュリティ情報管理
	18.8	グローバルなログ収集
	18.9	参考文献
19章 侵入検知システム
	19.1	IDSの例
		19.1.1 ホストIDS
		19.1.2 ネットワークIDS
	19.2	ベイジアン解析
		19.2.1 感度と特異性
		19.2.2 真と偽の予測値
		19.2.3 尤度比
	19.3	IDSのハッキング
		19.3.1 フラグメンテーション
		19.3.2 スプーフィング
		19.3.3 プロトコル変異
		19.3.4 整合性チェッカーに対する攻撃
	19.4	IDSの将来
		19.4.1 組み込みIDS
		19.4.2 厳格な異常検知
		19.4.3 ホストベースIDSとネットワークベースIDSの比較
		19.4.4 データの可視化
	19.5	Snort IDSの配備例
		19.5.1 システムセットアップ
		19.5.2 警告を表示するための設定
		19.5.3 IDSルールのチューニング
	19.6	IDSの配備に関する問題
	19.7	参考文献
20章 ハニーポット
	20.1	目的
	20.2	インフラストラクチャの構築
		20.2.1 構築手順
	20.3	攻撃のキャプチャ
	20.4	参考文献
21章 インシデントレスポンス
	21.1	ケーススタディ:ワームによる大混乱
	21.2	定義
	21.3	インシデントレスポンスの構成
		21.3.1 準備
		21.3.2 特定
		21.3.3 拡大防止
		21.3.4 原因除去
		21.3.5 復旧
		21.3.6 事後対応
	21.4	小規模ネットワーク
	21.5	中規模ネットワーク
	21.6	大規模ネットワーク
		21.6.1 インシデントの特定
		21.6.2 攻撃的レスポンス
		21.6.3 復旧
	21.7	参考文献
22章 フォレンジックスとアンチフォレンジックス
	22.1	ハードウェアの紹介
		22.1.1 ハードドライブ
		22.1.2 RAM
	22.2	情報の残がい
	22.3	フォレンジックスツール
		22.3.1 WinHex
	22.4	ブート可能なフォレンジックスCD-ROM
		22.4.1 Biatchux、FIRE
		22.4.2 ForensiX
	22.5	Evidence Eliminator
		22.5.1 スワップファイル
		22.5.2 テンポラリファイル
		22.5.3 Windowsレジストリストリーム
		22.5.4 クリップボード
		22.5.5 チャットログ
		22.5.6 ブラウザのゴミ(インターネットエクスプローラ)
		22.5.7 Netscape Navigator用オプション
	22.6	フォレンジックの実例:FTP攻撃
		22.6.1 はじめに
		22.6.2 調査
	22.7	参考文献
Ⅴ部 付録
付録 SoftICEの便利なコマンドとブレークポイント
	A.1	SoftICEコマンド
	A.2	ブレークポイント
索 引