10.1知识子域:软件安全开发生命周期
10.1.1软件生命周期模型
了解软件生命周期的概念及瀑布模型,迭代模型,增量模型,快速原型模型,螺旋模型,净室模型等典型软件开发生命周期模型。
10.1.2软件危机与安全问题
了解三次软件危机产生的原因,特点和解决方案。
了解软件安全和软件安全保障的基本概念。
10.1.3软件安全生命周期模型
了解SDL,CLASP,CMMI,SAMM,BSIMM,等典型的软件安全开发生命周期模型。
10.2知识子域:软件安全需求及设计
10.2.1威胁建模
理解威胁建模的作用及每个阶段的工作内容。
掌握STRIDE模型用于进行威胁建模实践。
10.2.2软件安全需求分析
理解软件安全需求在软件安全开发过程中的重要性。
理解安全需求分析的方法和过程。
10.2.3软件安全设计
理解软件安全设计的重要性及内容和主要活动。
理解最小特权,权限分离等安全设计的重要原则。
理解攻击面的概念并掌握降低攻击面的方法。
10.3知识子域:软件安全实现
10.3.1安全编码原则
了解通用编码准则:验证输入,避免缓冲区溢出,程序内部安全,安全调用组件,程序编写编译等。
了解编码时禁止使用的风险函数。
了解相关的安全编码标准及建议。
理解常见的代码问题及处理办法。
10.3.2代码安全编译
了解代码编译需要关注的安全因素。
10.3.3代码安全审核
理解代码审查的目的。
了解常见源代码静态分析工具及方法。
10.4知识子域:软件安全测试
10.4.1软件测试
了解测试试用列等软件测试的基本概念。
了解常见的软件测试方法及不同测试方法之间的区别和优缺点。
10.4.2软件安全测试
了解软件安全测试的基本概念。
理解模糊测试,渗透测试等软件安全测试方法的原理,相互的区别以及各自的优势。
掌握安全测试的思路和方法。
10.5知识子域:软件安全交付
10.5.1软件供应链安全
了解软件供应链安全的概念并理解软件供应链安全措施。
10.5.2软件安全验收
了解软件安全验收的重要性及需要考虑的内容。
10.5.3软件安全部署
了解软件安全部署的重要性及软件安全加固,软件安全配置的概念。