【CISSP备考】第八章-软件开发安全

软件开发生命周期

1、软件开发通常都是以功能为优先,而不是安全优先

2、软件内的缺陷一开始,就导致了绝大多数的缺陷,人们倾向于通过周边设备来解决问题

应用开发需要注意的安全问题

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

环境与应用

功能与安全

实施和默认的问题

在系统开发过程中应当考虑安全

系统开发生命周期

概念定义、功能需求确定、控制规范的开发、设计评审、代码审查走查、用户验收测试、维护和变更管理

瀑布模型:具有反馈环特征,允许开发者返回之前的阶段,从而纠正后续阶段所发生的错误

系统需求、软件需求、初步设计、详细设计、编码及调试、测试、运行与维护

缺点:只允许开发人员后退一个阶段、并且没有对开发周期后期发现错误如何处理做出相应规定

螺旋模型:允许瀑布处理类型多次反复,因为封装了其他模型,被称为元模型或者模型的模型

确定目标,替代和约束,评估替代,识别和消除风险,计划下一阶段,开发和验证下一级产品

解决了瀑布模型的缺点,即技术需求和客户需求发生变化,需要改进系统,允许开发人员回到计划编制等初始阶段

敏捷软件开发:

价值:注重个体交互重于过程和工具、有效的软件重于完整的文档、客户合作重于合同谈判、响应变更重于遵循计划

软件能力成熟度模型:CMM

初始级:完全没有定义软件开发过程

可重复级:如:需求管理、软件项目计划编制、软件项目跟踪和监督、软件转包合同管理、软件质量保证、和软件配置管理

定义级:软件开发人员依照一系列正式的、文档化的开发过程进行操作,主要范围为:组织处理中心、组织处理定义、培训计划、综合的软件管理、软件产品工程、团体之间的对等协调和对等评审

管理级:主要范围为:定量处理管理和软件质量管理

优化级:缺陷预防、技术更改管理和过程更改管理

IDEAL模型:

实现了CMM属性:启动、诊断、建立、行动、学习

甘特图是一种显示不同时间项目和调度之间相互关系的条形图,提供了帮助计划,协调跟踪项目的调度表

计划评审技术(PERT):是一种项目调度工具用来判断产品软件的大小和对风险评估计算标准偏差,被用于直接改进项目管理和编码

变更和配置管理:

软件发布到生产环境,必然面临用户要求增加新功能,修正bug以及对代码的其他更改,这些变更必须被集中记录,以支持将来的调查审计和分析

变更管理流程:请求变更,变更控制,发布变更

配置控制:配置标识、配置控制、配置状态审计、配置审计

DevOps模型与敏捷开发方法紧密配合,旨在大幅度缩短开发、测试和部署软件所需的时间,软件开发、质量保证、IT操作三者结合在一起

应用编程:

软件测试:白盒测试、黑盒测试、灰盒测试、静态测试(通过分析源代码或编译的应用程序来评估软件的安全性)、动态测试(无法访问软件源代码,只能针对程序进行动态扫描之类的安全测试)

SLA服务水平协议:把所有的数字电路、应用程序、信息处理系统、数据库或其他关键组件置入SLA是明智的

通常包括如下:系统正常运行时间、最大连续停机时间、高峰负荷、平均负荷、责任诊断、故障切换时间

数据库管理系统体系结构

数据库管理系统:DBMS

关系型数据库管理系统:RDBMS

重要的DBMS体系结构:层次式数据库和分布式数据库

1、层次式和分布式数据库

层次式数据模型将关联的记录和字段组合为一个逻辑树结构

分布式数据模型将数据存储在多个数据库中,不过这些数据库是逻辑链接的

2、关系数据库

面向对象数据库:OODB

候选键、主键、外键

数据库事务的四个特征:原子性、一致性、隔离性、持久性

多级数据库的安全性:并发性保护完整性和可用性、其他安全机制

开放数据库互连:ODBC

NoSQL

存储数据和信息

目的是保护存储在计算机内存或者物理介质当中的信息

存储器类型:

1、主存储器:由系统的CPU可直接访问的主要存储资源组成。RAM

2、辅助存储器:由许多廉价的、非易失性的可供长期使用的存储资源组成(磁带磁盘等)

3、虚拟内存:利用辅助存储器模拟额外的主存储器资源

4、虚拟存储器:允许利用主存储器模拟辅助存储器的资源

5、随机访问存储器:准许操作系统请求介质上任意位置的内容,ram和硬盘都是例子

6、顺序访问存储器:从头到指定地址对整个介质进行扫描

7、易失性存储器:资源断电会丢失存储在里边的内容,RAM就是最常见的例子

8、非易失存储器:不依赖于电源的供电来维持存储内容

威胁:1、会有未授权访问的风险  2、隐蔽通道攻击

以知识为基础的人工智能系统:

专家系统:试图把人类在某个特殊学科积累的知识具体化,并且以一致的方式应用于未来的决策,主要组件有知识库和推理引擎

例如:如果飓风是4级,那么洪水一般会达到海拔20尺高

机器学习

神经网络

恶意代码和应用攻击

病毒传播技术:

1、主引导记录病毒:攻击MBR(可启动介质:如硬盘等),将不读存储在存储介质的其他地方,系统读取受感染的MBR时,病毒会引导系统读取并且执行存储在其他地方的代码

2、文件程序感染病毒

3、宏病毒

4、服务注入病毒

病毒技术:

复合病毒:使用多种传播技术试图渗透只防御其中一种方法的系统

隐形病毒:通过篡改操作系统欺骗反病毒软件

多态病毒:修改自身的特征代码

加密病毒:

逻辑炸弹:感染系统并且在满足一个或者多个逻辑条件前保持休眠状态的恶意代码

特洛伊木马:表面无害实际包含了恶意代码

蠕虫

密码攻击:

密码猜测攻击:猜测密码的形式,如abc123  wx123

字典攻击:

社会工程学是获得系统访问权限最有效的工具之一

安全对策:进行安全培训

应用程序攻击:

缓冲区溢出

检验时间到使用时间TOCTOU:系统设置了访问权限,但是该角色已经登录,该会话在设置访问权限的时间之前就已经获得了权限

后门:没有被记录到文档当中的命令序列,允许开发人员绕过正常的访问控制

权限提升和rootkit:利用操作系统已知漏洞

web应用安全:

跨站脚本,SQL注入、侦察攻击(ip探测、端口扫描、漏洞扫描),伪装攻击(ip欺骗、会话劫持)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值