『マスタリングTCP/IP 情報セキュリティ編 (第2版)』
2022/6/28
第2版序文
序文
目次
第1章 情報セキュリティ概論
1.1 情報セキュリティとは
1.1.1 情報技術への依存の高まり
1.1.2 情報セキュリティの考え方
1.1.3 情報セキュリティの定義
1.1.4 情報セキュリティの分類
1.1.5 脅威とリスクについて
1.1.6 情報セキュリティにおけるリスクの例
1.1.7 セキュリティ対策の基本的な考え方
1.1.8 セキュリティ対策の標準・ガイドライン
1.1.10 インシデント発生時の報告先
1.2 脆弱性
1.2.1 脆弱性とは
1.2.2 脆弱性情報データベース
1.2.3 NVDに関連する用語
1.2.4 ゼロデイ攻撃
1.3 脅威の範囲とインパクト
1.3.1 サイバー犯罪が及ぼす被害
1.3.2 個人情報漏洩に関する被害
1.3.3 可用性に関する被害
1.4 情報セキュリティの変遷
1.4.1 情報セキュリティ紀元前:~1990 年頃
1.4.2 初期の情報セキュリティ:1990~2009 年頃
1.4.3 現代型セキュリティの時代:2010 年以降
1.5 セキュリティを構成する要素技術
1.5.1 暗号技術
1.5.2 ディジタル署名
1.5.3 セキュリティプロトコル
1.5.4 認証
1.5.5 メモリ破壊脆弱性
1.5.6 ファイアウォール
1.5.7 Web におけるセキュリティ対策
第2章 暗号技術
2.1 暗号技術の基礎
2.1.1 暗号技術の用語
2.1.2 古典的な暗号化アルゴリズム
2.1.3 共通鍵暗号化方式と公開鍵暗号化方式
2.2 共通鍵暗号化技術
2.2.1 ストリーム暗号化とブロック暗号化
2.2.2 代表的な共通鍵暗号化技術
2.2.3 DESの仕組み
2.2.4 AESの仕組み
2.2.5 パディング
2.2.6 ブロックチェイニング
2.3 公開鍵暗号化技術
2.3.1 RSAの仕組み
2.3.2 RSA以外の公開鍵暗号化方式
2.3.3 ハイブリッド暗号
2.4 鍵共有アルゴリズム
2.4.1 Diffie-Hellman 鍵共有アルゴリズム
2.5 ハッシュ関数とディジタル署名
2.5.1 ハッシュ関数
2.5.2 ディジタル署名
2.5.3 AEAD
2.6 暗号技術における安全性
2.6.1 等価安全性
2.6.2 暗号技術の利用における安全性
第3章 認証技術
3.1 認証技術の基礎
3.1.1 認証技術に関する概念
3.1.2 素朴な主体認証と認証プロトコル
3.2 主体認証
3.2.1 主体認証の種類
3.2.2 主体の知識による認証
3.2.3 パスワードに関するNIST のガイドライン
3.2.4 パスワードの保存について
3.2.5 主体の所持するものによる認証
3.2.6 主体の身体的な特性による認証
3.3 認証プロトコルの基礎
3.3.1 通信における脅威モデル
3.3.2 パスワードによる認証プロトコル
3.3.3 公開鍵ペアを用いた認証プロトコル
3.4 ID 連携
3.4.1 SSOの登場
3.4.2 ID 連携の基本と応用
3.4.3 ID 連携の実現技術
4.1 PKI の基礎
4.1.1 PKI が必要となる理由
4.1.2 PKI の実例(HTTPS)
4.2.2 認証局モデル
4.3 公開鍵証明書
4.3.1 公開鍵証明書のフォーマット
4.3.2 X.509v3 証明書の拡張領域
4.3.3 証明書の例
4.4 認証局
4.4.1 PKI における認証局の意義
4.4.2 PKI を構成する主体
4.4.3 パブリック認証局とプライベート認証局
4.4.4 EV SSL証明書
4.5 証明書の利用
4.5.1 証明書チェーン
4.6 PKI の運用
4.6.1 証明書の発行
4.6.2 証明書の検証
4.6.3 証明書の失効
4.6.4 公開鍵ピニング
第5章 セキュリティプロトコル
5.1 セキュリティプロトコルとは
5.1.1 セキュリティプロトコルの構成
5.1.2 利用場面とプロトコルの種類
5.1.3 プロトコル設計と実装
5.2.1 SSL/TLS の全体像
5.2.2 Record プロトコル
5.2.3 Handshake プロトコル
5.2.4 鍵の生成
5.2.5 クライアント認証モード
5.2.6 DTLSの概要
5.2.7 TLS1.3
5.3.1 IPsec の全体像
5.3.2 IPsec の処理の概要
5.3.3 AH
5.3.4 ESP
5.3.5 IKE
第6章 ホストのセキュリティ
6.1 メモリ破壊脆弱性
6.1.1 メモリ破壊脆弱性とは
6.2 メモリ破壊攻撃の例
6.2.1 ローカルでの攻撃例
6.2.2 リモートからの攻撃例
6.3 メモリ破壊攻撃の詳細
6.3.1 プロセスのメモリ配置とスタック
6.3.2 プログラム実行時のスタックの様子
6.3.3 スタックオーバーフロー攻撃の仕組み
6.3.4 ヒープオーバーフローの仕組み
6.3.5 UAFの仕組み
6.3.6 コード再利用型攻撃
6.4 メモリ破壊攻撃の対策
6.4.1 ソフトウェア開発とセキュリティ対策
6.4.2 開発フェーズにおけるメモリ破壊攻撃の予防的対策
6.4.3 メモリ破壊攻撃を招く関数
6.4.4 コンパイラでのメモリ破壊対策
6.4.5 OSでのメモリ破壊対策
6.4.6 運用時の対策
6.5 セキュアOSとセキュアブート
6.5.1 セキュアOS
6.5.2 Linux におけるセキュアOS
6.5.3 セキュアブート
第7章 ネットワークセキュリティ
7.1.2 侵入検知システム・侵入防御システム
7.1.5 その他のサーバーおよびネットワーク機器
7.2 FWを用いたネットワーク構成例
7.2.1 公開サーバー群をFWの外に置く構成
7.2.2 公開サーバー群をFWの中に置く構成
7.2.3 公開サーバー群をFWの別ポートに設置する構成
7.2.4 FWによって公開サーバー群を挟む構成
7.3 ネットワークスキャン
7.3.1 ドメイン情報の取得
7.3.2 ホストへのスキャン
7.3.3 パスワードの奪取
7.5.1 コンピュータウイルスとワーム
7.5.2 対策
7.5.3 進化するマルウェアの実現形態
7.5.4 コンピュータウイルス対策ソフトの仕組み
7.6.1 高度標的型攻撃とは
7.6.2 高度標的型攻撃の流れ
7.6.3 高度標的型攻撃への対策
7.7 クラウドセキュリティ
7.7.1 クラウドとは
7.7.2 クラウドにおけるセキュリティ対策
第8章 Web セキュリティ
8.1 Web 技術の復習
8.1.1 Web の基本的な構成要素
8.1.2 HTTP通信でのデータの受け渡し
8.1.3 Web アプリケーションサーバー
8.1.4 Web セキュリティ概論
8.2 Web における認証
8.2.1 Basic/Digest 認証
8.2.2 クッキーを用いるセッション管理と認証
8.3 XSS攻撃とその対策
8.3.2 XSS攻撃の例
8.3.3 反射型XSS攻撃と格納型XSS攻撃
8.3.4 XSS攻撃の対策
8.4.1 SQLインジェクションとは
8.4.2 SQLインジェクションの仕組み
8.4.3 SQLインジェクションの対策
8.5.1 CSRF攻撃とは
8.5.2 CSRF攻撃の仕組み
8.5.3 CSRFの対策
8.6.1 Web2.0 技術について
8.6.2 Web2.0 のセキュリティ
8.6.4 同一生成元ポリシー
付録 参考文献およびURL
索引