01 / 导读
导读
引用
Bishop, M. (2018). Computer Security: Art and Science (2nd ed.). Addison-Wesley.
章节概要
第二版约1,440页:八个部分共31章,另有第九部分,含八个附录。每章末尾都有小结、“研究问题”、延伸阅读和习题。出版社将本书描述为既是一部全面的教材,也是一部详尽的参考书。
第一部分,第1章:计算机安全概述
开篇一章介绍基本要素(机密性、完整性、可用性)、威胁、策略与机制的区别、假设与信任、保证(assurance)、成本收益与风险分析等运行问题,以及人的因素。它是全书其余部分的词汇表,作者也将这一章作为免费样章提供。
第二部分,第2–3章:访问控制矩阵;基础性结果
第2章用访问控制矩阵模型、状态转换以及权限的复制、拥有与衰减,把保护状态形式化。第3章提出总问题:能否证明一个系统是安全的;随后介绍基本结论、Take-Grant和图式保护(Schematic Protection)模型,以及各模型表达能力的比较。
第三部分,第4–9章:策略
第4章讲安全策略的性质与类型、信任、访问控制的类型和策略语言。第5章和第6章分别讨论机密性(Bell–LaPadula模型、平稳性及相关争论)和完整性(Biba、Lipner、Clark–Wilson、信任模型)。第7章为本版新增,讨论可用性策略:死锁、拒绝服务模型和网络洪泛。第8章讲混合策略(中国墙、临床信息系统、发起者控制、基于角色的访问控制、“破玻璃”策略),第9章讲无干扰、不可推断性、限制性、侧信道和策略组合。
第四部分,第10–13章:实现之一:密码学
基础密码学、密钥管理、密码技术和认证。这些章节涵盖对称与公钥密码系统、校验和与签名、密钥交换与基础设施、流密码与分组密码、认证加密与示例协议,以及口令、挑战–应答、生物特征、位置与多因素认证。
第五部分,第14–18章:实现之二:系统
第14章“设计原则”提出八条安全设计原则(最小特权、故障安全默认、机制经济、完全仲裁、开放设计、特权分离、最少公共机制、最小意外)。第15–18章讲身份的表示、访问控制机制(ACL、能力、锁与钥匙、环)、信息流,以及包含隔离与隐蔽信道的限制(confinement)问题。
第六部分,第19–22章:保证
保证导论、构建有保证的系统、形式化方法和系统评估。最后一章梳理了从TCSEC,经ITSEC和联邦准则,到FIPS 140、通用准则(Common Criteria)和SSE-CMM的评估体系。该部分由Elisabeth Sullivan和Michelle Ruppel撰稿。
第七部分,第23–27章:专题
恶意软件(特洛伊木马、病毒、蠕虫、僵尸网络、防御及计算机病毒理论)、漏洞分析(渗透研究、分类、框架)、审计、入侵检测,以及本版新增的“攻击与响应”(攻击的表示、入侵响应、数字取证)。
第八部分,第28–31章:实践
网络安全、系统安全、用户安全和程序安全。前三章把前面的策略与机制应用于具体的网络、主机和用户环境;第31章依次讲述从需求、设计、实现、测试到分发的安全编程过程,其中有一节讨论常见的安全相关编程问题。
第九部分:附录
格、扩展欧几里得算法、熵与不确定性、虚拟机、符号逻辑、加密标准(DES与AES)、示例学术安全策略和编程规则。
核心概念
第1–3章:基础
- 机密性、完整性、可用性:构成安全策略的三个方面。
- 策略与机制:策略规定什么被允许;机制负责执行,信任则是把二者联系起来的假设。
- 安全性问题:保护系统能否到达不安全状态,这是第3章基础性结果所处理的问题。
第4–9章:策略
- 安全模型:Bell–LaPadula(机密性)、Biba、Lipner与Clark–Wilson(完整性)、中国墙与基于角色的访问控制(混合策略)。
- 无干扰:一种策略组合性质,要求高层动作不得影响低层用户的观察。
第10–18章:实现
- 安全设计原则:第14章的八条设计原则。
- 信息流与限制:控制信息可以流向何处,以及绕过这些控制的隐蔽信道。
第19–31章:保证与实践
- 保证与评估:依据既定需求构建并评估系统。
- 恶意软件、漏洞分析、审计与入侵检测:安全中“检测与响应”的一面。
评析
优点
- 理论与实践相结合。 出版社强调“理论与实践之间的深层联系”,全书结构也兑现了这一点:第二、三部分是形式化模型,第四、五部分是机制,随后是评估、攻击分析和实践章节。
- 第二版有实质更新。 出版社列出了关于可用性策略模型和攻击分析的新章节,以及更新的实例和新技术。每章末尾的研究问题与延伸阅读适合研究生课程或独立课题。
- 覆盖面广。 全书在同一框架下涵盖密码学、认证、身份、保证、恶意软件、取证和安全编程,附录提供模型所需的格、逻辑、熵和虚拟机背景。
- 对策略模型讲得深入。 第二、三部分的内容相当详细,包括Take-Grant和图式保护模型、无干扰与不可推断性,以及围绕Bell–LaPadula的争论。
局限
- 篇幅。 约1,440页,远非一门课程所能容纳;更适合作为参考书,由教师或读者从中选读。
- 密码学只是其中一个组成部分。 “基础密码学”约占四十页(第10章为第289–330页),需要密码学严谨性的读者应另配专门教材。
- 形式化的词汇。 基础性结果、策略模型和形式化方法各章用到格和符号逻辑(附录A和E),缺乏离散数学基础的读者需要下功夫才能跟上。
在课程中的定位
在本课程书单中,Bishop 的书最偏形式化、最强调策略。Easttom 的 Computer Security Fundamentals 是面向没有安全背景学生的单卷入门书;Stallings 与 Brown 的 Computer Security: Principles and Practice 是把原理与系统设计和运行联系起来的本科教材;Anderson 的 Security Engineering 通过案例以及安全的经济学和心理学来讨论这一主题;Katz 与 Lindell 的 Introduction to Modern Cryptography 和 Paar 与 Pelzl 的 Understanding Cryptography 在密码学上比 Bishop 的第四部分深入得多。
建议先读一本入门书,再用 Bishop 学习那些入门书只简略介绍的模型、保证与评估内容。
如何使用本书
出版社面向高年级本科生、研究生和IT专业人员。操作系统和离散数学是自然的先修背景,另需一些编程经验。
建议的学习安排:
- 核心: 第1章;然后读第2、4、5、6章,了解访问控制和主要策略模型;读第14章了解设计原则;读第15–16章了解身份与访问控制机制。
- 偏理论的扩展: 第3、9、17、18章(安全性结果、无干扰、信息流、限制问题),以及第19–22章(保证与评估)。
- 偏实践的扩展: 第23–27章(恶意软件、漏洞、审计、入侵检测与攻击),然后是第28–31章的实践部分。
- 密码学: 把第10–13章当作概览来读,需要深入时查阅专门教材。
每章末尾的习题都值得做;关于模型的习题尤其适合亲手写出状态转换。
