本文主要是介绍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、防恶意软件
- 防病毒软件适用病毒特征来检测恶意代码。特征型检测是检测恶意软件的一种有效手段。
- “启发式检测”会分析恶意代码的总体结构。评估编码指令和逻辑功能,并研究病毒或蠕虫内的数据类型。
- 垃圾邮件检测。
- 防病毒策略。
这篇关于CISSP-D8-软件开发安全的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!