《软件安全工程》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:JuliaH.Allen,SeanBarnum,RobertJ.Ellison等著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2009
  • ISBN:9787111264835
  • 页数:222 页
图书介绍:本书阐述了软件安全工程的知识,包括软件安全的构成、软件安全的架构和设计、安全管理等等。

第1章 为什么安全是软件的问题 1

1.1 概述 1

1.2 问题 2

系统复杂性:软件与背景并存 4

1.3 软件保证和软件安全 4

工序和条例在软件安全中的作用 6

1.4 软件安全的威胁 7

1.5 软件不安全的来源 8

1.6 早期检测软件安全漏洞的好处 9

为软件安全设计案例:当前状态 12

1.7 软件安全开发管理 14

1.7.1 我该提出哪些安全策略问题 14

1.7.2 软件安全的风险管理框架 15

1.7.3 开发周期中的软件安全条例 15

1.8 小结 17

第2章 安全软件的构成 19

2.1 概述 19

2.2 定义安全软件的属性 19

2.2.1 安全软件的核心属性 20

2.2.2 安全软件的相关属性 21

2.3 如何改善软件的安全属性 26

2.3.1 防御者视角 27

2.3.2 攻击者视角 32

2.4 如何确定所需的安全属性 42

2.4.1 构建安全保证案例 42

2.4.2 安全保证案例的例子 44

2.4.3 将保证案例融入到软件开发周期中 46

2.4.4 其他安全保证相关和合法的工作 47

2.4.5 维持保证案例并从中获益 48

2.5 小结 49

第3章 安全软件的需求工程 50

3.1 概述 50

3.1.1 需求工程的重要性 50

3.1.2 质量需求 51

3.1.3 安全需求工程 52

3.2 误用和滥用案例 53

3.2.1 安全不是一套功能 54

3.2.2 想想你不能做什么 55

3.2.3 构建有用的误用案例 55

3.2.4 一个误用的例子 56

3.3 SQUARE过程模型 58

3.3.1 SQUARE的简单描述 59

3.3.2 工具 61

3.3.3 预期结果 61

3.4 SQUARE样本输出 62

3.4.1 SQUARE各个步骤的输出 62

3.4.2 SQUARE的最终结果 67

3.5 需求启发 67

3.5.1 各种启发式方法概览 68

3.5.2 启发评估标准 70

3.6 需求排序 72

3.6.1 确定候选的排序方法 72

3.6.2 排序方法的比较 75

3.6.3 需求排序的一些建议 76

3.7 小结 76

第4章 软件安全的架构和设计 78

4.1 概述 78

4.1.1 架构和设计的重要性 78

4.1.2 问题和挑战 79

4.2 软件架构和设计安全条例:架构风险分析 80

4.2.1 软件特性描述 81

4.2.2 威胁分析 84

4.2.3 架构性漏洞评估 86

4.2.4 确定风险可能性 89

4.2.5 确定风险影响 90

4.2.6 风险降低计划 91

4.2.7 架构风险分析简要回顾 93

4.3 架构和设计的软件安全知识:安全原则、安全方针和攻击模式 93

4.3.1 安全原则 94

4.3.2 安全方针 98

4.3.3 攻击模式 101

4.4 小结 101

第5章 安全编码和测试 103

5.1 概述 103

5.2 代码分析 103

5.2.1 常见软件编码漏洞 104

5.2.2 源码审查 106

5.3 编码条例 109

安全编码的附加信息 110

5.4 软件安全测试 111

5.4.1 比较软件测试和软件安全测试 112

5.4.2 功能测试 114

5.4.3 基于风险的测试 115

5.5 软件开发前后考虑安全测试 118

5.5.1 单元测试 119

5.5.2 测试库文件和可执行文件 119

5.5.3 集成测试 120

5.5.4 系统测试 120

5.5.5 软件安全测试的附件信息来源 122

5.6 小结 123

第6章 安全性和复杂性:系统集成的挑战 125

6.1 概述 125

6.2 安全故障 127

6.2.1 错误分类 128

6.2.2 攻击者行为 129

6.3 从功能和攻击者视角看安全分析:两个例子 129

6.3.1 Web服务:功能视角 130

6.3.2 Web服务:攻击者视角 131

6.3.3 身份管理:功能视角 134

6.3.4 身份管理:攻击者视角 135

6.3.5 身份管理和软件开发 137

6.4 系统复杂性驱动和安全 138

6.4.1 更广泛的故障 140

6.4.2 增量式开发和渐进式开发 144

6.4.3 冲突或目标改变的复杂性 145

6.5 深层技术问题的复杂性 146

6.6 小结 148

第7章 软件安全的控制和管理 150

7.1 概述 150

7.2 控制和安全 151

7.2.1 安全控制的定义 151

7.2.2 有效的安全控制和管理的特征 152

7.3 采用一种企业级的软件安全框架 154

7.3.1 常见的陷阱 155

7.3.2 设计方案框架 157

7.3.3 定义方向 160

7.4 多高的安全性才足够 161

7.4.1 定义充分的安全性 161

7.4.2 软件安全风险管理框架 162

7.5 安全管理和项目管理 167

7.5.1 项目规模 167

7.5.2 项目计划 168

7.5.3 资源 171

7.5.4 估计所需资源的性质和持续周期 172

7.5.5 项目和产品风险 173

7.5.6 软件安全的度量 174

7.6 条例的成熟度 177

7.6.1 保护信息 177

7.6.2 审计部的任务 178

7.6.3 操作性恢复与收敛 178

7.6.4 法律的角度 179

7.6.5 软件工程师的角度 180

7.6.6 规范 181

7.7 小结 182

第8章 开始 183

8.1 从哪里开始 184

8.2 写在最后 190

术语表 192

参考文献 199

Build Security In网站参考目录 218