网络空间安全重点规划丛书 代码安全 作者:杨东晓出版时间: 2020年版丛编项: 网络空间安全重点规划丛书内容简介 本书首先系统地介绍了软件安全开发的基础知识,包括软件开发的现状和常见的开发生命周期模型;在传统需求分析方法基础上介绍软件安全需求与设计,重点介绍威胁建模方法;并结合软件开发模型介绍软件发布和部署阶段的安全措施;之后具体结合C、C++、Java、PHP、Python等语言,详细讲解其安全现状、常见漏洞和编码规范;最后概述了安全测试的流程和方法,并结合典型案例让学生能够对这些代码中的安全漏洞有比较全面和深入的了解,从而在实际研发工作中避免出现相似漏洞。目录第1章软件安全开发基础11.1软件安全开发现状11.1.1软件安全面临的挑战11.1.2软件安全开发问题21.1.3软件安全问题成因51.2软件开发生命周期71.3软件安全开发模型111.3.1安全开发生命周期111.3.2内建安全成熟度模型141.3.3软件保证成熟度模型151.3.4综合的轻量应用安全过程161.4人员角色规划17第2章软件安全需求与设计182.1安全需求概述182.1.1安全需求的定义182.1.2安全需求的标准192.2安全需求分析方法202.2.1安全需求分析过程202.2.2安全需求分析的常用方法202.3系统设计概述232.3.1系统设计内容232.3.2安全设计原则242.4安全设计方法262.4.1危险性分析272.4.2基于模式的软件安全设计272.4.3安全关键单元的确定和设计292.5威胁建模292.5.1威胁建模概述292.5.2威胁建模过程302.5.3威胁建模的输出与缓解35代码安全目录第3章C和C++安全编码373.1C和C++开发安全现状373.2C和C++常见安全漏洞383.2.1缓冲区溢出漏洞383.2.2释放后使用漏洞393.2.3整型溢出漏洞403.2.4空指针解引用漏洞403.2.5格式化字符串漏洞413.2.6内存泄漏423.2.7二次释放漏洞423.2.8类型混淆漏洞433.2.9未初始化漏洞433.3C和C++安全编码规范44第4章Java安全编码464.1Java开发安全现状464.2Java常见安全漏洞484.2.1SQL注入漏洞484.2.2XSS漏洞514.2.3重定向漏洞554.2.4路径遍历漏洞574.2.5不安全的安全哈希算法604.2.6XPath注入漏洞614.2.7硬编码密码634.3Java安全编码规范644.3.1声明和初始化644.3.2表达式694.3.3面向对象734.3.4方法754.3.5异常处理774.3.6线程锁814.3.7线程API834.3.8输入输出87第5章PHP安全编码925.1PHP开发安全现状925.2PHP常见安全漏洞945.2.1会话攻击945.2.2命令注入攻击955.2.3客户端脚本注入攻击965.2.4变量覆盖漏洞985.2.5危险函数995.3PHP安全编码规范1015.3.1语言规范1025.3.2程序注释1035.3.3项目规范1045.3.4特殊规范1055.3.5配置安全106第6章Python安全编码1086.1Python开发安全现状1086.2Python常见安全威胁的防御1116.2.1代码注入的防御1116.2.2密码存储方式1126.2.3异常处理机制1136.2.4文件上传漏洞的防御1156.3Python安全编码规范1166.3.1代码布局1166.3.2注释语句1176.3.3命名规范1186.3.4函数安全1206.3.5编程建议121第7章软件安全测试1237.1安全测试概述1237.2安全测试流程1257.2.1安全测试具体流程1257.2.2安全测试具体内容1277.2.3安全测试原则1297.2.4PDCA循环1297.3安全测试技术1317.3.1人工审查1317.3.2代码分析1317.3.3模糊测试1347.3.4渗透测试138第8章软件安全发布与部署1418.1软件安全发布1418.1.1最终安全审查1418.1.2安全事故响应计划1438.2软件安全部署1438.2.1漏洞管理1438.2.2环境强化1438.2.3操作激活143第9章典型案例1449.1应用背景1449.2企业需求1449.3解决方案1459.4方案优势147附录A英文缩略语148参考文献149 上一篇: 简单高效LATEX 吴康隆 2020年版 下一篇: 计算机科学丛书:计算机组成与设计:硬件、软件接口 原书第5版 [美]帕特森 2020年版