第8章 软件开发安全

第8章软件开发安全

8.1 构建良好代码

 8.1.1 如何处置软件安全问题?

 8.1.2 不同环境需要不同的安全

 8.1.3 环境与应用程序

 8.1.4 功能性与安全性

 8.1.5 实施与默认配置问题

8.2 软件开发生命周期

 8.2.1 项目管理

 8.2.2 需求收集阶段

 8.2.3 设计阶段

 8.2.4 开发阶段

 8.2.5 测试阶段

 8.2.6 运营维护阶段

8.3 软件开发方法论

 8.3.1 瀑布模式

 8.3.2 V形模式

 8.3.3 原型模式

 8.3.4 增量模式

 8.3.5 螺旋模式

 8.3.6 快速应用程序开发

 8.3.7 敏捷模式

 8.3.8 集成产品团队

 8.3.9 DevOps

8.4 能力成熟度集成模型(CMM)

8.5 变更管理

8.6 开发环境的安全性

 8.6.1 开发平台的安全性

 8.6.2 代码库的安全性

 8.6.3 软件配置管理

8.7 安全编码

 8.7.1 源代码漏洞..

 8.7.2 安全编码实践..

8.8 编程语言与概念

 8.8.1 汇编器、编译器和解释器

 8.8.2 面向对象的概念·...

 8.8.3 其他软件开发的概念··

 8.8.4 应用程序接口

8.9 分布式计算

 8.9.1 分布式计算环境

 8.9.2 CORBA和ORB

 8.9.3 COM和DCOM

 8.9.4 Java平台企业版

 8.9.5 面向服务的架构

8.10 移动代码

 8.10.1 Java applet

 8.10.2 ActiveX控件

8.11 Web安全

 8.11.1 Web环境的具体威胁

 8.11.2 Web应用安全准则

8.12 数据库管理

 8.12.1 数据库管理软件·

 8.12.2 数据库模型

 8.12.3 数据库编程接口

 8.12.4 关系型数据库组件

 8.12.5 完整性

 8.12.6 数据库安全问题

 8.12.7 数据仓库与数据挖掘

8.13 恶意软件

 8.13.1 病毒

 8.13.2 蠕虫

 8.13.3 rootkit

 8.13.4 间谍软件和广告软件.

 8.13.5 僵尸网络

 8.13.6 逻辑炸弹

 8.13.7 特洛伊木马

 8.13.8 反恶意软件

 8.13.9 垃圾邮件检测

 8.13.10 反恶意软件程序

8.14 评估获取软件的安全性