新書推薦:
《
我们为什么会做梦:让梦不再神秘的新科学
》
售價:NT$
352.0
《
算法图解(第2版)
》
售價:NT$
356.0
《
科学的奇幻之旅
》
售價:NT$
352.0
《
画艺循谱:晚明的画谱与消闲
》
售價:NT$
653.0
《
新民说·现实政治史:从马基雅维利到基辛格
》
售價:NT$
454.0
《
宽容是件奢侈品(人生360度·一分钟经典故事)
》
售價:NT$
203.0
《
甲骨拼合六集
》
售價:NT$
1520.0
《
视觉美食家:商业摄影实战与创意解析
》
售價:NT$
602.0
|
內容簡介: |
本书从软件安全保障的主要思路和要点出发,详细介绍了软件安全开发生命周期过程中需要考虑的安全要素。全书共9章,主要包括:第1章 综述;第2章 软件安全保障概念;第3章 安全需求和威胁建模;第4章 安全设计原则;第5章 基于组件的软件工程;第6章 安全编码;第7章 软件安全测试;第8章 安全交付和维护;第9章 通用评估准则与软件安全保障等内容。
|
關於作者: |
杨元原,公安部第三研究所副研究员,2011年毕业于西安电子科技大学密码学专业,博士。长期从事信息安全领域的科研、测评工作,通用评估准则团队负责人。曾负责/核心参与编制信息安全相关国家/行业标准10余项,发表SCI/EI论文10余篇,授权专利多项。
|
目錄:
|
第1章 综述11.1 编写背景11.2 编写目的41.3 本书结构5第2章 软件安全保障概念72.1 软件工程72.1.1 软件工程概述72.1.2 软件工程基本原理92.1.3 软件工程的特点112.1.4 软件生命周期及生命周期模型122.2 软件质量和软件质量保障172.2.1 软件质量172.2.2 软件质量保障192.3 软件安全212.3.1 信息与信息安全212.3.2 软件安全概述262.3.3 安全功能软件与安全软件292.3.4 软件安全与硬件安全302.3.5 信息系统安全与软件安全312.4 软件安全保障332.5 影响软件安全的要素342.6 软件面临的威胁392.6.1 软件漏洞的发掘402.6.2 造成软件漏洞的原因432.6.3 漏洞避免与安全性452.6.4 通用软件漏洞数据库46第3章 安全需求和威胁建模483.1 需求的定义与分类483.1.1 软件需求483.1.2 软件需求分类503.1.3 软件安全需求523.2 否定性和非功能性安全需求533.3 安全需求的来源553.4 安全需求的验证573.5 安全建模方法583.5.1 软件安全建模583.5.2 威胁建模60第4章 安全设计原则784.1 安全设计思想和方法784.1.1 安全设计思想784.1.2 安全设计方法804.2 安全架构824.3 安全设计原则834.3.1 通用原则1:减少关键组件的数量834.3.2 通用原则2:避免暴露薄弱组件和关键组件884.3.3 通用原则3:减少攻击者破坏的途径934.4 执行环境安全994.4.1 环境等级划分:约束和隔离机制1004.4.2 应用程序框架104第5章 基于组件的软件工程1065.1 基于模块的软件设计1065.1.1 软件模块化1065.1.2 模块化设计的安全原则1085.2 COTS和OSS组件的安全问题1105.2.1 缺乏可见性问题1105.2.2 软件来源和安装问题1115.2.3 安全假设的有效性1135.2.4 休眠代码、死代码和恶意代码1135.3 组件的安全评估1145.3.1 组件的安全评估步骤1155.3.2 组件相关问题1175.4 组件的集成1175.5 基于组件的安全维护118第6章 安全编码1196.1 安全编码原则和实践1196.1.1 保持代码简洁性1196.1.2 遵循安全的编码指南1206.1.3 使用一致的编码风格1216.1.4 保证代码的可追溯性、可重用性和可维护性1216.1.5 资源分配1216.1.6 尽量清除状态信息1226.1.7 避免未经授权的特权升级1226.1.8 使用一致的命名规则1226.1.9 谨慎使用封装1236.1.10 权衡攻击模式1246.1.11 输入验证1256.1.12 输出过滤和“净化”1296.1.13 避免安全冲突1296.1.14 代码审查1306.1.15 少反馈及检查返回1326.1.16 会话管理及配置参数管理1336.1.17 安全启动1346.1.18 并发控制1346.2 异常处理1356.2.1 异常识别及事件监视器1366.2.2 异常和失败处理1376.2.3 核心转储1396.3 安全存储和缓存管理1396.4 进程间通信1416.5 特定语言的安全问题1416.6 安全编码和编译工具1456.6.1 编译器安全检查和执行1456.6.2 安全的软件库1486.6.3 运行错误检查和安全执行1486.6.4 代码混淆149第7章 软件安全测试1507.1 软件测试和软件安全测试1517.1.1 软件测试1517.1.2 软件安全测试1567.1.3 软件测试和软件安全测试的关系1637.2 测试计划1647.2.1 测试环境和测试要求1647.2.2 测试时机165 7.3 软件安全测试技术1687.3.1 白盒和灰盒测试技术1687.3.2 黑盒测试技术1727.4 重要的软件安全测试点1797.4.1 输入验证测试1797.4.2 缓冲区溢出测试1807.4.3 SQL注入缺陷控制测试1807.4.4 XSS脚本攻击控制测试1817.4.5 抗抵赖控制测试1817.4.6 失效控制测试1827.4.7 优先权提升控制测试1837.5 解释和使用测试结果183第8章 安全交付和维护1858.1 分发前的准备1858.2 安全分发1908.3 安全安装和配置1918.3.1 初始化文件安全1928.3.2 安全假设验证1938.3.3 删除所有未使用的文件1938.3.4 默认账户及口令更改1948.3.5 删除未使用的默认账户1948.3.6 执行环境“锁定”1958.3.7 设置默认安装模块1968.3.8 配置应用安全策略1968.3.9 启用小用户身份1978.3.10 开启应用日志审计1978.3.11 数据备份197 8.4 安全维护1978.4.1 漏洞管理1978.4.2 软件老化199第9章 通用评估准则与软件安全保障2019.1 通用评估准则的发展历史2019.2 通用评估准则的组成和重要概念2039.2.1 TOE的概念2059.2.2 安全目标和保护轮廓2059.3 安全保障要求与软件安全保障206附录A 术语定义208参考文献216
|
|