索引 / 001 JA
Computer Security: Art and Science(コンピュータセキュリティ:技と科学) cover

コンピュータサイエンス

コンピュータサイエンス

Computer Security: Art and Science(コンピュータセキュリティ:技と科学)

Matt Bishop

英語原題: Computer Security: Art and Science

マット・ビショップによる、コンピュータセキュリティを独自の理論をもつ学問として扱う教科書。アクセス制御とセキュリティポリシーの形式モデルから、暗号と認証、保証、マルウェア、脆弱性分析、監査と侵入検知、さらにネットワーク、システム、プログラムを守る実践へと進む。

前提知識: オペレーティングシステムと離散数学の授業を修了し、ある程度のプログラミング経験があること。ネットワークの知識があると役立つ。

難易度レベル
上級
学術レベル
大学院
computer securitysecurity policyaccess controlassuranceinformation flow教科書

01 / 読書ガイド

読書ガイド

引用

Bishop, M. (2018). Computer Security: Art and Science (2nd ed.). Addison-Wesley.

章の要約

第2版は約1,440ページで、八つの部に31章があり、さらに八つの付録からなる第IX部が続く。各章の末尾には、要約、「研究課題」、参考文献案内、演習問題がある。出版社は本書を、包括的な教科書であると同時に詳細なリファレンスでもあると説明している。

第I部、第1章:コンピュータセキュリティ概説

冒頭の章では、基本的な構成要素(機密性、完全性、可用性)、脅威、ポリシーとメカニズムの違い、前提と信頼、保証(アシュアランス)、費用対効果やリスク分析といった運用上の問題、人的問題を紹介する。本書の残りの部分に対する用語集の役割を果たす章で、著者は無料のサンプル章として公開している。

第II部、第2–3章:アクセス制御行列、基礎的な結果

第2章では、アクセス制御行列モデル、状態遷移、権限のコピー・所有・減衰によって保護状態を形式化する。第3章は、システムが安全だと証明できるのかという一般的な問いを立て、基本的な結果、Take-GrantモデルとSchematic Protectionモデル、各モデルの表現力の比較を扱う。

第III部、第4–9章:ポリシー

第4章はセキュリティポリシーの性質と種類、信頼、アクセス制御の種類、ポリシー言語を述べる。第5章と第6章は、機密性(Bell–LaPadulaモデル、tranquility、それをめぐる論争)と完全性(Biba、Lipner、Clark–Wilson、信頼モデル)を扱う。第7章は本版の新章で、可用性ポリシー(デッドロック、サービス妨害モデル、ネットワークフラッディング)を扱う。第8章はハイブリッドポリシー(チャイニーズウォール、臨床情報システム、作成者制御、ロールベースアクセス制御、ブレイク・ザ・グラス)、第9章は非干渉、非推論性、制限性、サイドチャネル、ポリシーの合成を扱う。

第IV部、第10–13章:実装I:暗号

基礎暗号、鍵管理、暗号技法、認証。共通鍵暗号と公開鍵暗号、チェックサムと署名、鍵交換とインフラ、ストリーム暗号とブロック暗号、認証付き暗号と事例プロトコル、さらにパスワード、チャレンジ・レスポンス、生体認証、位置、多要素認証を扱う。

第V部、第14–18章:実装II:システム

第14章「設計原則」は、安全な設計の八つの原則(最小権限、フェイルセーフなデフォルト、機構の経済性、完全な媒介、オープンな設計、権限の分離、共通機構の最小化、最小驚き)を示す。第15–18章は、アイデンティティの表現、アクセス制御機構(ACL、ケイパビリティ、鍵と錠、リング)、情報フロー、そして隔離と隠れチャネルを含む閉じ込め問題を扱う。

第VI部、第19–22章:保証

保証入門、保証つきシステムの構築、形式手法、システム評価。最後の章は、TCSECからITSEC、連邦基準を経て、FIPS 140、コモンクライテリア、SSE-CMMに至る評価の仕組みをたどる。この部は寄稿者のElisabeth SullivanとMichelle Ruppelによる。

第VII部、第23–27章:特別な話題

マルウェア(トロイの木馬、ウイルス、ワーム、ボット、防御、コンピュータウイルスの理論)、脆弱性分析(侵入テスト研究、分類、フレームワーク)、監査、侵入検知、そして本版で新設された「攻撃と対応」(攻撃の表現、侵入への対応、デジタルフォレンジック)。

第VIII部、第28–31章:実践編

ネットワークセキュリティ、システムセキュリティ、ユーザセキュリティ、プログラムセキュリティ。最初の三つは、それまでのポリシーとメカニズムを具体的なネットワーク、ホスト、ユーザ環境に適用する。第31章は、要件、設計、実装、テスト、配布に至る安全なプログラミングの過程をたどり、セキュリティ関連のよくあるプログラミング上の問題を扱う節もある。

第IX部:付録

束(ラティス)、拡張ユークリッドの互除法、エントロピーと不確かさ、仮想マシン、記号論理、暗号標準(DESとAES)、学術機関のセキュリティポリシー例、プログラミング規則。

主要概念

第1–3章:基礎

  • 機密性・完全性・可用性:ポリシーを組み立てるもとになる、セキュリティの三つの側面。
  • ポリシーとメカニズム:ポリシーは何が許されるかを定め、メカニズムがそれを強制する。両者を結ぶのが信頼という前提である。
  • 安全性問題:保護システムが危険な状態に到達しうるかどうか。第3章の基礎的な結果が扱う問い。

第4–9章:ポリシー

  • セキュリティモデル:Bell–LaPadula(機密性)、Biba、Lipner、Clark–Wilson(完全性)、チャイニーズウォールとロールベースアクセス制御(ハイブリッド)。
  • 非干渉:高位の動作が低位ユーザの観測に影響してはならないというポリシー合成の性質。

第10–18章:実装

  • 安全な設計原則:第14章の八つの設計原則。
  • 情報フローと閉じ込め:情報がどこへ流れうるかの制御と、その制御をすり抜ける隠れチャネル。

第19–31章:保証と実践

  • 保証と評価:定められた要件に照らしてシステムを構築し、評価すること。
  • マルウェア、脆弱性分析、監査、侵入検知:セキュリティの検知・対応の側面。

批判的分析

長所

  • 理論と実践の結びつき。 出版社は「理論と実践の深い結びつき」を強調しており、構成もそれに沿っている。第II・III部で形式モデル、第IV・V部でメカニズム、その後に評価、攻撃分析、実践の章が続く。
  • 第2版の実質的な更新。 出版社は、可用性ポリシーモデルと攻撃分析に関する新章、新しい事例と技術を挙げている。各章末の研究課題と参考文献案内は、大学院の授業や個人の課題に向く。
  • 範囲の広さ。 暗号、認証、アイデンティティ、保証、マルウェア、フォレンジック、安全なプログラミングを一つの枠組みで扱い、付録がモデルに必要な束、論理、エントロピー、仮想マシンの背景を補う。
  • ポリシーモデルの深さ。 第II・III部は、Take-GrantとSchematic Protectionモデル、非干渉と非推論性、Bell–LaPadulaをめぐる論争など、詳細に踏み込んでいる。

短所

  • 分量。 約1,440ページは一つの授業には大きすぎる。講師や読者が必要な部分を選ぶリファレンスとして使うのが適している。
  • 暗号は構成要素の一つ。 「基礎暗号」は約40ページ(第10章は289–330ページ)で、暗号の厳密さを求める読者は専門の教科書を併用すべきである。
  • 形式的な語彙。 基礎的な結果、ポリシーモデル、形式手法の章は束と記号論理(付録AとE)を使うため、離散数学の素養がない読者は理解に労力を要する。

コースにおける位置づけ

このコースの書籍リストの中で、Bishop は最も形式的でポリシー志向の一冊である。Easttom の Computer Security Fundamentals はセキュリティの予備知識がない学生向けの1巻の入門書、Stallings と Brown の Computer Security: Principles and Practice は原理をシステムの設計と運用に結びつける学部向け教科書、Anderson の Security Engineering は事例とセキュリティの経済学・心理学からこの主題に迫る。Katz と Lindell の Introduction to Modern Cryptography や Paar と Pelzl の Understanding Cryptography は、Bishop の第IV部よりはるかに深く暗号を扱う。

まず入門書を読み、それらが簡単にしか触れないモデル、保証、評価の内容を Bishop で学ぶとよい。

本書の使い方

出版社は学部上級生、大学院生、IT専門家を読者として想定している。自然な前提知識は、オペレーティングシステムと離散数学で、プログラミングの経験もあるとよい。

実践的な進め方:

  • 中核: 第1章。次にアクセス制御と主要なポリシーモデルのために第2、4、5、6章、設計原則のために第14章、アイデンティティとアクセス制御機構のために第15–16章。
  • 理論寄りの拡張: 第3、9、17、18章(安全性の結果、非干渉、情報フロー、閉じ込め)と、保証と評価の第19–22章。
  • 実践寄りの拡張: マルウェア、脆弱性、監査、侵入検知、攻撃を扱う第23–27章、続いて実践編の第28–31章。
  • 暗号: 第10–13章は概観として読み、深く学ぶには専門の教科書を参照する。

各章末の演習に取り組むとよい。モデルに関する演習は、状態遷移を自分の手で書き出すと得るものが大きい。