目录 2
译者序 2
前言 2
第一部分体系结构和安全性 2
第1章体系结构评估 2
1.1软件过程 2
1.2评估和软件开发周期 3
1 3软件过程和体系结构模型 3
1.3.1 Kruchten的4+1视图模型 4
1.3.2开放分布式处理参考模型 5
1.3.3 Rationa1的统一过程 6
1.4软件过程和安全性 7
1.5系统体系结构评估 8
1.5.1体系结构文档 9
1.5.2介绍部分 9
1.5.3体系结构文档的部分 11
1.5.4体系结构评估报告 13
1.6结论 13
第2章安全性评估 15
2.1什么是安全性评估 15
2.2组织机构观点 15
2.3五级一致性模型 16
2.4系统观点 17
2.5.1安全性评估会议 18
2.5评估前的准备 18
2.5.2安全性评估资产负债表模型 19
2.53描述应用安全性过程 20
2.5.4确定资产 21
2.5.5确定安全性弱点和威胁 21
2.5.6确定潜在的风险 21
2.5.7威胁和对策举例 22
2.6评估前的工作 23
2.7为什么评估如此困难 24
2.7.1根据价值确定费用 24
2.7.2为什么安全性评估类似背包问题 25
2.7.3为什么安全性评估和背包问题不同 27
2.8结论 28
2.7.4企业安全性和低分摊费用的 28
安全性控制 28
第3章安全性体系结构基础 30
3.1安全性作为一个体系结构目标 30
3.1.1企业安全性策略和体系结构 32
3.1.2供应商 32
3.2安全性和软件体系结构 34
3.2.1系统安全性体系结构定义 34
3.2.2安全性和软件过程 35
3.2.3针对其他目标的安全性设计力量 36
3.4其他的安全性相关属性 37
3.3安全性原则 37
3.5其他抽象或难以提供的属性 38
3.5.1推断 38
3.5.2聚合 39
3.5.3最小权限 39
3.5.4自提升 39
3.5.5优美的失效 40
3.5.6安全 41
3.6认证 41
3.6.1用户ID和密码 41
3.6.3生物特征认证方案 42
3.6.2令牌 42
3.6.4认证架构 43
3.7授权 43
3.8访问控制模型 43
3.8.1强制访问控制模型 43
3.8.2自由访问控制模型 44
3.8.3基于角色的访问控制 45
3.8.4访问控制规则 48
3.8.5了解应用的访问需求 50
3.9其他核心的安全性属性 51
3.10分析一般性系统 51
3.11结论 53
4.1模式目标 54
第4章安全性体系结构模式 54
4.2常用术语 55
4.3体系结构原则和模式 55
4.4安全性模式类别 56
4.5实体 57
4.6相关环境持有者 58
4.6.1会话对象和cookie 58
4.6.2票证/令牌 59
4.6.3警戒标记 59
4.6.4角色 60
4.7服务提供者 60
4.7.1 目录 61
4.7.2可信第三方 62
4.7.3验证者 63
4.8通道要素 64
4.8.1包容器 64
4.8.2过滤器 65
4.8.3拦截器 67
4.8.4代理 68
4.9平台 69
4.9.1传输隧道 70
4.9.2分配器 70
4.9.3集中器 71
4.9.4层次 71
4.9.6沙盒 73
4.9.5升降器 73
4.9.7 magic模式组件 75
4.10结论 76
第二部分低级体系结构 78
第5章代码检查 78
5.1代码检查的重要性 78
5.2缓冲溢出攻击 79
5.2.1切换UNIX中的执行环境 81
5.2.2构造缓冲区溢出攻击 81
5.23栈帧的组成部分 82
5.3针对缓冲区溢出攻击的对策 83
5.3.1避免 83
5.2.4为什么缓冲区溢出攻击如此普遍 83
53.2通过验证程序来避免 84
533警戒标记 84
5.3.4层次 84
5.3.5沙盒 85
5.3.6包容器 86
5.3.7拦截器 86
5.4为什么可以采用的模式如此之多 87
5.4.1栈扩展重定向 88
5.4.2硬件支持 88
5.5安全性和Per1 88
5.5.1语法检查 89
5.5.3沙盒 90
5.5.2警戒标记 90
5.6 Java中的字节码检查 91
5.7良好的编码实践才能得到安全的代码 92
5.8结论 93
第6章加密技术 95
6.1加密技术的历史 95
6.2加密工具箱 97
6.3单向函数 98
6.4加密 98
6.5对称加密 98
6.6非对称加密 100
6.8加密散列函数 101
6.7数字生成 101
6.9认证和数字证书 102
6.10数字签名 103
6.10.1经过签署的消息 103
6.10.2数字信封 103
6.11密钥管理 104
6.12密码分析 105
6.12.1差异密码分析 105
6.12.2线性密码分析 105
6.13加密技术和系统体系结构 105
6.14创新和接受 106
6.15.2协议曲解 107
6.15.1算法缺陷 107
6.15加密解决方案中的缺陷 107
6.15.3实现错误 108
6.15.4 WEP算法 108
6.16性能 109
6.17加密协议比较 110
6.18结论 111
第7章可信的代码 112
7.1在系统中加入信任基础设施 112
7.2 Java沙盒 113
7.2.1在浏览器中运行小应用程序 114
7.2 4本地和全局基础设施 115
7.2 3本地安全性策略定义 115
7.2 2本地基础设施 115
7.2.5.Java中的安全性扩展 116
7.2.6系统体系结构 116
73微软认证码 116
7.3.1全局基础设施 117
7.3.2本地基础设施 117
7.33本地计算机中的结构 117
73.4认证码和安全性 118
7.4 Internet Exp1orer区域 118
7.4.1自定义区域中的安全性 118
7 4.2基于角色的访问控制 118
7.5 Netscape.对象签名 120
7.4.3接受来自下载内容的指令 120
7.6在企业中实施信任 121
7.7保护数字知识产权 122
7.8 Ken Thompson的特洛伊木马编译器 126
7.8.1一些用于编译器和程序的符号标记 127
7.8.2自我再生的程序 127
7.8.3查找签名 129
7.8.4进一步的思考 130
7.9留给读者的习题 131
7.10结论 131
第8章安全通信 133
8.1 OSI和TCP/IP协议栈 133
8.3.1 SSL属性 135
8.2安全通信的结构 135
8.3 SSL协议 135
8.3.2 SSL记录协议 136
8.3.3 SSL握手协议 137
8.3.4 SSL问题 138
8.4 IPSec标准 139
8.4.1 IPSec体系结构层次 140
8.4 2 IPSec概述 140
8.4.3策略管理 141
8.4.4 IPSec传输模式和隧道模式 142
8.4.5 IPSec实现 142
8.4.8 IKE协议 143
8.4.7 ESP协议 143
8.4.6 AH协议 143
8.4.9安全IPSec数据报的一些例子 144
8.5 IPSec主机体系结构 145
8.6结论 147
第三部分中级体系结构 150
第9章中间件安全性 150
9.1中间件和安全性 150
9.1.1服务访问 150
9.1.2服务配置 151
9.1.3事件管理 151
9.1.6安全性问题 152
9.1.7可重用服务 152
9.1.5并发和同步 152
9.1.4分布式数据管理 152
9.2绝对可靠性假设 153
9.3 CORBA 154
9.4OMG CORBA安全标准 155
9.4.1 C0RBA安全性服务规范 155
9.4.2规范中的软件包和模块 155
9.5 CORBA安全性的供应商实现 157
9.6 CORBA安全性级别 157
9.7保护互操作性 158
9.7.1安全ORB协议 158
9.7.2通过SSL的安全通信 159
9.7.3 SSL为什么受欢迎 160
9.8应用程序无意识的安全性 161
9.9应用程序有意识的安全性 162
9.10应用蕴涵 163
9.11结论 164
第10章Web安全性 166
10.1 Web安全性问题 167
10.2 Web应用程序体系结构 168
10.3 Web应用程序安全性选项 169
10.4.1活动内容 171
10.4.2脚本语言 171
10.4保护Web客户端 171
10.4.3浏览器插件和辅助应用程序 172
10.4 4浏览器配置 172
10.5连接安全性 172
10.6保护Web服务器主机 173
10.7保护Web服务器 175
10.7.1认证选项 175
10 7.2 Web立用程序配置 176
10.73文档访问控制 176
10.7.4 CGI脚本 176
10.7.5 JavaScript 177
10.7.6 Web服务器体系结构扩展 177
10.9.Java 2企业版标准 178
10.8企业级Web服务器体系结构 178
10.9.1服务器端Java 179
10.9.2 Java servlet 179
10.93 servlet和声明性访问控制 180
10.9.4 EJB 181
10.10结论 181
第11章应用和操作系统安全性 182
11.1操作系统结构 183
11.2应用的结构 185
11.3应用和操作系统的安全性问题 186
11.3.2进程安全性问题 187
11.3.1硬件安全性问题 187
11.33软件总线安全性问题 188
11 3.4数据安全性问题 188
11.3.5网络安全性问题 188
11.3.6配置安全性问题 189
11.3.7操作、管理和维护的安全性问题 189
11.4保护网络服务的安全 190
11.5 UNIX可插拔认证模块 191
11.6 UNIX访问控制列表 192
11.6.1 Solaris访问控制列表 194
11.6.2 HP-UX访问控制列表 197
11.7结论 197
12.1数据库安全性的变革 198
第12章数据库安全性 198
12.2体系结构组件及安全性 200
12.3数据库安全连接 202
12.4基于角色的访问控制 203
12.4.1数据字典 204
12.4.2数据库对象权限 204
12.43有关基于角色访问控制的问题 204
12.5数据库视图 205
12.6基于面向对象封装的安全性 206
12.7SOL过程扩展 207
12.7.1包容器 207
12.7.2警戒标记 208
12.8通过限制性子句实现的安全性 209
12.9 0racle标签安全性 210
12.10结论 214
第四部分高级体系结构 216
第13章安全性组件 216
13.1安全的单点登录 217
13.1.1脚本解决方案 218
13.1.2强安全性、共享的认证 218
13.1.3网络认证 219
13.1.4 SSSO问题 219
13.2公钥基础设施 221
13.2.2注册授权机构 222
13.2.3仓库 222
13.2.1证书授权机构 222
13.2.4证书持有者 223
13.2.5证书验证者 223
13.2.6 PKI使用和管理 223
13.2.7 PKI的运行问题 223
13.3防火墙 224
13.3.1防火墙配置 225
13.3.2防火墙的局限性 225
13.4入侵检测系统 226
13.5 LDAP和X.500目录 . 228
13.5.2体系结构问题 229
13 5.1轻量级目录访问协议 229
13.5.3 Kerberos 230
13.5.4 Windows 2000中的Kerberos组件 231
13.6分布式计算环境 232
13.7 SSH 234
13.8分布式沙盒 234
13.9结论 236
第14章安全性和其他体系结构目标 237
14.1非功能性目标的指标 237
14.2围绕安全性的力量图 237
14.2.1通常的体系结构设计 238
14.2.2良好的体系结构设计 240
14.3高可用性 241
14.4健壮性 243
14.4.1二进制补丁 244
14.4.2安全生问题 245
14.5事件重建 245
14.6易用性 246
14.7可维护性、适应性和变革 248
14.8可扩展性 249
14.9互操作性 250
14.10性能 250
14.11可移植性 253
14.12结论 254
第15章企业安全性体系结构 256
1 5.1.2安全性数据 257
15.1把安全性作为一个过程 257
15.1.1应用安全性策略 257
15.1.3记录数据库 258
15 2作为数据管理问题的企业安全性 258
15.2.1安全性策略仓库 259
15.2.2用户仓库 259
15.2.3安全性配置仓库 260
15.2.4应用资产仓库 260
15.2.5威胁仓库 261
15.2.6安全性弱点仓库 261
15.3数据管理工具 262
15.3.1安全性专业技术的自动化 262
15.3.2安全性数据管理的方向 263
15.4 David Isenberg和“愚蠢的网络” 264
15.5可扩展标记语言 265
15.6 XML安全性服务的信令层 266
15.7 XML和安全性标准 266
15.7.1.J2EE Servlet安全性规范 267
15.7.2 XML签名 267
15.7.3 XML加密 268
15.7.4 S2ML 268
15.7.5 SAML 269
15.7.6 XML密钥管理服务 269
15.7.7 XML和其他加密原语 270
15.8安全性模式类目回顾 270
15.9支持XML的安全性数据 271
15.10 HGP:一个数据管理的案例研究 272
15.11结论 274
第五部分安全性商业案例 276
第16章建立安全性商业案例 276
16.1概述 276
16.2计算机窃取及欺骗所引起的财务损失 277
16.3 Invita结构案例研究 279
16.4 Invita Security公司中的安全性 281
16.5商业案例的有关情况 282
16.5.1开发费用 282
16.5.2运行费用 283
16 6.1利率函数 284
16.6暂停1:金融公式 284
16.6.2净现值 285
16.6.3内部利润率 285
16.6.4偿还周期 285
16.6.5统一支付 285
16.7收支-平衡分析 285
16.8暂停2:节约费用模型的假设 286
16.8.1节省费用模型中的假设 286
16.8.2稳态损失 287
16.8.3网络中断引起的灾难性损失 287
16.9封闭会议议程 288
16.9.1稳态损失 289
16.9.2灾难性损失 290
16 9.3演示 291
16.9.4给攻击上保险 292
16.9.5商业案例的结论 292
16.10对商业案例的评论 293
16.11保险与计算机安全 294
16.11.1黑客险 295
16.11.2保险定价方法 296
16.12结论 297
第17章结论 298
缩略语词汇表 302
参考书目 308