CISSP学习:第20章软开开发安全
作者:互联网
2021年3月1日
在系统开发的每个阶段都应当考虑安全性。
编程语言:编译后不易被第三方操纵,但最终用户也无法查看原始指令。
1.编译型语言:C,Java,FORTRAN
2.解释型语言:Python,R,JavaScript,VBScript
面向对象(OOP)
保证:是据此在系统生命周期内构建信任的正规过程,CC提供了一种标准化的方法
避免和缓解系统故障:
1.输入验证
2.身份验证与绘画管理
3.故障防护和应急开放:故障防护(Fail-secure,故障时,高权才能访问)、应急开放(Fail-open,故障时,绕过安全控制)
系统开发生命周期
1.概念定义:有所有利益相关方(开发人员、客户、管理人员)协商的简单声明,规定了项目用途及系统大体需求。
2.功能需求确定:三个特征:输入、行为、输出。输出:功能需求文档。
3.控制规范的开发:具有安全意识的组织在开发伊始就设计,从多个安全角度分析:a.恰当访问控制,只有授权用户才能访问系统,并不允许超出授权级别;b.使用正确的加密和数据保护技术来保护关键数据的保密性;c.提供审计踪迹来强制实施个人的问责性,提供对非法活动的检测机制;d.根据系统的重要程度,必须解决可用性和容错问题。
4.设计评审
5.代码审计走查
6.用户验收测试
7.维护和变更管理
生命周期模型
1.瀑布模型:1970年Winstom Royce开发,反馈环特征,只允许开发人员后退一个阶段。
2.螺旋模型:1988年 Barry Boehm提出,元模型,“模型的模型”
3.敏捷软件开发:强调客户需求,快速开发新功能,迭代交付。“敏捷宣言”12原则:
- 最重要的目标是持续不断及早交付有价值的软件,使用户满意。
- 欢迎需求变化
- 经常性交付可工作的软件
- 业务人员和开发人员每天合作
- 激发个体斗志,以他们为核心搭建项目
- 团队内外,沟通信息最高效的方式是面对面交谈
- 可工作的软件是进度的首要度量标准
- 敏捷过程倡导可持续开发
- 坚持不懈追求技术卓越和良好设计
- 以简洁为本,减少不必要的工作量
- 最好的架构、需求和设计出自自组织团队
- 团队定期反思如何提高成效,并依次调整自身的举止表现
4.软件能力成熟度模型:分为五个阶段: - 第一阶段,初始级:几乎没有定义软件开发过程。
- 第二阶段,可重复级:基本生命周期管理过程,类似项目可预期具有可重复的结果。
- 第三阶段,定义级:软开人员依据一些列正式的、稳定化的软件开发过程进行操作。标准化管理所有项目。
- 第四阶段,管理级:定量衡量获得开发过程的详细信息。SEI关注的处理范围定义为:定量处理管理和古人讲质量管理。
- 第五阶段,优化级:持续改进过程,成熟过程确定。SEI关注的处理范围定义为:缺陷预防,技术更改管理,过程更改管理。
5.IDEAL模型,实现多个SW-CMM属性,五个阶段:启动、诊断、建立、行动、学习。
甘特图:显示不同时间项目和调度之间相互关系的条形图。
计划评审技术,PERT(Program Evaluation Review Technique),项目调度工具:用于开发中判断软件产品大小并为风险评估计算标准偏差。
变更管理:作为安全工具。三个基本组件:请求变更、变更控制、发布控制。
配置管理:用于控制整个组织范围内使用的软件版本,并正式跟踪和控制对软件配置的更改。4个主要组件:配置标识、配置控制、配置状态统计、配置审计。
DevOps方法:将软件开发,质量保证,技术操作集中在一个模型中,大幅度缩短开发、测试、部署时间。
应用编程接口(API):
1.必须考虑身份验证要求。
2.必须彻底测试安全缺陷。
软件测试:白盒、黑盒、灰盒;静态、动态。
代码仓库:
1.功能:存放源代码;版本控制、错误跟踪、web托管、发布管理和可支持软件开发的通信功能。
2.安全:必须适当控制开发人员对仓库的访问,仔细设计访问控制,仅允许适当的用户读取或写入。
服务水平协议:除服务指标外,还包括财务和补救措施。
软件采购:安全:
1.正确配置软件满足安全目标
2.关注安全公告和补丁,及时修复新发现的漏洞。
3.SaaS中,安全人员也要负责监控供应商的安全,验证供应商的安全措施。
数据库管理系统
1.层次式数据库以分层方式存储数据;分布式数据库的数据映射关系是多对多。
2.关系数据库:行列组成的二维表。行数为基数,列数为度。
候选键:可用于唯一标识表中记录的属性子集。
主键:从表候选键中选出来用来唯一标识表中记录的键。
外键:用于强制在两个表之间建立关系。
3.数据库事务:4个特征:原子性、一致性、隔离性、持久性
4.数据库并发性:两个进程同时更新数据,可能会丢失数据;从没有成功提价ode事务中读取记录,会出现脏读。
5.ODBC:应用程序和后端数据库驱动程序之间的代理。
6.NoSQL:键值存储,图数据库;文档数据库
存储器类型:
1.主存储器:内存。CPU可直接读取。
2.辅助存储器:硬盘,CD、DVD,可长期存储。
3.虚拟内存:辅助存储器模拟主存储器。
4.虚拟存储器:主存储器模拟辅助存储器,加快文件系统的读取。
5.随机访问存储器:RAM,硬盘
6.顺序访问存储器:磁带。
存储器威胁:
1.非法访问:使用加密是最好的方法。
2.隐蔽通道
基于知识的系统
1.专家系统:2个组件:知识库(包含专家系统已知的规则),推理引擎(对知识库中的信息进行分析,得到正确的决策);决策不受情绪影响,适合股票等系统
2.机器学习:从数据集中分析出新知识。监督学习(使用标记数据进行训练),非监督学习(使用未标记数据进行训练)
3.神经网络:计算单元键尝试模仿人脑的生物学推理过程,是机器学习的延伸,又叫深度学习或认知系统
4.安全性应用:基于知识分析技术的优点:快速做出一致决策的能力
课后习题20题,错了4个。
标签:20,管理,数据库,CISSP,章软开,安全,开发,软件,模型 来源: https://blog.51cto.com/314837/2649835