CISSP-D8-软件开发安全

CISSP-D1-安全与风险管理
CISSP-D2-资产安全
CISSP-D3-安全架构与工程
CISSP-D4-通讯与网络安全
CISSP-D5-身份与访问控制
CISSP-D6-安全评估和测试
CISSP-D7-运营安全

D8:软件开发安全

一、在开发生命周期中应用安全: D8-1~4

二、常见软件开发安全问题: D8-5~7

D8-1-软件中的安全需求

1、理解产生软件安全问题的原因

  • “外强内弱”的原因

    软件在开发阶段,安全不是重要的考虑因素

    很多安全从业人员往往不是软件开人员

    通常任务功能性比安全性更重要

    软件供应商为了最快的把产品投入市场

    人们已经习惯了接受带有缺陷的软件。然后再进行修补

    客户无法控制所顾买软件中的缺陷,他们必须依赖周界保护

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

    当环境的复杂性日益增长时,跟踪错误和安全危害的任务将变得极其困难

    人们期望、需要并依赖软件的安全性

  • 环境与应用程序

    软件控制可以通过操作系统,应用春菇或者数据库管理控制来实现

    安全产品和周边设备往往不能够提供必要 安全细粒度度级别

  • 功能与安全

    在安全性和功能性之间会存在一个平衡,而在开发过程中功能性往往被任务是最重要的

  • 实现和默认配置问题

    大多数安全功能都需要在安装之后进行配置或者打开

    实现错误和错误配置是造成大量安全问题的常见原因

    存在大量未进行修补的系统

2、了解软件中的安全需求有哪些

D8-2-软件开发生命周期、模型和安全

1、理解软件开发周期的基本概念

软件开发生命周期(SDLC)模型

  • 需求收集
  • 设计
  • 开发
  • 测试/验证
  • 发布/维护

2、了解常见的安全软件开发实践有哪些

  • 开放式web应用程序安全项目
  • MITRE公司创始的CWE
  • ISO/IEC27034b标准

3、了解常见的软件开发模型

  • 边做边改模型
  • 瀑布模型
  • V模型
  • 原型模型
  • 增量模型
  • 螺旋模型
  • 快速应用开发(PAD)模型
  • 敏捷模型
  • 联合分析开发(JAD)
  • 复用模型
  • 净室模型

4、基础产品开发

  • IPT是一支多元的开发团队。团队成员为各利益相关方的代表
  • DevOps是将开发、IT、质量保证(QA)工作人员组成统一软件开发项目的实践
  • DevOps将统一目标,提高效率、减小软件产品的依赖

5、能力成熟度模型集成

  • CMMI集成了一整套产品和软件开发指南

6、理解代码库的安全性概念

  • 通常版本控制系统,存储者组织最重要的信息
  • 源代码会被盗取
  • 攻击者可能会将漏洞插入到软件中

D8-3-编程语言和环境

1、了解编程语言的基本概念

  • 编程语言
    编译器
    解释器
  • 机器语言
  • 汇编语言
  • 高级编程
  • 非常高级编程
  • 自然语言

2、了解面相对象开发的相关概念

  • 类和对象
  • 多态
  • 数据建模和数据结构
  • 内聚和耦合
  • 应用编程接口

3、理解什么是分布式计算环境

  • 分布式计算环境(DCE)
  • 组件对象模型(COM)
  • 面相服务的架构(SOA)

D8-4-数据库管理

1、了解数据库管理系统的基本概念

  • 数据库管理软件
  • 数据库管理系统(DBMS)
  • 事务处理持续化(Transaction persistence)

2、了解数据库模型和相关编程接口

  • 数据库模型
    • 关系数据库模型
    • 层次数据库模型
    • 网络数据库模型
    • 面相对象的数据模型
    • 对象-关系数据库模型
  • 数据库编程接口
    • 开发数据库互联(ODBC)
    • 对象链接和嵌入数据库(OLE DB)
    • ActiveX数据对象(ADO)
    • java数据库互联(JDBC)

3、了解关系型数据库的组件有哪些

  • 数据定义语言(DDL)
  • 数据库操作语言(DML)
  • 查询语言(QL)
  • 报表生成器
  • 数据字典
  • 主键与外键

4、理解数据库完整性和安全性的概念

  • 三种主要类型的完整性服务

    • 语义完整性(semantic integrity)
    • 参考完整性(referential integrity)
    • 实体完整性(entity integrity)
  • 聚合和推理

    • 聚合(aggregation)
    • 推理(inference)
  • 数据库视图

  • 多实例

  • 联机事务处理

    • Online Transaction Processing,OLTP)
  • ACID

    • 原子性(atomicity)
    • 一致性(consistency)
    • 隔离性(isolation)
    • 持久性(durability)

5、理解知识体系的相关概念

  • 专家系统
  • 神经网络
  • 决策支持系统
  • 安全性应用

D8-5-web应用安全

1、特定威胁

  • 接口管理
  • 身份验证与访问机制
  • 输入验证
  • 参数确证
  • 会话管理

2、安全规则

  • 分析网站架构
  • 设计安全功能
  • 严格审查输入
  • 过滤输出

D8-6-针对应用程序的相关攻击

1、侦查工具

  • IP探测
  • 端口扫描
  • 漏洞
  • 垃圾搜寻

2、伪装攻击

  • IP欺骗
  • 会话劫持

3、密码攻击

  • 密码猜测攻击
  • 字典攻击
  • 社会工程学攻击

4、应用程序攻击

  • 缓冲区溢出
  • 检验时间到使用时间
  • 后门
  • 权限提升和rootkit

D8-7-恶意代码

1、恶意代码类型

  • 病毒
  • 蠕虫
  • Rootkit
  • 间谍软件和广告软件
  • 僵尸网络
  • 特洛伊木马
  • 逻辑炸弹

2、防恶意软件

  • 防病毒软件适用病毒特征来检测恶意代码。特征型检测是检测恶意软件的一种有效手段。
  • “启发式检测”会分析恶意代码的总体结构。评估编码指令和逻辑功能,并研究病毒或蠕虫内的数据类型。
  • 垃圾邮件检测。
  • 防病毒策略。

你可能感兴趣的:(安全,信息安全,网络安全)