书籍详情
代码安全
作者:杨东晓,章磊,付威,金竹君 著
出版社:清华大学出版社
出版时间:2020-06-01
ISBN:9787302550907
定价:¥35.00
购买这本书可以去
内容简介
本书首先系统地介绍了软件安全开发的基础知识,包括软件开发的现状和常见的开发生命周期模型;在传统需求分析方法基础上介绍软件安全需求与设计,重点介绍威胁建模方法;并结合软件开发模型介绍软件发布和部署阶段的安全措施;之后具体结合C、C++、Java、PHP、Python等语言,详细讲解其安全现状、常见漏洞和编码规范;最后概述了安全测试的流程和方法,并结合典型案例让学生能够对这些代码中的安全漏洞有比较全面和深入的了解,从而在实际研发工作中避免出现相似漏洞。
作者简介
杨东晓,国防科大电子工程专业毕业,16年网络安全领域相关产品研究、开发、规划、管理经验,现任职于奇安信集团,负责网络空间安全教育及人才培养工作。
目录
第1章软件安全开发基础1
1.1软件安全开发现状1
1.1.1软件安全面临的挑战1
1.1.2软件安全开发问题2
1.1.3软件安全问题成因5
1.2软件开发生命周期7
1.3软件安全开发模型11
1.3.1安全开发生命周期11
1.3.2内建安全成熟度模型14
1.3.3软件保证成熟度模型15
1.3.4综合的轻量应用安全过程16
1.4人员角色规划17
第2章软件安全需求与设计18
2.1安全需求概述18
2.1.1安全需求的定义18
2.1.2安全需求的标准19
2.2安全需求分析方法20
2.2.1安全需求分析过程20
2.2.2安全需求分析的常用方法20
2.3系统设计概述23
2.3.1系统设计内容23
2.3.2安全设计原则24
2.4安全设计方法26
2.4.1危险性分析27
2.4.2基于模式的软件安全设计27
2.4.3安全关键单元的确定和设计29
2.5威胁建模29
2.5.1威胁建模概述29
2.5.2威胁建模过程302.5.3威胁建模的输出与缓解35
代码安全目录
第3章C和C++安全编码37
3.1C和C++开发安全现状37
3.2C和C++常见安全漏洞38
3.2.1缓冲区溢出漏洞38
3.2.2释放后使用漏洞39
3.2.3整型溢出漏洞40
3.2.4空指针解引用漏洞40
3.2.5格式化字符串漏洞41
3.2.6内存泄漏42
3.2.7二次释放漏洞42
3.2.8类型混淆漏洞43
3.2.9未初始化漏洞43
3.3C和C++安全编码规范44
第4章Java安全编码46
4.1Java开发安全现状46
4.2Java常见安全漏洞48
4.2.1SQL注入漏洞48
4.2.2XSS漏洞51
4.2.3重定向漏洞55
4.2.4路径遍历漏洞57
4.2.5不安全的安全哈希算法60
4.2.6XPath注入漏洞61
4.2.7硬编码密码63
4.3Java安全编码规范64
4.3.1声明和初始化64
4.3.2表达式69
4.3.3面向对象73
4.3.4方法75
4.3.5异常处理77
4.3.6线程锁81
4.3.7线程API83
4.3.8输入输出87
第5章PHP安全编码92
5.1PHP开发安全现状92
5.2PHP常见安全漏洞94
5.2.1会话攻击94
5.2.2命令注入攻击95
5.2.3客户端脚本注入攻击96
5.2.4变量覆盖漏洞98
5.2.5危险函数99
5.3PHP安全编码规范101
5.3.1语言规范102
5.3.2程序注释103
5.3.3项目规范104
5.3.4特殊规范105
5.3.5配置安全106
第6章Python安全编码108
6.1Python开发安全现状108
6.2Python常见安全威胁的防御111
6.2.1代码注入的防御111
6.2.2密码存储方式112
6.2.3异常处理机制113
6.2.4文件上传漏洞的防御115
6.3Python安全编码规范116
6.3.1代码布局116
6.3.2注释语句117
6.3.3命名规范118
6.3.4函数安全120
6.3.5编程建议121
第7章软件安全测试123
7.1安全测试概述123
7.2安全测试流程125
7.2.1安全测试具体流程125
7.2.2安全测试具体内容127
7.2.3安全测试原则129
7.2.4PDCA循环129
7.3安全测试技术131
7.3.1人工审查131
7.3.2代码分析131
7.3.3模糊测试134
7.3.4渗透测试138
第8章软件安全发布与部署141
8.1软件安全发布141
8.1.1最终安全审查141
8.1.2安全事故响应计划143
8.2软件安全部署143
8.2.1漏洞管理143
8.2.2环境强化143
8.2.3操作激活143
第9章典型案例144
9.1应用背景144
9.2企业需求144
9.3解决方案145
9.4方案优势147
附录A英文缩略语148
参考文献149
1.1软件安全开发现状1
1.1.1软件安全面临的挑战1
1.1.2软件安全开发问题2
1.1.3软件安全问题成因5
1.2软件开发生命周期7
1.3软件安全开发模型11
1.3.1安全开发生命周期11
1.3.2内建安全成熟度模型14
1.3.3软件保证成熟度模型15
1.3.4综合的轻量应用安全过程16
1.4人员角色规划17
第2章软件安全需求与设计18
2.1安全需求概述18
2.1.1安全需求的定义18
2.1.2安全需求的标准19
2.2安全需求分析方法20
2.2.1安全需求分析过程20
2.2.2安全需求分析的常用方法20
2.3系统设计概述23
2.3.1系统设计内容23
2.3.2安全设计原则24
2.4安全设计方法26
2.4.1危险性分析27
2.4.2基于模式的软件安全设计27
2.4.3安全关键单元的确定和设计29
2.5威胁建模29
2.5.1威胁建模概述29
2.5.2威胁建模过程302.5.3威胁建模的输出与缓解35
代码安全目录
第3章C和C++安全编码37
3.1C和C++开发安全现状37
3.2C和C++常见安全漏洞38
3.2.1缓冲区溢出漏洞38
3.2.2释放后使用漏洞39
3.2.3整型溢出漏洞40
3.2.4空指针解引用漏洞40
3.2.5格式化字符串漏洞41
3.2.6内存泄漏42
3.2.7二次释放漏洞42
3.2.8类型混淆漏洞43
3.2.9未初始化漏洞43
3.3C和C++安全编码规范44
第4章Java安全编码46
4.1Java开发安全现状46
4.2Java常见安全漏洞48
4.2.1SQL注入漏洞48
4.2.2XSS漏洞51
4.2.3重定向漏洞55
4.2.4路径遍历漏洞57
4.2.5不安全的安全哈希算法60
4.2.6XPath注入漏洞61
4.2.7硬编码密码63
4.3Java安全编码规范64
4.3.1声明和初始化64
4.3.2表达式69
4.3.3面向对象73
4.3.4方法75
4.3.5异常处理77
4.3.6线程锁81
4.3.7线程API83
4.3.8输入输出87
第5章PHP安全编码92
5.1PHP开发安全现状92
5.2PHP常见安全漏洞94
5.2.1会话攻击94
5.2.2命令注入攻击95
5.2.3客户端脚本注入攻击96
5.2.4变量覆盖漏洞98
5.2.5危险函数99
5.3PHP安全编码规范101
5.3.1语言规范102
5.3.2程序注释103
5.3.3项目规范104
5.3.4特殊规范105
5.3.5配置安全106
第6章Python安全编码108
6.1Python开发安全现状108
6.2Python常见安全威胁的防御111
6.2.1代码注入的防御111
6.2.2密码存储方式112
6.2.3异常处理机制113
6.2.4文件上传漏洞的防御115
6.3Python安全编码规范116
6.3.1代码布局116
6.3.2注释语句117
6.3.3命名规范118
6.3.4函数安全120
6.3.5编程建议121
第7章软件安全测试123
7.1安全测试概述123
7.2安全测试流程125
7.2.1安全测试具体流程125
7.2.2安全测试具体内容127
7.2.3安全测试原则129
7.2.4PDCA循环129
7.3安全测试技术131
7.3.1人工审查131
7.3.2代码分析131
7.3.3模糊测试134
7.3.4渗透测试138
第8章软件安全发布与部署141
8.1软件安全发布141
8.1.1最终安全审查141
8.1.2安全事故响应计划143
8.2软件安全部署143
8.2.1漏洞管理143
8.2.2环境强化143
8.2.3操作激活143
第9章典型案例144
9.1应用背景144
9.2企业需求144
9.3解决方案145
9.4方案优势147
附录A英文缩略语148
参考文献149
猜您喜欢