您的位置:首页 > 其它

CISSP学习:第20章软开开发安全

2021-03-07 00:38 1501 查看

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个。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: