导图社区 CISSP学习笔记-20(软件开发安全)
这是一篇关于CISSP学习笔记-20(软件开发安全)的思维导图,主要内容包括:复习题,考试要点,知识点。
编辑于2024-03-16 16:29:59这是一篇关于DPIA流程和模板的思维导图,主要内容包括:DPIA模版,DPIA概述和范围,如何执行DPIA,可接受的DPIA标准,DPIA解决什么问题,DPIA执行标准。
本文翻译了GDPR并且添加了解析,深入剖析GDPR的各个方面,可以更好地理解这一法规的重要性,并为企业和个人在数据保护方面提供有益的指导和建议。非常有价值。
这是一篇关于信息安全技术 、数据安全能力成熟度模型Informatio的思维导图,主要内容包括:附 录 C (资料性附录) 能力成熟度等级评估流程和模型使用方法,附 录 B (资料性附录) 能力成熟度等级评估参考方法,DSMM架构,附 录 A(资料性附录) 能力成熟度等级描述与 GP,DSMM-数据安全过程维度,DSMM-安全能力维度。
社区模板帮助中心,点此进入>>
这是一篇关于DPIA流程和模板的思维导图,主要内容包括:DPIA模版,DPIA概述和范围,如何执行DPIA,可接受的DPIA标准,DPIA解决什么问题,DPIA执行标准。
本文翻译了GDPR并且添加了解析,深入剖析GDPR的各个方面,可以更好地理解这一法规的重要性,并为企业和个人在数据保护方面提供有益的指导和建议。非常有价值。
这是一篇关于信息安全技术 、数据安全能力成熟度模型Informatio的思维导图,主要内容包括:附 录 C (资料性附录) 能力成熟度等级评估流程和模型使用方法,附 录 B (资料性附录) 能力成熟度等级评估参考方法,DSMM架构,附 录 A(资料性附录) 能力成熟度等级描述与 GP,DSMM-数据安全过程维度,DSMM-安全能力维度。
CISSP学习笔记-20(软件开发安全)
知识点
软件开发控制概述
软件开发
编程语言
编译型语言:C、Java、VB
不易被第三方操纵
恶意人员可以加入后门,安全缺陷绕过检测
解释型语言:Python、R、JS和VBS
库
开发工具集
面向对象编程
保证
避免和抑制系统故障
输入验证
身份认证和会话管理
错误处理
记录
失效打卡和失效关闭
系统开发生命周期
生命周期模型
瀑布模型
只能后退一个阶段,无法处理开发周期后期的错误
螺旋模型
每个螺旋是一个瀑布
敏捷软件开发
Scrum
能力成熟度模型 CMM或SW-CMM或SCMM
阶段
初始级
可重复级
定义级
管理级
优化级
软件保证成熟度模型 SAMM
IDEAL模型
阶段
启动
诊断
建立
行动
学习
甘特图和PERT
变更和配置管理
变更
请求控制、变更控制和发布控制
配置
DevOps方法
DevSecOps
安全控制由代码主动管理
应用编程接口
curl
软件测试
白盒测试
测试人员可以访问源代码
黑盒测试
用户角度,不访问代码
灰盒测试
结合,但不分析内部原理
代码仓库
服务水平协议
第三方软件采购
创建数据库和数据仓储
数据库管理系统的体系结构
层次式数据库和分布式数据库
层次式:一对多
分布式:多对多
关系数据库
行列结构
数据库事务
属性
原子性
一致性
隔离性
持久性
多级数据库的安全性
使用视图
开放数据库互连 ODBC
NoSQL
键/值存储
图数据库存储图形格式数据
文档存储
类似键/值存储
常用文档类型:XML和JSON
存储器威胁
理解基于知识的系统
专家系统
知识库
一系列if/then语句对专家知识进行编码
推理引擎
决策
机器学习 ML
监督学习
使用标记的数据进行训练
无监督学习
使用未标记的数据进行训练
神经网络
考试要点
解释关系数据库管理系统(RDBMS)的基本架构。了解关系数据库的结构。能够解释表(关系、行(记录/元组)和列(字段/屆性)的功能。知道如何在表和各种类型的键间定义关系。描述由聚合和推理形成的数据库安全威胁。
解释专家系统、机器学习和神经网络如何工作。专家系统包括两个主要组件:包含一系列irthen 规则的知识库;使用知识库信息得到其他数据的推理引擎。机器学习技术试图通过算法从数据中发现知识。神经网络模拟人类大脑的运作,在有限的范围内通过安排一系列的分层计算来解决问题。神经网络需要针对特定问题进行大量训练,然后才能提供解决方案。
理解系统开发的模型。瀑布模型描述了一个连续的开发过程,结果是最终产品的开发。如果发现错误,开发人员只能回退到上个阶段。螺旋模型反复使用几个瀑布模型,从而生成多个详细说明的和经过完全测试的原型。敏捷开发模型将重点放在客户的需求上,快速开发新功能,以迭代方式满足这些需求。
解释敏捷软件开发中的 Scrum 方法。Scrum 是实现敏捷哲学的一种有组织的方法。它依靠每天的 Scrum 会议来组织和审查工作。开发集中于交付成品的短时间的活动冲刺。集成产品团队IPT是美国国防部采用这一方法的早期成果。
描述软件开发成熟度模型。知道成熟度模型旨在通过将临时的、混乱的软件过程发展为成熱的、规范的软件开发过程,从而帮助组织提高软件开发过程的成熱度和质量。能够描述SW-CMM、IDEAL 和 SAMM 模型。
理解变更和配置管理的重要性。知道变更管理流程的三个基本组件-—请求控制、变更控制和发布控制,以及它们如何有助于安全。解释配置管理如何控制组织中使用的软件版本。理解变更的审计和记录是如何抑制组织风险的。
理解测试的重要性。软件测试应当被设计为软件开发过程的一部分。软件测试应当作为改善设计、开发和生产过程的管理工具。
解释 DevOps 和 DevSecOps 在现代企业中的作用。DevOps 方法通过支持团队之间的自动化和协作,寻求集成软件开发和 I运营。DevSecOps 方法通过在集成模型中引入安全运营活动,扩展了 DevOps 模型。持续集成和交付(CICD)技术使 DevOps 和DevSecOps 管道自动化。
了解不同编码工具在软件开发生态系统中的作用。开发者用不同的编程语言编写代码,然后将代码编译成机器语言或通过解释器执行。开发人员可以使用软件开发工具集和集成开发环境来促进代码编写过程。软件库创建共享和可重用的代码,而代码仓库为软件开发过程提供了管理平台。
解释采购软件对组织的影响。组织可以购买商用现货(COTS)软件来满足其需求,也可使用免费开源软件(OSS)。这些软件都扩展了潜在的攻击面,需要进行安全审查和测试。
复习题
1. Christine 正在帮助她的组织通过 Devops 方法来部署代码。以下哪个选项不属于 DevOps模型的三个组件之一? A. 信息安全 B. 软件开发 C. 质量保证 D. IT运营
A
2.Bob 正在开发一个应用软件,该软件有一个输入框,用户可在其中输入日期。他想确保用户提供的值是准确日期,以防出现安全问题。下面哪一项技术是 Bob 应采用的? A. 多实例化 B. 输入验证 C.污染 D.筛选
B
3. Vincent 是一名软件开发人员,正在处理积压的变更任务。他不确定哪些任务应该具有最高优先级。变更管理流程的哪一部分可以帮助他确定任务的优先级? A. 发布控制 B.配罝控制 C. 请求控制 D. 变更审计
C 请求控制提供了对这些请求进行优先级排序的机会 请求控制为用户请求变更提供了一个有组织的框架 变更审计用于确保生产环境与变更记录一致
4 Frank 正在对其软件开发环境进行风险分析,他希望引入一种故障管理方法,在发生故障时将系统置于高安全级别。他应该用什么方法? A. 失效打开 B. 故障抑制 C. 失效关闭 D.故障清除
C 失效关闭:系统保持高安全级别,直到管理员介入 失效打开:低安全级,禁用控制,直到解决 故障抑制:减少故障的影响
5. 什么软件开发模型使用7阶段的方法和一个反馈回路,并且允许返回上一阶段? A. Boyce-Codd B.瀑布模型 C.螺旋模型 D.敏捷开发
B
6. Jane 为其团队正在开发的软件包提安全需求时使用威胁建模技术进行威胁评估。在软件保证成熟度模型(SAMM)下,她参与的是哪项业务功能? A. 治理 B. 设计 C. 实施 D. 验证
B 设计功能的一部分
7.以下哪一种键用于在数据库表之间强制执行参照完整性约束? A.候选键 B. 主键 C.外键 D.备用键
C 候选键:可能用作主键 备用键:未选择为主键 外键:数据库表之间强制执行参照完整性约束
8. Richard 认为,一个数据库用户滥用其特权进行查询,并结合大量记录中的数据来获 取公司整体业务趋势的信息。该数据库用户利用的过程是什么? A. 推理 B. 污染 C.多实例化 D.聚合
D
9.什么样的数据库技术可防止未投权用户因得不到通常可访问的信息而推导出机密 信息? A. 推理 B. 操控 C.多实例化 D.聚合
C 多实例化:允许将看起来具有相同主键值的多个记录插入具有不同分类级别的数据库中
10. 以下哪一项不是敏捷开发的原则? A.持续不断地提早交付以使客户满意 B. 业务人员和开发者相互合作 C.坚持不懈地追求技术卓越 D.在其他需求上优先考虑安全
D
11 什么样的信息用于形成专家系统的决策过程的基础? A.一系列加权分层计算 B. 结合大量的人类专家的输入,根据过去的表现加权 C.一系列被编入知识库的 if/then 规则 D. 一个模拟人类思维所使用的推理过程的生物决策过程
C
12. 在软件能力成熟度模型 SW-CMM 中,组织达到哪个阶段就可使用定量方法来详细了解开发过程? A. 初始级 B.可重复级 C.定义级 D.管理级
D
13. 以下哪个选项可作为应用程序和数据库之间的代理,以支持交互并简化程序员的工作? A. SDLC B. ODBC C. PCIDSS D. 抽象
B
14. 在哪项软件测试中,测试人员可访问底层的源代码? A. 静态测试 B. 动态测试 C.跨站脚本测试 D.黑盒测试
A 静态测试:白盒测试 动态测试:黑盒测试的一个例子
15. 哪类图表提供了一个有关调度的图形说明,有助于计划、协调和跟踪项目任务? A. 甘特图 B. 维恩图 C. 条形图 D. PERT
A
16. 当一个较高分类级别的数据与一个较低分类的级别数据混合时,数据库存在以下哪类安全风险? A. 聚合 B. 推理 C.污染 D.多实例化
C 书中原话
17. Tonya 正在对组织内使用的第三方软件包进行风险评估。她计划从她所在行业中非常受欢迎的供应商那里购买一种产品。什么术语最能描达这个软件? A. 开放源码 B. 定制开发 C. 企业资源规划(ERP) D.商用现货
D
18. 以下哪一项不是变更管理流程的一部分? A. 请求控制 B. 发布控制 C.配置审计 D.变更控制
C
19. 什么事务管理原则确保两个事务在操作相同的数据时不会相互干扰? A. 原子性 B. 一致性 C.隔离性 D.持久性
C 原子性:一部分失败,必须回滚整个事务 一致性:数据库必须始终处于负荷数据库模型规则的状态 持久性:必须保留提交到数据库的事务
20. Tom 建立了一个数据库表,这个表包含姓名、电话号码、业务相关的客户ID。这个表还包含30 个客户的信息,请问这个表的 “度”是名少? A. 2 B. 3 C. 30 D.未定义
B 基数-行 度-列