编辑推荐
软件安全专家阐述如何把安全理念融入软件的设计和开发过中写出具有安全防护功能的代码
内容简介
本书阐述什么是人类可控制管理的安全软件开发过程,给出一种基于经验的方法,来构建好用的安全软件开发模型,以应对安全问题,并在安全软件开发模型中解决安全问题。本书分为三部分,共10章。第1章简要介绍软件安全领域的主题及其重要性;第2章讲解软件安全的难点以及SDL框架。第3~8章揭示如何将SDL及其实践映射到一个通用的SDLC框架。第9章从资深软件安全架构师的角度给出关于成功方案的看法,并且解读在开发安全软件时针对典型挑战的一些真实方法。第10章结合现实世界中的安全威胁,描述如何用合理的架构设计、实现与管理的SDL程序来提高安全性。
目录
出版者的话
序
前言
作者简介
第1章 引论 1
1.1 软件安全的重要性和相关性 1
1.2 软件安全和软件开发生命周期 4
1.3 代码的质量与安全 6
1.4 SDL三个最重要的安全目标 6
1.5 威胁建模和攻击面验证 7
1.6 本章小结:期望从本书中学到什么 8
参考文献 8
第2章 安全开发生命周期 11
2.1 克服软件安全中的挑战 11
2.2 软件安全成熟度模型 12
2.3 ISO/IEC 27034:信息技术、安全技术、应用安全 13
2.4 其他SDL最佳实践的资源 14
2.4.1 SAFECode 14
2.4.2 美国国土安全软件保障计划 14
2.4.3 美国国家标准与技术研究院 15
2.4.4 MITRE公司公共计算机漏洞和暴露 16
2.4.5 SANS研究所高级网络安全风险 17
2.4.6 美国国防部网络安全与信息系统信息分析中心 17
2.4.7 CERT、Bugtraq和SecurityFocus 17
2.5 关键工具和人才 17
2.5.1 工具 18
2.5.2 人才 19
2.6 最小特权原则 21
2.7 隐私 22
2.8 度量标准的重要性 22
2.9 把SDL映射到软件开发生命周期 24
2.10 软件开发方法 28
2.10.1 瀑布开发 28
2.10.2 敏捷开发 29
2.11 本章小结 31
参考文献 31
第3章 安全评估(A1):SDL活动与最佳实践 35
3.1 软件安全团队提早参与项目 35
3.2 软件安全团队主持发现会议 37
3.3 软件安全团队创建SDL项目计划 37
3.4 隐私影响评估计划启动 38
3.5 安全评估(A1)成功的关键因素和度量标准 41
3.5.1 成功的关键因素 41
3.5.2 可交付成果 43
3.5.3 度量标准 44
3.6 本章小结 44
参考文献 44
第4章 架构(A2):SDL活动与最佳实践 46
4.1 A2策略一致性分析 46
4.2 SDL策略评估和范围界定 48
4.3 威胁建模/架构安全性分析 48
4.3.1 威胁建模 48
4.3.2 数据流图 50
4.3.3 架构威胁分析和威胁评级 53
4.3.4 风险缓解 65
4.4 开源选择 68
4.5 隐私信息收集和分析 69
4.6 成功的关键因素和度量标准 69
4.6.1 成功的关键因素 69
4.6.2 可交付成果 70
4.6.3 度量标准 70
4.7 本章小结 71
参考文献 71
第5章 设计和开发(A3):SDL活动与最佳实践 74
5.1 A3策略一致性分析 74
5.2 安全测试计划构成 74
5.3 威胁模型更新 81
5.4 设计安全性分析和检查 81
5.5 隐私实现评估 83
5.6 成功的关键因素和度量标准 85
5.6.1 成功的关键因素 85
5.6.2 可交付成果 86
5.6.3 度量标准 87
5.7 本章小结 88
参考文献 88
第6章 设计和开发(A4):SDL活动与最佳实践 90
6.1 A4策略一致性分析 90
6.2 安全测试用例执行 92
6.3 SDLC/SDL过程中的代码审查 94
6.4 安全分析工具 97
6.4.1 静态分析 99
6.4.2 动态分析 101
6.4.3 模糊测试 103
6.4.4 人工代码审查 104
6.5 成功的关键因素 106
6.6 可交付成果 107
6.7 度量标准 107
6.8 本章小结 108
参考文献 108
第7章 发布(A5):SDL活动与最佳实践 111
7.1 A5策略一致性分析 111
7.2 漏洞扫描 113
7.3 渗透测试 114
7.4 开源许可审查 116
7.5 最终安全性审查 117
7.6 最终隐私性审查 119
7.7 成功的关键因素 120
7.8 可交付成果 121
7.9 度量标准 122
7.10 本章小结 122
参考文献 124
第8章 发布后支持(PRSA1~5) 125
8.1 合理调整软件安全组 125
8.1.1 正确的组织定位 125
8.1.2 正确的人 127
8.1.3 正确的过程 127
8.2 PRSA1:外部漏洞披露响应 130
8.2.1 发布后的PSIRT响应 130
8.2.2 发布后的隐私响应 133
8.2.3 优化发布后的第三方响应 133
8.3 PRSA2:第三方审查 134
8.4 PRSA3:发布后认证 135
8.5 PRSA4:新产品组合或云部署的内部审查 135
8.6 PRSA5:安全架构审查和基于工具评估当前、遗留以及并购的产品和解决方案 136
8.6.1 遗留代码 136
8.6.2 兼并和收购 137
8.7 成功的关键因素 138
8.8 可交付成果 139
8.9 度量标准 140
8.10 本章小结 140
参考文献 140
第9章 将SDL框架应用到现实世界中 142
9.1 引言 142
9.2 安全地构建软件 145
9.2.1 编写安全的代码 146
9.2.2 人工代码审查 149
9.2.3 静态分析 150
9.3 确定每个项目的正确行为 153
9.4 架构和设计 161
9.5 测试 167
9.5.1 功能测试 168
9.5.2 动态测试 168
9.5.3 攻击和渗透测试 171
9.5.4 独立测试 172
9.6 敏捷:冲刺 172
9.7 成功的关键因素和度量标准 175
9.7.1 安全编码培训计划 175
9.7.2 安全编码框架(API) 175
9.7.3 人工代码审查 176
9.7.4 独立代码审查和测试(专家或第三方) 176
9.7.5 静态分析 176
9.7.6 风险评估法 176
9.7.7 SDL和SDLC的集成 176
9.7.8 架构人才的发展 176
9.8 度量标准 177
9.9 本章小结 177
参考文献 178
第10章 集成:应用SDL防止现实的威胁 180
10.1 战略、战术和特定于用户的软件攻击 180
10.1.1 战略攻击 181
10.1.2 战术攻击 182
10.1.3 特定于用户的攻击 182
10.2 应用适当设计、管理和集中的SDL克服组织与业务挑战 182
10.3 软件安全组织的现状和影响力 183
10.4 通过合理的政府管理克服SDL审计和法规挑战 183
10.5 软件安全的未来预测 184
10.5.1 坏消息 184
10.5.2 好消息 185
10.6 总结 185
参考文献 186
附录 关键的成功因素、可交付成果、SDL模型每个阶段的指标 189
前言/序言
软件安全:从源头开始 电子书 下载 mobi epub pdf txt