実践 ネットワークセキュリティ監査
――リスク評価と危機管理

[cover photo]
  • 2005年04月 発行
  • 488ページ
  • ISBN4-87311-204-4
  • フォーマット Print
  • 原書: Network Security Assessment: Know Your Network

オライリー・ジャパンで書籍を購入:
定価4,536円


本書では、ネットワーク防衛戦略を行うにあたり管理者が行うべき具体的な監査方法、および監査を効率的に行うための方法論を解説します。また、実際の監査を容易にするためのさまざまなツールやサンプルスクリトを数多く紹介します。これらの実践的な知識を得ることにより、ネットワークをセキュアに構築して管理することができるようになります。ポートスキャニングの詳しい解説、Web攻略の詳しい解説、メモリ処理に対する攻略の詳しい解説など、本書ではじめて書籍化された最新かつ詳細な情報が多数収録されています。

監訳者によるサポートページ

関連書籍

実用SSH 第2版
不正アクセス調査ガイド

監訳者まえがき
推薦の言葉
まえがき

1章 ネットワークセキュリティ監査
	1.1 ビジネス上の利益
	1.2 IP:インターネットの基礎
	1.3 インターネットにおける攻撃の分類
	1.4 監査の定義
	1.5 ネットワークセキュリティ監査の方法論
		1.5.1 ネットワーク列挙
		1.5.2 バルク調査
		1.5.3 脆弱性の調査
		1.5.4 脆弱性の攻略
	1.6 循環的な監査アプローチ

2章 必要なツール
	2.1 OS
		2.1.1 Windows NTファミリ
		2.1.2 Linux
		2.1.3 Mac OS X
		2.1.4 VMware
	2.2 無料のネットワークスキャニングツール
		2.2.1 nmap
		2.2.2 Nessus
		2.2.3 NSAT
		2.2.4 Foundstone SuperScan
	2.3 市販のネットワークスキャニングツール
	2.4 特定プロトコル専用の監査ツール
		2.4.1 Microsoft NetBIOS、SMB、CIFS
		2.4.2 DNS
		2.4.3 HTTPおよびHTTPS

3章 インターネットにおけるホストとネットワークの列挙
	3.1 Web検索サービス
		3.1.1 Googleの高度な検索機能
		3.1.2 ニュースグループの検索
	3.2 WHOIS問い合わせ
		3.2.1 ドメイン名に対するWHOIS問い合わせ
		3.2.2 ネットワークアドレスに対するWHOIS問い合わせ
		3.2.3 WHOIS問い合わせツールと使用例
	3.3 DNS問い合わせ
		3.3.1 フォワードDNS問い合わせ
		3.3.2 DNSゾーン転送
		3.3.3 リバースDNSスイーピング
	3.4 SMTPプロービング
	3.5 列挙技術の要約
	3.6 列挙への対策

4章 ネットワークスキャニング
	4.1 ICMPスキャニング
		4.1.1 SING
		4.1.2 nmap
		4.1.3 内部IPアドレスの収集
		4.1.4 サブネットブロードキャストアドレスの特定
	4.2 TCPポートスキャニング
		4.2.1 標準TCPスキャニング
		4.2.2 ステルスTCPスキャニング
		4.2.3 スプーフィングおよび第三者中継TCPスキャニング
	4.3 UDPポートスキャニング
		4.3.1 UDPポートスキャニングのためのツール
	4.4 IDSおよびフィルタリングの回避
		4.4.1 スキャニングパケットの断片化
		4.4.2 攻撃ホストの複数化スプーフィング
		4.4.3 ソースルーティング
		4.4.4 特殊な送信元ポートの利用
	4.5 ローレベルIP監査
		4.5.1 TCPおよびICMPプローブの応答分析
		4.5.2 ICMPメッセージの受動的な監視
		4.5.3 IPフィンガープリンティング
		4.5.4 TCPシーケンス番号およびIPヘッダID値の予想
	4.6 ネットワークスキャニングの要約
	4.7 ネットワークスキャニングへの対策

5章 リモート情報サービスの監査
	5.1 リモート情報サービス
	5.2 systatおよびnetstat
	5.3 DNS
		5.3.1 DNSバージョン情報の引き出し
		5.3.2 DNSゾーン転送
		5.3.3 DNSによる情報漏洩およびリバースDNSスイーピング
		5.3.4 BINDの脆弱性
		5.3.5 Microsoft DNSサービスの脆弱性
	5.4 finger
		5.4.1 fingerの情報漏洩
		5.4.2 fingerリダイレクション
		5.4.3 直接攻略が可能なfingerの脆弱性
	5.5 auth
		5.5.1 authプロセスの脆弱性
	5.6 SNMP
		5.6.1 ADMsnmp
		5.6.2 snmpwalk
		5.6.3 コミュニティ名のデフォルト値
		5.6.4 SNMP読み出しによる危険性
		5.6.5 SNMP書き込みによる危険性
		5.6.6 SNMPプロセスの脆弱性
	5.7 LDAP
		5.7.1 LDAPに対する匿名アクセス
		5.7.2 LDAPに対するブルートフォース攻撃
		5.7.3 アクティブディレクトリのグローバルカタログ
		5.7.4 LDAPプロセスの脆弱性
	5.8 rwho
	5.9 RPC rusers
	5.10 リモート情報サービスにおける対策

6章 Webサービスの監査
	6.1 Web
	6.2 Webサービスの特定
		6.2.1 HTTP HEADメソッド
		6.2.2 HTTP OPTIONSメソッド
		6.2.3 Webサーバの自動フィンガープリンティング
		6.2.4 SSLトンネルによるWebサーバの特定
	6.3 サブシステムおよびコンポーネントの特定
		6.3.1 ASP.NET
		6.3.2 WebDAV
		6.3.3 Microsoft FrontPage Extension
		6.3.4 Microsoft Outlook Web Access
		6.3.5 IIS ISAPI拡張
		6.3.6 PHP
		6.3.7 OpenSSL
	6.4 Web脆弱性の調査
		6.4.1 Web脆弱性を調査するためのツール
		6.4.2 セキュリティ関連のWebサイトおよびメーリングリスト
		6.4.3 Microsoft IISの脆弱性
		6.4.4 Apacheの脆弱性
		6.4.5 OpenSSLの脆弱性
		6.4.6 HTTPプロキシによる第三者中継
	6.5 保護が不十分な情報へのアクセス
		6.5.1 HTTP認証に対するブルートフォース攻撃
	6.6 CGIスクリプトとカスタムASPページの監査
		6.6.1 パラメータ操作とフィルタリング回避
		6.6.2 エラー処理の問題
		6.6.3 OSコマンドインジェクション
		6.6.4 SQLコマンドインジェクション(SQLインジェクション)
		6.6.5 Webアプリケーション監査ツール
	6.7 Webにおける対策

7章 リモートアクセスの監査
	7.1 リモートアクセス
	7.2 SSH
		7.2.1 SSHフィンガープリンティング
		7.2.2 ブルートフォースによるSSHパスワードの推測
		7.2.3 SSHの脆弱性
	7.3 Telnet
		7.3.1 Telnetのフィンガープリンティング
		7.3.2 ブルートフォースによるTelnetパスワードの推測
		7.3.3 Telnetの脆弱性
	7.4 R系サービス
		7.4.1 R系サービスに対するパスワードなしアクセス
		7.4.2 R系サービスに対するブルーフォース攻撃
		7.4.3 rsh接続のスプーフィング
		7.4.4 R系サービスにおける既知の脆弱性
	7.5 X Window
		7.5.1 X Windowの認証
		7.5.2 Xサーバの監査
		7.5.3 X Windowシステムにおける既知の脆弱性
	7.6 Microsoftリモートデスクトッププロトコル
		7.6.1 ブルートフォースによるRDPパスワードの推測
		7.6.2 RDPの脆弱性
	7.7 VNC
		7.7.1 ブルートフォースによるVNCパスワードの推測
	7.8 Citrix
		7.8.1 Citrix ICAクライアントの利用
		7.8.2 未公開の発行済みアプリケーションへのアクセス
		7.8.3 Citrixの脆弱性
	7.9 リモートアクセスにおける対策

8章 FTPおよびデータベースサービスの監査
	8.1 FTP
	8.2 FTPバナーグラビングと列挙
		8.2.1 FTPバナーの分析
		8.2.2 FTPパーミッションの監査
	8.3 ブルートフォースによるFTPパスワードの推測
	8.4 FTPによる中継攻撃
		8.4.1 FTP中継によるポートスキャニング
		8.4.2 FTP中継による攻略ペイロードの送信
	8.5 FTPによるステイトフルフィルタリングの回避
		8.5.1 PORTおよびPASVコマンド
		8.5.2 PORTコマンドの悪用
		8.5.3 PASVコマンドの悪用
	8.6 FTPメモリ処理の攻略
		8.6.1 FTPのパス名問題(Solaris、BSD)
		8.6.2 WU-FTPDの脆弱性
		8.6.3 ProFTPDの脆弱性
		8.6.4 Microsoft IIS FTPサーバ
	8.7 FTPにおける対策
	8.8 データベース
	8.9 Microsoft SQL Server
		8.9.1 SQL Serverに対する列挙
		8.9.2 SQL Serverに対するブルートフォース攻撃
		8.9.3 SQL Serverにおけるメモリ処理の脆弱性
	8.10 Oracle
		8.10.1 TNSリスナの列挙および情報漏洩攻略
		8.10.2 TNSリスナメモリ処理の脆弱性
		8.10.3 Oracleに対するブルートフォース攻撃および認証後の脆弱性
	8.11 MySQL
		8.11.1 MySQLに対する列挙
		8.11.2 MySQLに対するブルートフォース攻撃
		8.11.3 MySQLにおけるメモリ処理の脆弱性
	8.12 データベースにおける対策

9章 Windowsネットワークの監査
	9.1 Microsoft Windowsネットワークサービス
		9.1.1 SMB、CIFS、NetBIOS
	9.2 Microsoft RPCサービス
		9.2.1 システム情報の列挙
		9.2.2 SAMRおよびLSARPCインターフェイスによるユーザ詳細情報の収集
		9.2.3 Administratorパスワードに対するブルートフォース攻撃
		9.2.4 任意コマンドの実行
		9.2.5 MSRPCサービスに対する直接攻略
	9.3 NetBIOSネームサービス
		9.3.1 システム情報の列挙
		9.3.2 NetBIOSネームサービスの攻略
	9.4 NetBIOSデータグラムサービス
	9.5 NetBIOSセッションサービス
		9.5.1 システム詳細情報の列挙
		9.5.2 ユーザパスワードに対するブルートフォース攻撃
		9.5.3 SMBにおける認証
		9.5.4 コマンドの実行
		9.5.5 レジストリキーの読み出しおよび変更
		9.5.6 SAMデータベースへのアクセス
	9.6 CIFSサービス
		9.6.1 CIFS情報の列挙
		9.6.2 CIFSに対するブルートフォース攻撃
	9.7 Unix Sambaの脆弱性
	9.8 Windowsネットワーキングにおける対策

10章 Emailサービスの監査
	10.1 Emailサービスが使用するプロトコル
	10.2 SMTP
		10.2.1 SMTPフィンガープリンティング
		10.2.2 Sendmail
		10.2.3 Microsoft Exchange SMTPサービス
		10.2.4 SMTPオープンリレーの検査
		10.2.5 SMTP中継とアンチウィルスのバイパス
	10.3 POP-2およびPOP-3
		10.3.1 ブルートフォースによるPOP-3パスワード推測
		10.3.2 POP-3メモリ処理の攻略
	10.4 IMAP
		10.4.1 IMAPに対するブルートフォース攻撃
		10.4.2 IMAPメモリ処理の攻略
	10.5 Emailサービスにおける対策

11章 IP VPNの監査
	11.1 IPSec VPN
		11.1.1 IKEおよびISAKMP
	11.2 IPSec VPNの攻略
		11.2.1 IPSecの列挙
		11.2.2 ISAKMPに対する初期プロービング
		11.2.3 IKEにおける既知の脆弱性
		11.2.4 IKEアグレッシブモードにおけるPSKクラッキング
	11.3 Check Point VPNの脆弱性
		11.3.1 Check Point IKEユーザ名の列挙
		11.3.2 Check Point Telnetサービスにおけるユーザ列挙
		11.3.3 Check Point SecuRemoteの情報漏洩
		11.3.4 Check Point RDP Firewallの回避
	11.4 Microsoft PPTP
	11.5 VPNにおける対策

12章 Unix RPCの監査
	12.1 Unix RPCの列挙
		12.1.1 RPCサービスのポートマッパによらない特定
	12.2 RPCサービスの脆弱性
		12.2.1 rpc.mountd(100005)の脆弱性
		12.2.2 複数のベンダにおけるrpc.statd(100024)の脆弱性
		12.2.3 Solaris rpc.sadmind(100232)の脆弱性
		12.2.4 Solaris rpc.cachefsd(100235)の脆弱性
		12.2.5 Solaris rpc.snmpXdmid(100249)の脆弱性
		12.2.6 複数ベンダにおけるrpc.cmsd(100068)の脆弱性
		12.2.7 複数ベンダにおけるrpc.ttdbserverd(100083)の脆弱性
	12.3 Unix RPCサービスにおける対策

13章 プログラム内部のリスク
	13.1 ハッキングの基本概念
	13.2 ソフトウェアが脆弱である理由
	13.3 ネットワークサービスの脆弱性および攻略
		13.3.1 メモリ操作攻撃
		13.3.2 プログラム実行
	13.4 古典的なバッファオーバフロー脆弱性
	13.5 スタックオーバフロー
		13.5.1 スタックスマッシュ(保存された命令ポインタの書き換え)
		13.5.2 スタックの1バイト超過バグ
		   (保存されたフレームポインタの書き換え)
	13.6 ヒープオーバフロー
		13.6.1 ヒープオーバフローによるプログラムフローの攻略
		13.6.2 領域長を限定しないヒープオーバフロー攻撃
		13.6.3 他のヒープ破壊攻撃
		13.6.4 ヒープオーバフローの参考リンク
	13.7 整数値オーバフロー
		13.7.1 整数値ラップアラウンドとヒープオーバフロー
		13.7.2 オーバフローによる正負の逆転
		13.7.3 負値の領域長バグ
		13.7.4 整数値オーバフローの参考リンク
	13.8 フォーマット文字列のバグ
		13.8.1 スタック上における隣接領域の読み出し
		13.8.2 任意アドレスからのデータ読み出し
		13.8.3 任意アドレスへのデータ書き込み
		13.8.4 フォーマット文字列バグの参考リンク
	13.9 メモリ操作攻撃の要約
	13.10 プロセス実行における危険性の緩和
		13.10.1 ヒープもしくはスタックにおけるコード実行の防止
		13.10.2 カナリア値の利用
		13.10.3 特殊なサーバアーキテクチャの利用
		13.10.4 ソースファイルからのコンパイル
		13.10.5 システムコールのアクティブモニタリング
	13.11 安全なプログラムを開発するための参考リンク

14章 監査の実施例
	14.1 ネットワークスキャニング
		14.1.1 初期ネットワークスキャニング
		14.1.2 フルネットワークスキャニング
		14.1.3 ローレベルネットワーク検査
	14.2 アクセス可能なサービスの特定
		14.2.1 Telnetサービスの初期監査
		14.2.2 SSHサービスの初期監査
		14.2.3 SMTPサービスの初期監査
		14.2.4 Webの初期監査
	14.3 アクセス可能なサービスが持つであろう脆弱性の調査
		14.3.1 アクセス可能なサービスが持つ脆弱性(Cisco IOS)
		14.3.2 アクセス可能なサービスが持つ脆弱性(Solaris 8)
		14.3.3 アクセス可能なサービスが持つ脆弱性(Windows 2000)
	14.4 脆弱性に対する実地検査
		14.4.1 Cisco IOSルータ
		14.4.2 Solaris Emailサーバ(192.168.10.10)
		14.4.3 Windows 2000 Web Serverサーバ(192.168.10.25)
	14.5 方法論フローチャート
	14.6 監査における推奨事項
		14.6.1 短期的視点における推奨事項
		14.6.2 長期的視点における推奨事項
	14.7 おわりに

付録A TCPポート、UDPポート、ICMPメッセージタイプ
	A.1 TCPポート
	A.2 UDPポート
	A.3 ICMPメッセージタイプ

付録B 脆弱性調査の情報源
	B.1 セキュリティ関連メーリングリスト
	B.2 脆弱性データベースおよびリスト
	B.3 アンダーグラウンドWebサイト
	B.4 セキュリティ関連イベントおよびコンファレンス

索引

Feedback

皆さんのご意見をお聞かせください。ご購入いただいた書籍やオライリー・ジャパンへのご感想やご意見、ご提案などをお聞かせください。より良い書籍づくりやサービス改良のための参考にさせていただきます。
[feedbackページへ]