【NISP 学习笔记】第十章:软件安全开发

【NISP 学习笔记】第十章:软件安全开发

NISP 二级第十章知识点极简梳理

软件安全开发生命周期

软件生命周期模型

瀑布模型

迭代模型

增量模型

快速原型模型

螺旋模型

净室模型

各软件过程模型的特点

软件危机与安全问题

软件危机

  1. 第一次软件危机
  2. 第二次软件危机
  3. 第三次软件危机

软件安全问题

软件安全保障

软件安全开发生命周期模型

SDL(安全开发生命周期)

  1. 培训
  2. 需求
  3. 设计
  4. 实现
  5. 验证
  6. 发布
  7. 响应

CLASP(综合的轻量级应用安全过程)

CMMI (软件能力成熟度集成模型)

  1. CMMI Level 1,初始级
  2. CMMI Level 2,可管理级
  3. CMMI Level 3,已定义级
  4. CMMI Level 4,量化管理级
  5. CMMI Level 5,优化管理级

CMMI 为企业带来的价值:

  1. 能保证软件开发的质量与进度
  2. 有利于控制成本
  3. 有助于提高软件开发者的职业素养
  4. 能够解决人员流动所带来的问题
  5. 有利于提升公司和员工绩效管理水平

SAMM(软件保证成熟度模型)

4 个软件开发过程中的核心业务功能

  1. 治理
  2. 构造
  3. 验证
  4. 部署

BSIMM(BSI 成熟度模型)

各软件安全开发模型的特点

  1. SDL
  2. CLASP
  3. CMMI
  4. SAMM
  5. BSI 系列

软件安全需求及设计

威胁建模

威胁建模作用

威胁建模流程

  1. 确定建模对象
  2. 识别威胁
  3. 评估威胁
  4. 消减威胁

STRIDE 模型

  1. Spoofing 假冒
  2. Tampering 篡改
  3. Repudiation 否认
  4. Information Disclosure 信息泄露
  5. Denail of Service 拒绝服务
  6. Elevation of Privilege 提升权限

软件安全需求分析

系统调查

定性分析系统的脆弱点和可能遭受的安全威胁

脆弱点和安全威胁的定量分析

需求的确定

软件安全设计

工作内容与活动

  1. 详细风险评估
  2. 控制措施选择
  3. 安全技术实现
  4. 设计审查

安全设计原则

  1. 最小特权原则
  2. 权限分离原则
  3. 最少共享机制原则
  4. 完全中立原则
  5. 心里可接受度原则
  6. 默认故障处理保护原则
  7. 经济机制原则
  8. 不信任原则
  9. 纵深防御原则
  10. 保障最弱环节原则
  11. 公开设计原则
  12. 隐私保护原则
  13. 攻击面最小化原则

软件安全实现

安全编码原则

验证输入

常见输入源:

  1. 命令行参数
  2. 环境变量
  3. 文件及文件名
  4. 网络数据
  5. 其他来源

避免缓存溢出

避免缓冲区溢出可使用的安全防御措施:

  1. 精心编程
  2. 使用替代的安全函数或函数库
  3. 基于探测方法防御
  4. 非执行的堆栈防御

程序内部安全

  1. 程序内部接口安全
  2. 异常安全处理
  3. 最小化反馈
  4. 避免竞争条件
  5. 安全使用临时文件

安全调用组件

  1. 组件安全
  2. 返回值安全
  3. 传递数据安全

禁止使用不安全函数

软件安全编译

代码安全审核

源代码审核的概念和原理

源代码审核工具

  1. 安全性
  2. 多平台性
  3. 可扩展性
  4. 知识性
  5. 集成性

软件安全测试

软件测试

软件测试基本概念

  1. 测试用例
  2. 测试覆盖率度量指标
  3. 测试的信条

软件测试方法

  1. 单元测试、集成测试、系统测试
  2. 黑盒测试、白盒测试、灰何测试
  3. 静态测试、动态测试
  4. 回归测试
  5. 验收测试

软件安全测试

软件安全测试基本概念

软件安全测试方法

  1. 模糊测试
  2. 渗透测试
  3. 静态代码安全测试

安全测试思路

  1. 充分了解软件安全漏洞
  2. 评估软件安全风险
  3. 采用安全测试技术和工具

软件安全交付

软件供应链安全

软件供应链安全的概念

  1. 代码编写
  2. 代码编译
  3. 软件分发及更新

软件供应链安全应对措施

  1. 代码编写安全
  2. 代码编译安全
  3. 软件发布更新安全

软件安全验收

软件安全部署

软件安全部署的重要性

软件安全加固

软件安全配置

Comment