扫一扫
关注中图网
官方微博
本类五星书更多>
-
>
决战行测5000题(言语理解与表达)
-
>
软件性能测试.分析与调优实践之路
-
>
第一行代码Android
-
>
深度学习
-
>
Unreal Engine 4蓝图完全学习教程
-
>
深入理解计算机系统-原书第3版
-
>
Word/Excel PPT 2013办公应用从入门到精通-(附赠1DVD.含语音视频教学+办公模板+PDF电子书)
软件安全保障体系架构 版权信息
- ISBN:9787121431326
- 条形码:9787121431326 ; 978-7-121-43132-6
- 装帧:一般轻型纸
- 册数:暂无
- 重量:暂无
- 所属分类:>
软件安全保障体系架构 内容简介
本书从软件安全保障的主要思路和要点出发,详细介绍了软件安全开发生命周期过程中需要考虑的安全要素。全书共9章,主要包括:第1章综述;第2章软件安全保障概念;第3章安全需求和威胁建模;第4章安全设计原则;第5章基于组件的软件工程;第6章安全编码;第7章软件安全测试;第8章安全交付和维护;第9章通用评估准则与软件安全保障等内容。
软件安全保障体系架构 目录
第1章 综述 1
1.1 编写背景 1
1.2 编写目的 4
1.3 本书结构 5
第2章 软件安全保障概念 7
2.1 软件工程 7
2.1.1 软件工程概述 7
2.1.2 软件工程基本原理 9
2.1.3 软件工程的特点 11
2.1.4 软件生命周期及生命周期模型 12
2.2 软件质量和软件质量保障 17
2.2.1 软件质量 17
2.2.2 软件质量保障 19
2.3 软件安全 21
2.3.1 信息与信息安全 21
2.3.2 软件安全概述 26
2.3.3 安全功能软件与安全软件 29
2.3.4 软件安全与硬件安全 30
2.3.5 信息系统安全与软件安全 31
2.4 软件安全保障 33
2.5 影响软件安全的要素 34
2.6 软件面临的威胁 39
2.6.1 软件漏洞的发掘 40
2.6.2 造成软件漏洞的原因 43
2.6.3 漏洞避免与安全性 45
2.6.4 通用软件漏洞数据库 46
第3章 安全需求和威胁建模 48
3.1 需求的定义与分类 48
3.1.1 软件需求 48
3.1.2 软件需求分类 50
3.1.3 软件安全需求 52
3.2 否定性和非功能性安全需求 53
3.3 安全需求的来源 55
3.4 安全需求的验证 57
3.5 安全建模方法 58
3.5.1 软件安全建模 58
3.5.2 威胁建模 60
第4章 安全设计原则 78
4.1 安全设计思想和方法 78
4.1.1 安全设计思想 78
4.1.2 安全设计方法 80
4.2 安全架构 82
4.3 安全设计原则 83
4.3.1 通用原则1:减少关键组件的数量 83
4.3.2 通用原则2:避免暴露薄弱组件和关键组件 88
4.3.3 通用原则3:减少攻击者破坏的途径 93
4.4 执行环境安全 99
4.4.1 环境等级划分:约束和隔离机制 100
4.4.2 应用程序框架 104
第5章 基于组件的软件工程 106
5.1 基于模块的软件设计 106
5.1.1 软件模块化 106
5.1.2 模块化设计的安全原则 108
5.2 COTS和OSS组件的安全问题 110
5.2.1 缺乏可见性问题 110
5.2.2 软件来源和安装问题 111
5.2.3 安全假设的有效性 113
5.2.4 休眠代码、死代码和恶意代码 113
5.3 组件的安全评估 114
5.3.1 组件的安全评估步骤 115
5.3.2 组件相关问题 117
5.4 组件的集成 117
5.5 基于组件的安全维护 118
第6章 安全编码 119
6.1 安全编码原则和实践 119
6.1.1 保持代码简洁性 119
6.1.2 遵循安全的编码指南 120
6.1.3 使用一致的编码风格 121
6.1.4 保证代码的可追溯性、可重用性和可维护性 121
6.1.5 资源分配 121
6.1.6 尽量清除状态信息 122
6.1.7 避免未经授权的特权升级 122
6.1.8 使用一致的命名规则 122
6.1.9 谨慎使用封装 123
6.1.10 权衡攻击模式 124
6.1.11 输入验证 125
6.1.12 输出过滤和“净化” 129
6.1.13 避免安全冲突 129
6.1.14 代码审查 130
6.1.15 *少反馈及检查返回 132
6.1.16 会话管理及配置参数管理 133
6.1.17 安全启动 134
6.1.18 并发控制 134
6.2 异常处理 135
6.2.1 异常识别及事件监视器 136
6.2.2 异常和失败处理 137
6.2.3 核心转储 139
6.3 安全存储和缓存管理 139
6.4 进程间通信 141
6.5 特定语言的安全问题 141
6.6 安全编码和编译工具 145
6.6.1 编译器安全检查和执行 145
6.6.2 安全的软件库 148
6.6.3 运行错误检查和安全执行 148
6.6.4 代码混淆 149
第7章 软件安全测试 150
7.1 软件测试和软件安全测试 151
7.1.1 软件测试 151
7.1.2 软件安全测试 156
7.1.3 软件测试和软件安全测试的关系 163
7.2 测试计划 164
7.2.1 测试环境和测试要求 164
7.2.2 测试时机 165
7.3 软件安全测试技术 168
7.3.1 白盒和灰盒测试技术 168
7.3.2 黑盒测试技术 172
7.4 重要的软件安全测试点 179
7.4.1 输入验证测试 179
7.4.2 缓冲区溢出测试 180
7.4.3 SQL注入缺陷控制测试 180
7.4.4 XSS脚本攻击控制测试 181
7.4.5 抗抵赖控制测试 181
7.4.6 失效控制测试 182
7.4.7 优先权提升控制测试 183
7.5 解释和使用测试结果 183
第8章 安全交付和维护 185
8.1 分发前的准备 185
8.2 安全分发 190
8.3 安全安装和配置 191
8.3.1 初始化文件安全 192
8.3.2 安全假设验证 193
8.3.3 删除所有未使用的文件 193
8.3.4 默认账户及口令更改 194
8.3.5 删除未使用的默认账户 194
8.3.6 执行环境“锁定” 195
8.3.7 设置默认安装模块 196
8.3.8 配置应用安全策略 196
8.3.9 启用*小用户身份 197
8.3.10 开启应用日志审计 197
8.3.11 数据备份 197
8.4 安全维护 197
8.4.1 漏洞管理 197
8.4.2 软件老化 199
第9章 通用评估准则与软件安全保障 201
9.1 通用评估准则的发展历史 201
9.2 通用评估准则的组成和重要概念 203
9.2.1 TOE的概念 205
9.2.2 安全目标和保护轮廓 205
9.3 安全保障要求与软件安全保障 206
附录A 术语定义 208
参考文献 216
1.1 编写背景 1
1.2 编写目的 4
1.3 本书结构 5
第2章 软件安全保障概念 7
2.1 软件工程 7
2.1.1 软件工程概述 7
2.1.2 软件工程基本原理 9
2.1.3 软件工程的特点 11
2.1.4 软件生命周期及生命周期模型 12
2.2 软件质量和软件质量保障 17
2.2.1 软件质量 17
2.2.2 软件质量保障 19
2.3 软件安全 21
2.3.1 信息与信息安全 21
2.3.2 软件安全概述 26
2.3.3 安全功能软件与安全软件 29
2.3.4 软件安全与硬件安全 30
2.3.5 信息系统安全与软件安全 31
2.4 软件安全保障 33
2.5 影响软件安全的要素 34
2.6 软件面临的威胁 39
2.6.1 软件漏洞的发掘 40
2.6.2 造成软件漏洞的原因 43
2.6.3 漏洞避免与安全性 45
2.6.4 通用软件漏洞数据库 46
第3章 安全需求和威胁建模 48
3.1 需求的定义与分类 48
3.1.1 软件需求 48
3.1.2 软件需求分类 50
3.1.3 软件安全需求 52
3.2 否定性和非功能性安全需求 53
3.3 安全需求的来源 55
3.4 安全需求的验证 57
3.5 安全建模方法 58
3.5.1 软件安全建模 58
3.5.2 威胁建模 60
第4章 安全设计原则 78
4.1 安全设计思想和方法 78
4.1.1 安全设计思想 78
4.1.2 安全设计方法 80
4.2 安全架构 82
4.3 安全设计原则 83
4.3.1 通用原则1:减少关键组件的数量 83
4.3.2 通用原则2:避免暴露薄弱组件和关键组件 88
4.3.3 通用原则3:减少攻击者破坏的途径 93
4.4 执行环境安全 99
4.4.1 环境等级划分:约束和隔离机制 100
4.4.2 应用程序框架 104
第5章 基于组件的软件工程 106
5.1 基于模块的软件设计 106
5.1.1 软件模块化 106
5.1.2 模块化设计的安全原则 108
5.2 COTS和OSS组件的安全问题 110
5.2.1 缺乏可见性问题 110
5.2.2 软件来源和安装问题 111
5.2.3 安全假设的有效性 113
5.2.4 休眠代码、死代码和恶意代码 113
5.3 组件的安全评估 114
5.3.1 组件的安全评估步骤 115
5.3.2 组件相关问题 117
5.4 组件的集成 117
5.5 基于组件的安全维护 118
第6章 安全编码 119
6.1 安全编码原则和实践 119
6.1.1 保持代码简洁性 119
6.1.2 遵循安全的编码指南 120
6.1.3 使用一致的编码风格 121
6.1.4 保证代码的可追溯性、可重用性和可维护性 121
6.1.5 资源分配 121
6.1.6 尽量清除状态信息 122
6.1.7 避免未经授权的特权升级 122
6.1.8 使用一致的命名规则 122
6.1.9 谨慎使用封装 123
6.1.10 权衡攻击模式 124
6.1.11 输入验证 125
6.1.12 输出过滤和“净化” 129
6.1.13 避免安全冲突 129
6.1.14 代码审查 130
6.1.15 *少反馈及检查返回 132
6.1.16 会话管理及配置参数管理 133
6.1.17 安全启动 134
6.1.18 并发控制 134
6.2 异常处理 135
6.2.1 异常识别及事件监视器 136
6.2.2 异常和失败处理 137
6.2.3 核心转储 139
6.3 安全存储和缓存管理 139
6.4 进程间通信 141
6.5 特定语言的安全问题 141
6.6 安全编码和编译工具 145
6.6.1 编译器安全检查和执行 145
6.6.2 安全的软件库 148
6.6.3 运行错误检查和安全执行 148
6.6.4 代码混淆 149
第7章 软件安全测试 150
7.1 软件测试和软件安全测试 151
7.1.1 软件测试 151
7.1.2 软件安全测试 156
7.1.3 软件测试和软件安全测试的关系 163
7.2 测试计划 164
7.2.1 测试环境和测试要求 164
7.2.2 测试时机 165
7.3 软件安全测试技术 168
7.3.1 白盒和灰盒测试技术 168
7.3.2 黑盒测试技术 172
7.4 重要的软件安全测试点 179
7.4.1 输入验证测试 179
7.4.2 缓冲区溢出测试 180
7.4.3 SQL注入缺陷控制测试 180
7.4.4 XSS脚本攻击控制测试 181
7.4.5 抗抵赖控制测试 181
7.4.6 失效控制测试 182
7.4.7 优先权提升控制测试 183
7.5 解释和使用测试结果 183
第8章 安全交付和维护 185
8.1 分发前的准备 185
8.2 安全分发 190
8.3 安全安装和配置 191
8.3.1 初始化文件安全 192
8.3.2 安全假设验证 193
8.3.3 删除所有未使用的文件 193
8.3.4 默认账户及口令更改 194
8.3.5 删除未使用的默认账户 194
8.3.6 执行环境“锁定” 195
8.3.7 设置默认安装模块 196
8.3.8 配置应用安全策略 196
8.3.9 启用*小用户身份 197
8.3.10 开启应用日志审计 197
8.3.11 数据备份 197
8.4 安全维护 197
8.4.1 漏洞管理 197
8.4.2 软件老化 199
第9章 通用评估准则与软件安全保障 201
9.1 通用评估准则的发展历史 201
9.2 通用评估准则的组成和重要概念 203
9.2.1 TOE的概念 205
9.2.2 安全目标和保护轮廓 205
9.3 安全保障要求与软件安全保障 206
附录A 术语定义 208
参考文献 216
展开全部
软件安全保障体系架构 作者简介
杨元原,公安部第三研究所副研究员,2011年毕业于西安电子科技大学密码学专业,博士。长期从事信息安全领域的科研、测评工作,通用评估准则团队负责人。曾负责/核心参与编制信息安全相关国家/行业标准10余项,发表SCI/EI论文10余篇,授权专利多项。
书友推荐
- >
龙榆生:词曲概论/大家小书
龙榆生:词曲概论/大家小书
¥13.0¥24.0 - >
经典常谈
经典常谈
¥12.7¥39.8 - >
唐代进士录
唐代进士录
¥25.5¥39.8 - >
中国历史的瞬间
中国历史的瞬间
¥16.7¥38.0 - >
山海经
山海经
¥19.7¥68.0 - >
巴金-再思录
巴金-再思录
¥14.7¥46.0 - >
名家带你读鲁迅:朝花夕拾
名家带你读鲁迅:朝花夕拾
¥10.5¥21.0 - >
月亮虎
月亮虎
¥14.4¥48.0
本类畅销
-
详解Spring Boot(从入门到企业级开发实战)/孙鑫精品图书系列
¥64.2¥129 -
PYTHON应用与实战
¥52.9¥79.8 -
Python编程与数值方法
¥79.6¥109 -
Go语言从入门到项目实战(视频版)
¥60.4¥108 -
软件设计师
¥14.2¥38 -
GO语言编程从入门到实践
¥75.6¥108
浏览历史
大学生心理健康与生命教育
¥16.5¥30.01936-1941年日本对德同盟政策研究
¥96.2¥148.0