出版者的话
译者序
前言
作者简介
符号
第1章 概述 1
1.1 计算机安全的概念 1
1.1.1 计算机安全的定义 1
1.1.2 实例 2
1.1.3 计算机安全面临的挑战 3
1.1.4 一个计算机安全模型 4
1.2 威胁、攻击和资产 6
1.2.1 威胁与攻击 6
1.2.2 威胁与资产 7
1.3 安全功能要求 10
1.4 基本安全设计原则 11
1.5 攻击面和攻击树 14
1.5.1 攻击面 14
1.5.2 攻击树 14
1.6 计算机安全策略 16
1.6.1 安全策略 16
1.6.2 安全实施 17
1.6.3 保证和评估 17
1.7 标准 18
1.8 关键术语、复习题和习题 18
第一部分 计算机安全技术与原理
第2章 密码编码工具 22
2.1 用对称加密实现机密性 22
2.1.1 对称加密 22
2.1.2 对称分组加密算法 23
2.1.3 流密码 25
2.2 消息认证和散列函数 26
2.2.1 利用对称加密实现认证 27
2.2.2 无须加密的消息认证 27
2.2.3 安全散列函数 30
2.2.4 散列函数的其他应用 31
2.3 公钥加密 32
2.3.1 公钥加密的结构 32
2.3.2 公钥密码体制的应用 34
2.3.3 对公钥密码的要求 34
2.3.4 非对称加密算法 34
2.4 数字签名和密钥管理 35
2.4.1 数字签名 35
2.4.2 公钥证书 37
2.4.3 利用公钥加密实现对称密钥交换 38
2.4.4 数字信封 38
2.5 随机数和伪随机数 39
2.5.1 随机数的使用 39
2.5.2 随机与伪随机 40
2.6 实际应用:存储数据的加密 40
2.7 关键术语、复习题和习题 41
第3章 用户认证 46
3.1 数字用户认证方法 46
3.1.1 数字用户认证模型 47
3.1.2 认证方法 48
3.1.3 用户认证的风险评估 48
3.2 基于口令的认证 50
3.2.1 口令的脆弱性 50
3.2.2 散列口令的使用 52
3.2.3 破解“用户选择”口令 53
3.2.4 口令文件访问控制 55
3.2.5 口令选择策略 56
3.3 基于令牌的认证 59
3.3.1 存储卡 59
3.3.2 智能卡 59
3.3.3 电子身份证 60
3.4 生物特征认证 62
3.4.1 用于生物特征认证应用的身体特征 63
3.4.2 生物特征认证系统的运行 63
3.4.3 生物特征认证的准确度 64
3.5 远程用户认证 66
3.5.1 口令协议 66
3.5.2 令牌协议 66
3.5.3 静态生物特征认证协议 67
3.5.4 动态生物特征认证协议 68
3.6 用户认证中的安全问题 68
3.7 实际应用:虹膜生物特征认证系统 69
3.8 案例学习:ATM系统的安全问题 71
3.9 关键术语、复习题和习题 72
第4章 访问控制 75
4.1 访问控制原理 76
4.1.1 访问控制语境 76
4.1.2 访问控制策略 77
4.2 主体、客体和访问权 77
4.3 自主访问控制 78
4.3.1 一个访问控制模型 80
4.3.2 保护域 82
4.4 实例:UNIX文件访问控制 83
4.4.1 传统的UNIX文件访问控制 83
4.4.2 UNIX中的访问控制列表 85
4.5 基于角色的访问控制 85
4.6 基于属性的访问控制 88
4.6.1 属性 89
4.6.2 ABAC逻辑架构 89
4.6.3 ABAC策略 90
4.7 身份、凭证和访问管理 93
4.7.1 身份管理 93
4.7.2 凭证管理 94
4.7.3 访问管理 94
4.7.4 身份联合 94
4.8 信任框架 95
4.8.1 传统的身份交换方法 95
4.8.2 开放的身份信任框架 96
4.9 案例学习:银行的RBAC系统 97
4.10 关键术语、复习题和习题 99
第5章 数据库与云安全 102
5.1 数据库安全需求 102
5.2 数据库管理系统 103
5.3 关系数据库 104
5.3.1 关系数据库系统要素 104
5.3.2 结构化查询语言 105
5.4 SQL注入攻击 107
5.4.1 一种典型的SQLi攻击 107
5.4.2 注入技术 108
5.4.3 SQLi攻击途径和类型 109
5.4.4 SQLi应对措施 110
5.5 数据库访问控制 111
5.5.1 基于SQL的访问定义 111
5.5.2 级联授权 112
5.5.3 基于角色的访问控制 113
5.6 推理 114
5.7 数据库加密 116
5.8 数据中心安全 119
5.8.1 数据中心要素 119
5.8.2 数据中心安全注意事项 119
5.8.3 TIA- 942121
5.9 关键术语、复习题和习题 123
第6章 恶意软件 127
6.1 恶意软件的类型 127
6.1.1 恶意软件的粗略分类 128
6.1.2 攻击工具包 129
6.1.3 攻击源 129
6.2 高级持续性威胁 129
6.3 传播-感染内容-病毒 130
6.3.1 病毒的性质 130
6.3.2 宏病毒和脚本病毒 131
6.3.3 病毒的分类 132
6.4 传播-漏洞利用-蠕虫 134
6.4.1 发现目标 134
6.4.2 蠕虫传播模型 135
6.4.3 Morris蠕虫 136
6.4.4 蠕虫攻击简史 136
6.4.5 蠕虫技术的现状 138
6.4.6 移动代码 139
6.4.7 手机蠕虫 139
6.4.8 客户端漏洞和路过式下载 139
6.4.9 点击劫持 140
6.5 传播-社会工程学-垃圾电子邮件、木马 140
6.5.1 垃圾(大量不请自来的)电子邮件 140
6.5.2 特洛伊木马 141
6.5.3 手机木马 142
6.6 载荷-系统损坏 142
6.6.1 数据损坏和勒索软件 142
6.6.2 物理损害 143
6.6.3 逻辑炸弹 143
6.7 载荷-攻击代理- zombie、bot 144
6.7.1 bot的用途 144
6.7.2 远程控制功能 145
6.8 载荷-信息窃取-键盘记录器、网络钓鱼、间谍软件 145
6.8.1 凭证盗窃、键盘记录器和间谍软件 145
6.8.2 网络钓鱼和身份盗窃 146
6.8.3 侦察、间谍和数据渗漏 146
6.9 载荷-隐蔽-后门、rootkit 147
6.9.1 后门 147
6.9.2 rootkit 147
6.9.3 内核模式下的rootkit 148
6.9.4 虚拟机和其他外部rootkit 149
6.10 对抗手段 150
6.1 0.1 针对恶意软件的对抗措施 150
6.1 0.2 基于主机的扫描器和基于签名的反病毒软件 151
6.1 0.3 边界扫描处理 153
6.1 0.4 分布式情报收集处理 154
6.11 关键术语、复习题和习题 154
第7章 拒绝服务攻击 157
7.1 拒绝服务攻击 157
7.1.1 拒绝服务攻击的本质 158
7.1.2 经典的拒绝服务攻击 159
7.1.3 源地址欺骗 160
7.1.4 SYN欺骗 161
7.2 洪泛攻击 163
7.2.1 ICMP洪泛 163
7.2.2 UDP洪泛 163
7.2.3 TCP SYN洪泛 164
7.3 分布式拒绝服务攻击 164
7.4 基于应用的带宽攻击 165
7.4.1 SIP洪泛 166
7.4.2 基于HTTP的攻击 166
7.5 反射攻击与放大攻击 167
7.5.1 反射攻击 167
7.5.2 放大攻击 170
7.5.3 DNS放大攻击 170
7.6 拒绝服务攻击防范 171
7.7 对拒绝服务攻击的响应 173
7.8 关键术语、复习题和习题 174
第8章 入侵检测 177
8.1 入侵者 177
8.2 入侵检测 180
8.2.1 基本原理 181
8.2.2 基率谬误 182
8.2.3 要求 182
8.3 分析方法 182
8.3.1 异常检测 183
8.3.2 特征或启发式检测 184
8.4 基于主机的入侵检测 184
8.4.1 数据源和传感器 184
8.4.2 异常HIDS 185
8.4.3 特征或启发式HIDS 186
8.4.4 分布式HIDS 187
8.5 基于网络的入侵检测 188
8.5.1 网络传感器的类型 188
8.5.2 NIDS传感器部署 189
8.5.3 入侵检测技术 190
8.5.4 警报日志记录 192
8.6 分布式或混合式入侵检测 192
8.7 入侵检测交换格式 194
8.8 蜜罐 195
8.9 实例系统:Snort 197
8.9.1 Snort体系结构 197
8.9.2 Snort规则 198
8.10 关键术语、复习题和习题 200
第9章 防火墙与入侵防御系统 203
9.1 防火墙的必要性 203
9.2 防火墙的特征和访问策略 204
9.3 防火墙的类型 205
9.3.1 包过滤防火墙 205
9.3.2 状态检测防火墙 208
9.3.3 应用级网关 209
9.3.4 电路级网关 209
9.4 防火墙的布置 210
9.4.1 堡垒主机 210
9.4.2 基于主机的防火墙 210
9.4.3 网络设备防火墙 211
9.4.4 虚拟防火墙 211
9.4.5 个人防火墙 211
9.5 防火墙的部署和配置 212
9.5.1 DMZ网络 212
9.5.2 虚拟专用网络 213
9.5.3 分布式防火墙 214
9.5.4 防火墙部署和拓扑结构小结 215
9.6 入侵防御系统 216
9.6.1 基于主机的IPS 216
9.6.2 基于网络的IPS 217
9.6.3 分布式或混合式IPS 217
9.6.4 Snort Inline 219
9.7 实例:一体化威胁管理产品 219
9.8 关键术语、复习题和习题 221
第二部分 软件和系统安全
第10章 缓冲区溢出 228
10.1 栈溢出 229
10.1.1 缓冲区溢出的基本知识 229
10.1.2 栈缓冲区溢出 232
10.1.3 shellcode 238
10.2 针对缓冲区溢出的防御 243
10.2.1 编译时防御 244
10.2.2 运行时防御 246
10.3 其他形式的溢出攻击 248
10.3.1 替换栈帧 248
10.3.2 返回到系统调用 249
10.3.3 堆溢出 249
10.3.4 全局数据区溢出 251
10.3.5 其他类型的溢出 251
10.4 关键术语、复习题和习题 252
第11章 软件安全 255
11.1 软件安全问题 255
11.2 处理程序输入 258
11.2.1 输入的长度和缓冲区溢出 258
11.2.2 程序输入的解释 259
11.2.3 验证输入语法 264
11.2.4 输入的fuzzing技术 266
11.3 编写安全程序代码 266
11.3.1 算法的正确实现 267
11.3.2 保证机器语言与算法一致 268
11.3.3 数据值的正确解释 269
11.3.4 内存的正确使用 269
11.3.5 阻止共享内存竞争条件的产生 270
11.4 与操作系统和其他程序进行交互 270
11.4.1 环境变量 270
11.4.2 使用合适的最小特权 272
11.4.3 系统调用和标准库函数 274
11.4.4 阻止共享系统资源的竞争条件的产生 276
11.4.5 安全临时文件的使用 277
11.4.6 与其他程序进行交互 278
11.5 处理程序输出 279
11.6 关键术语、复习题和习题 280
第12章 操作系统安全 283
12.1 操作系统安全简介 284
12.2 系统安全规划 284
12.3 操作系统加固 285
12.3.1 操作系统安装:初始安装和补丁安装 285
12.3.2 移除不必要的服务、应用和协议 286
12.3.3 配置用户、组和认证 286
12.3.4 配置资源控制 287
12.3.5 安装额外的安全控制工具 287
12.3.6 测试系统安全性 287
12.4 应用安全 288
12.4.1 应用配置 288
12.4.2 加密技术 288
12.5 安全维护 289
12.5.1 日志 289
12.5.2 数据备份和存档 289
12.6 Linux/UNIX安全 290
12.6.1 补丁管理 290
12.6.2 应用和服务配置 290
12.6.3 用户、组和权限 290
12.6.4 远程访问控制 291
12.6.5 日志记录和日志滚动 291
12.6.6 使用chroot监牢的应用安全 292
12.6.7 安全性测试 292
12.7 Windows安全 292
12.7.1 补丁管理 292
12.7.2 用户管理和访问控制 293
12.7.3 应用和服务配置 293
12.7.4 其他安全控制工具 293
12.7.5 安全性测试 294
12.8 虚拟化安全 294
12.8.1 虚拟化方案 294
12.8.2 虚拟化安全问题 297
12.8.3 加固虚拟化系统 297
12.8.4 虚拟化架构安全 298
12.8.5 虚拟防火墙 298
12.9 关键术语、复习题和习题 299
第13章 云和IoT安全 301
13.1 云计算 301
13.1.1 云计算要素 301
13.1.2 云服务模型 302
13.1.3 云部署模型 303
13.1.4 云计算参考架构 305
13.2 云安全的概念 307
13.2.1 云计算的安全问题 307
13.2.2 解决云计算安全问题 308
13.3 云安全方法 309
13.3.1 风险和对策 309
13.3.2 云上的数据保护 310
13.3.3 云计算资产的安全方法 311
13.3.4 云安全即服务 311
13.3.5 一个开源的云安全模块 313
13.4 物联网 315
13.4.1 物联网上的事物 315
13.4.2 演化 315
13.4.3 物联化事物的组件 315
13.4.4 物联网和云环境 316
13.5 IoT安全 317
13.5.1 修补漏洞 318
13.5.2 IoT安全及ITU-T定义的隐私要求 318
13.5.3 一个IoT安全框架 319
13.5.4 一个开源的IoT安全模块 321
13.6 关键术语和复习题 323
第三部分 管理问题
第14章 IT安全管理与风险评估 326
14.1 IT安全管理 326
14.2 组织的情境和安全方针 329
14.3 安全风险评估 330
14.3.1 基线方法 331
14.3.2 非形式化方法 332
14.3.3 详细风险分析 332
14.3.4 组合方法 332
14.4 详细的安全风险分析 333
14.4.1 情境和系统特征 333
14.4.2 威胁/风险/脆弱性的确认 335
14.4.3 分析风险 336
14.4.4 评价风险 339
14.4.5 风险处置 339
14.5 案例学习:银星矿业 340
14.6 关键术语、复习题和习题 343
第15章 IT安全控制、计划和规程 345
15.1 IT安全管理的实施 345
15.2 安全控制或保障措施 345
15.3 IT安全计划 351
15.4 控制的实施 351
15.4.1 安全计划的实施 352
15.4.2 安全意识与培训 352
15.5 监视风险 352
15.5.1 维护 353
15.5.2 安全符合性 353
15.5.3 变更与配置管理 353
15.5.4 事件处理 354
15.6 案例学习:银星矿业 354
15.7 关键术语、复习题和习题 356
第16章 物理和基础设施安全 358
16.1 概述 358
16.2 物理安全威胁 359
16.2.1 自然灾害 359
16.2.2 环境威胁 360
16.2.3 技术威胁 363
16.2.4 人为的物理威胁 363
16.3 物理安全的防御和减缓措施 364
16.3.1 环境威胁 364
16.3.2 技术威胁 365
16.3.3 人为的物理威胁 365
16.4 物理安全破坏的恢复 366
16.5 实例:某公司的物理安全策略 366
16.6 物理安全和逻辑安全的集成 366
16.6.1 个人身份验证 367
16.6.2 在物理访问控制系统中使用PIV证书 369
16.7 关键术语、复习题和习题 371
第17章 人力资源安全 373
17.1 安全意识、培训和教育 373
17.1.1 动机 373
17.1.2 持续性学习 374
17.1.3 意识、基础知识和素养 375
17.1.4 培训 376
17.1.5 教育 377
17.2 雇用实践和策略 377
17.2.1 招聘过程的安全 378
17.2.2 雇用期间的安全 378
17.2.3 员工离职过程的安全 379
17.3 电子邮件和Internet使用策略 379
17.3.1 动机 379
17.3.2 策略问题 380
17.3.3 制定策略的指南 380
17.4 计算机安全事件响应团队 380
17.4.1 事件检测 382
17.4.2 分类功能 383
17.4.3 事件响应 383
17.4.4 事件归档 384
17.4.5 事件处理的信息流 384
17.5 关键术语、复习题和习题 385
第18章 安全审计 387
18.1 安全审计体系结构 387
18.1.1 安全审计和报警模型 388
18.1.2 安全审计功能 389
18.1.3 需求 390
18.1.4 实施指南 391
18.2 安全审计迹 391
18.2.1 所收集数据的类型 391
18.2.2 保护审计迹数据 394
18.3 实现日志功能 394
18.3.1 系统级日志功能 394
18.3.2 应用程序级日志功能 398
18.3.3 插入库 399
18.3.4 动态二进制重写 401
18.4 审计迹分析 402
18.4.1 准备 402
18.4.2 时间 403
18.4.3 审计复核 403
18.4.4 数据分析方法 404
18.5 安全信息和事件管理 405
18.6 关键术语、复习题和习题 406
第19章 法律与道德问题 408
19.1 网络犯罪和计算机犯罪 408
19.1.1 计算机犯罪的类型 408
19.1.2 执法面临的挑战 410
19.1.3 积极配合执法 411
19.2 知识产权 411
19.2.1 知识产权的类型 411
19.2.2 与网络和计算机安全相关的知识产权 413
19.2.3 数字千年版权法案 413
19.2.4 数字版权管理 414
19.3 隐私 415
19.3.1 隐私权法律和规章 416
19.3.2 机构的回应 417
19.3.3 计算机使用的隐私问题 417
19.3.4 隐私、数据监管、大数据与社交媒体 418
19.4 道德问题 420
19.4.1 道德和IT行业 420
19.4.2 与计算机和信息系统有关的道德问题 420
19.4.3 行为规范 421
19.4.4 规则 423
19.5 关键术语、复习题和习题 424
第四部分 密码编码算法
第20章 对称加密和消息机密性 428
20.1 对称加密原理 428
20.1.1 密码编码学 428
20.1.2 密码分析 429
20.1.3 Feistel密码结构 430
20.2 数据加密标准 431
20.2.1 数据加密标准 431
20.2.2 三重DES 431
20.3 高级加密标准 432
20.3.1 算法综述 432
20.3.2 算法的细节 435
20.4 流密码和RC 4437
20.4.1 流密码的结构 437
20.4.2 RC4算法 438
20.5 分组密码的工作模式 440
20.5.1 电子密码本模式 440
20.5.2 密码分组链接模式 441
20.5.3 密码反馈模式 442
20.5.4 计数器模式 443
20.6 密钥分发 444
20.7 关键术语、复习题和习题 445
第21章 公钥密码和消息认证 450
21.1 安全散列函数 450
21.1.1 简单散列函数 450
21.1.2 SHA安全散列函数 451
21.1.3 SHA- 3453
21.2 HMAC 454
21.2.1 HMAC设计目标 454
21.2.2 HMAC算法 454
21.2.3 HMAC的安全性 455
21.3 认证加密 456
21.4 RSA公钥加密算法 458
21.4.1 算法描述 459
21.4.2 RSA的安全性 460
21.5 Diffie-Hellman和其他非对称算法 463
21.5.1 Diffie-Hellman密钥交换 463
21.5.2 其他公钥密码算法 465
21.6 关键术语、复习题和习题 466
第五部分 网络安全
第22章 Internet安全协议和标准 470
22.1 安全E-mail和S/MIME 470
22.1.1 MIME 470
22.1.2 S/MIME 470
22.2 域名密钥识别邮件标准 472
22.2.1 Internet邮件体系结构 473
22.2.2 DKIM策略 474
22.3 安全套接层和传输层安全 475
22.3.1 TLS体系结构 475
22.3.2 TLS协议 476
22.3.3 SSL/TLS攻击 478
22.4 HTTPS 480
22.4.1 连接开始 480
22.4.2 连接关闭 480
22.5 IPv4和IPv6的安全性 481
22.5.1 IP安全概述 481
22.5.2 IPSec的范围 482
22.5.3 安全关联 482
22.5.4 封装安全载荷 483
22.5.5 传输模式和隧道模式 484
22.6 关键术语、复习题和习题 485
第23章 Internet认证应用 487
23.1 Kerberos 487
23.1.1 Kerberos协议 487
23.1.2 Kerberos域和多Kerberi 490
23.1.3 版本4和版本 5491
23.1.4 性能问题 491
23.2 X. 509492
23.3 公钥基础设施 494
23.4 关键术语、复习题和习题 496
第24章 无线网络安全 498
24.1 无线安全 498
24.1.1 无线网络威胁 499
24.1.2 无线安全防护措施 499
24.2 移动设备安全 500
24.2.1 安全威胁 501
24.2.2 移动安全策略 501
24.3 IEEE 802.11无线局域网概述 503
24.3.1 Wi-Fi联盟 503
24.3.2 IEEE 802 协议架构 503
24.3.3 IEEE 802.11网络组件和架构模型 504
24.3.4 IEEE 802.11服务 505
24.4 IEEE 802.11i无线局域网安全 507
24.4.1 IEEE 802.11i服务 507
24.4.2 IEEE 802.11i的操作阶段 507
24.4.3 发现阶段 509
24.4.4 认证阶段 510
24.4.5 密钥管理阶段 512
24.4.6 保护数据传输阶段 515
24.4.7 IEEE 802.11i伪随机函数 515
24.5 关键术语、复习题和习题 516
附录A 计算机安全教学项目和学生练习 519
缩略语 524
NIST和ISO文件列表 526
参考文献 528
索引 539
在线章节和附录
第25章 Linux安全
第26章 Windows安全
第27章 可信计算与多级安全
附录B 数论的相关内容
附录C 标准和标准制定组织
附录D 随机数与伪随机数的生成
附录E 基于分组密码的消息认证码
附录F TCP/IP协议体系结构
附录G Radix-64转换
附录H 域名系统
附录I 基率谬误
附录J SHA- 3
附录K 术语
· · · · · · (
收起)