全新正版书籍,24小时发货,可开发票。
¥ 27.8 7.9折 ¥ 35 全新
库存5件
作者杨东晓、章磊、付威、金竹君
出版社清华大学出版社
ISBN9787302550907
出版时间2020-07
装帧平装
开本16开
定价35元
货号28987020
上书时间2024-11-24
没有网络安全,就没有国家安全;没有网络安全人才,就没有网络安全。
为了更多、更快、更好地培养网络安全人才,许多学校都加大投入,聘请优秀教师,招收优秀学生,建设一流的网络空间安全专业。
网络空间安全专业建设需要体系化的培养方案、系统化的专业教材和专业化的师资队伍。优秀教材是网络空间安全专业人才的关键。但是,这是一项十分艰巨的任务。原因有二: 其一,网络空间安全的涉及面非常广,至少包括密码学、数学、计算机、通信工程等多门学科,因此,其知识体系庞杂、梳理困难;其二,网络空间安全的实践性很强,技术发展更新非常快,对环境和师资要求也很高。
“代码安全”是网络空间安全和信息安全专业的基础课程,通过介绍软件安全开发的模型和常见代码漏洞与解决办法,使学生掌握软件安全开发方法和常用代码编写规范。本书涉及的知识面宽,共分为9章。第1章介绍软件安全开发基础,第2章介绍软件安全需求与设计,第3章介绍C和C 安全编码,第4章介绍Java安全编码,第5章介绍PHP安全编码,第6章介绍Python安全编码,第7章介绍软件安全测试,第8章介绍软件安全发布与部署,第9章介绍典型案例。
本书既适合作为高校网络空间安全、信息安全等专业的教材,也适合网络安全研究人员作为网络空间安全领域的入门基础读物。随着新技术的不断发展,作者今后会不断更新本书内容。
由于作者水平有限,书中难免存在疏漏和不妥之处,欢迎读者批评指正。
作者2019年12月
本书首先系统地介绍了软件安全开发的基础知识,包括软件开发的现状和常见的开发生命周期模型;在传统需求分析方法基础上介绍软件安全需求与设计,重点介绍威胁建模方法;并结合软件开发模型介绍软件发布和部署阶段的安全措施;之后具体结合C、C 、Java、PHP、Python等语言,详细讲解其安全现状、常见漏洞和编码规范;*后概述了安全测试的流程和方法,并结合典型案例让学生能够对这些代码中的安全漏洞有比较全面和深入的了解,从而在实际研发工作中避免出现相似漏洞。
本书首先系统地介绍了软件安全开发的基础知识,包括软件开发的现状和常见的开发生命周期模型;在传统需求分析方法基础上介绍软件安全需求与设计,重点介绍威胁建模方法;并结合软件开发模型介绍软件发布和部署阶段的安全措施;之后具体结合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
本书首先系统地介绍了软件安全开发的基础知识,包括软件开发的现状和常见的开发生命周期模型;在传统需求分析方法基础上介绍软件安全需求与设计,重点介绍威胁建模方法;并结合软件开发模型介绍软件发布和部署阶段的安全措施;之后具体结合C、C 、Java、PHP、Python等语言,详细讲解其安全现状、常见漏洞和编码规范;*后概述了安全测试的流程和方法,并结合典型案例让学生能够对这些代码中的安全漏洞有比较全面和深入的了解,从而在实际研发工作中避免出现相似漏洞。
杨东晓,国防科大电子工程专业毕业,16年网络安全领域相关产品研究、开发、规划、管理经验,现任职于奇安信集团,负责网络空间安全教育及人才培养工作。
— 没有更多了 —
以下为对购买帮助不大的评价