内容简介
计算机安全是信息科学与技术中极为重要的研究领域之一。本书覆盖了计算机安全中的各个方面,不仅包括相关 技术和应用,还包含管理方面的内容。全书包括 5 个部分共 24 章:第 1 部分计算机安全技术和原理,涵盖了支持有 效安全策略所必需的所有技术领域;第 2 部分软件安全和可信系统,主要涉及软件开发和运行带来的安全问题及相应 的对策;第 3 部分管理问题,主要讨论信息安全与计算机安全在管理方面的问题,以及与计算机安全相关的法律与道 德方面的问题;第 4 部分密码编码算法,包括各种类型的加密算法和其他类型的密码算法;第 5 部分网络安全,关注 的是为在 Internet 上进行通信提供安全保障的协议和标准及无线网络安全等问题。每章都附有习题并介绍了相关阅读 材料,以便有兴趣的读者进一步钻研探索。
本书在保持前四版特色的同时,特别补充了计算机安全领域的新进展和新技术,以反映计算机安全领域新的发展 状况。本书可作为高等院校网络空间安全相关专业的本科生或研究生教材,也可供专业技术人员或学术研究人员阅读 参考。
目录
第1章 概述 1
1.1 计算机安全的概念 2
1.2 威胁、攻击和资产 7
1.3 安全功能要求 12
1.4 基本安全设计原则 13
1.5 攻击面和攻击树 16
1.6 计算机安全策略 19
1.7 标准 20
1.8 关键术语、复习题和习题 21
第一部分 计算机安全技术与原理
第2章 密码编码工具 24
2.1 用对称加密实现机密性 25
2.2 消息认证和哈希函数 30
2.3 公钥加密 36
2.4 数字签名和密钥管理 39
2.5 随机数和伪随机数 43
2.6 实际应用:存储数据的加密 45
2.7 关键术语、复习题和习题 46
第3章 用户认证 50
3.1 数字用户认证方法 51
3.2 基于口令的认证 55
3.3 基于令牌的认证 64
3.4 生物特征认证 71
3.5 远程用户认证 75
3.6 用户认证中的安全问题 77
3.7 实际应用:虹膜生物特征认证系统 79
3.8 案例学习:ATM系统的安全问题 80
3.9 关键术语、复习题和习题 83
第4章 访问控制 85
4.1 访问控制原理 87
4.2 主体、客体和访问权 89
4.3 自主访问控制 90
4.4 实例:UNIX文件访问控制 95
4.5 强制访问控制 97
4.6 基于角色的访问控制 99
4.7 基于属性的访问控制 104
4.8 身份、凭证和访问管理 108
4.9 信任框架 111
4.10 案例学习:银行的RBAC系统 114
4.11 关键术语、复习题和习题 116
第5章 数据库与数据中心安全 120
5.1 数据库安全需求 121
5.2 数据库管理系统 122
5.3 关系数据库 123
5.4 SQL注入攻击 127
5.5 数据库访问控制 131
5.6 推理 135
5.7 数据库加密 137
5.8 数据中心安全 140
5.9 关键术语、复习题和习题 144
第6章 恶意软件 149
6.1 恶意软件的类型 150
6.2 高级持续性威胁 152
6.3 传播-感染内容-病毒 153
6.4 传播-漏洞利用-蠕虫 157
6.5 传播-社会工程学-垃圾电子邮件、木马 165
6.6 载荷-系统损坏 167
6.7 载荷-攻击代理-僵尸程序(zmobie,bots) 169
6.8 载荷-信息窃取-键盘记录器、网络钓鱼、间谍软件 170
6.9 载荷-隐蔽-后门、rootkit 172
6.10 对抗手段 175
6.11 关键术语、复习题和习题 180
第7章 拒绝服务攻击 184
7.1 拒绝服务攻击 185
7.2 洪泛攻击 191
7.3 分布式拒绝服务攻击 193
7.4 基于应用程序的带宽攻击 194
7.5 反射攻击与放大攻击 196
7.6 拒绝服务攻击防范 201
7.7 对拒绝服务攻击的响应 203
7.8 关键术语、复习题和习题 204
第8章 入侵检测 207
8.1 入侵者 208
8.2 入侵检测 213
8.3 分析方法 215
8.4 基于主机的入侵检测 217
8.5 基于网络的入侵检测 221
8.6 分布式或混合式入侵检测 226
8.7 入侵检测交换格式 228
8.8 蜜罐 229
8.9 实例系统:Snort 231
8.10 关键术语、复习题和习题 235
第9章 防火墙与入侵防御系统 238
9.1 防火墙的必要性 239
9.2 防火墙的特征和访问策略 240
9.3 防火墙的类型 241
9.4 防火墙的布置 246
9.5 防火墙的部署和配置 249
9.6 入侵防御系统 253
9.7 实例:一体化威胁管理产品 256
9.8 关键术语、复习题和习题 260
第二部分 软件和系统安全
第10章 缓冲区溢出 266
10.1 栈溢出 268
10.2 针对缓冲区溢出的防御 286
10.3 其他形式的溢出攻击 290
10.4 关键术语、复习题和习题 296
第11章 软件安全 298
11.1 软件安全问题 299
11.2 处理程序输入 303
11.3 编写安全程序代码 312
11.4 与操作系统和其他程序进行交互 316
11.5 处理程序输出 326
11.6 关键术语、复习题和习题 327
第12章 操作系统安全 330
12.1 操作系统安全简介 332
12.2 系统安全规划 332
12.3 操作系统加固 333
12.4 应用安全 336
12.5 安全维护 337
12.6 Linux/UNIX安全 338
12.7 Windows安全 341
12.8 虚拟化安全 343
12.9 可信的计算机系统 349
12.10 可信平台模块 351
12.11 关键术语、复习题和习题 355
第13章 云和IoT安全 357
13.1 云计算 358
13.2 云安全的概念 364
13.3 云安全方法 367
13.4 物联网(IoT) 373
13.5 IoT安全 376
13.6
前言/序言
第五版新增内容
自本书第四版出版以来,计算机安全领域的知识又持续性地出现了一些发展和创新。在新的版本中,我们试图捕获和展现这些新的发展和创新,同时,保持对整个领域的广泛和全面的覆盖。第五版进行了大量改进,使其更加适用于教学并易于阅读。同时,我们也更新了参考资料,引入了最新的安全事件。此外,还有一些更实质性的改动贯穿全书。以下是其中一些最明显的修订。
多因素身份认证和移动身份认证(multi-factor authentication and mobile authentication):第3章新增了多因素身份认证(multi-factor authentication,MFA)的相关内容。新增内容要求用户提供两个或更多的证据(或因素)来验证他们的身份。这种方法越来越多地被应用于解决仅使用口令进行身份验证的已知问题,通常涉及使用硬件身份验证令牌、通过短信(SMS)或移动设备上的身份验证应用程序来实现。
强制访问控制(mandatory access control,MAC):第4章包含一些有关强制访问控制的修订内容,这些内容曾在在线版的第27章中提及。近期发布的一些Linux、macOS和Windows系统已经将这些控制作为底层安全增强功能的一部分。
社会工程学和勒索软件攻击(social engineering and ransomware attacks):第6章和第8章更新了关于社会工程学及其在勒索软件攻击中的应用讨论。这反映了此类攻击事件发生率的不断提高以及开展防御的必要性。正如在第17章所讨论的,这些防御措施包括加强安全意识培训。
供应链和商业电子邮件攻击(supply-chain and business email compromise attacks):第8章增加了关于供应链和商业电子邮件攻击(business email compromise,BEC)的内容,其中包括最近的SolarWinds攻击。近年来,许多商业和政府组织都受到了此类攻击的威胁。
更新最危险软件错误列表(updated list of the most dangerous software errors):第11章提供了最新的25个最危险软件错误列表。同时,本章还讨论了最近被广泛利用的针对Apache Log4j包的代码注入攻击。
更新基本控制列表(updated list of essential controls):第12章更新了基本控制列表,包括澳大利亚信号局的“基本八项”。所有组织都应采用这些策略来提高其操作系统的安全性。
可信计算机系统(trusted computer systems):第12章包含一些关于可信计算机系统的修订讨论,这些讨论曾在在线版的第27章中提及,与某些政府组织中使用的安全系统相关。
更新安全控制列表(updated list of security controls):第15章大幅度更新了NIST安全控制列表,在解决组织中已识别的安全风险时应考虑这些安全控制。
安全意识和培训(security awareness and training):第17章包含对人员安全意识和培训的大幅修订。鉴于由故意或意外的人员行为导致的安全事件不断增加,本章内容尤为重要。
欧盟通用数据保护条例(European Union General Data Protection Regulation):第19章新增了一节,介绍欧盟2016年颁布的通用数据保护条例。该条例实际上是全球个人数据保护、收集、访问和使用的标准。
ChaCha20流密码(the ChaCha20 stream cipher):第20章新增了一节,详细介绍ChaCha20流密码,替代了现已废弃的RC4密码的相关内容。
伽罗瓦计数器模式(Galois counter mode):附录E对用于分组密码的新型伽罗瓦计数器认证加密模式进行详细介绍。
背景
近几年,人们在高等教育中对计算机安全及相关主题的关注程度与日俱增。导致这一状况的因素很多,其中两个突出的因素是:
(1)由于信息系统、数据库和基于Internet的分布式系统与通信已经广泛应用于商业领域,再加上愈演愈烈的各种与安全相关的攻击,各类组织机构现在开始意识到必须拥有一个全面的信息安全策略。这个策略包括使用特定的硬件与软件和训练专业人员等。
(2)计算机安全教育,也就是通常所说的信息安全教育(information security education)或者信息保障教育(information assurance education)。由于与国防和国土安全密切相关,在美国和其他许多国家,计算机安全教育已经成为一个国家目标。许多组织,如信息系统安全教育委员会(the Colloquium for Information System Security Education)和国家安全局(the National Security Agency’s,NSA’s)的信息保障课件评估组织(Information Assurance Courseware Evaluation (IACE) Program),以政府的身份领导着计算机安全教育标准的制定。
由此可预见,关于计算机安全的课程在未来的大学、社区学院和其他与计算机安全及相关领域相关的教育机构中会越来越多。
目标
本书的目标是概览计算机安全领域的最新发展状况。计算机安全设计者和安全管理者面临的核心问题主要包括定义计算机和网络系统面临的威胁、评估这些威胁可能导致的风险,以及制定应对这些威胁的恰当的、便于使用的策略。