CISSP培训-软件开发的安全要求
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
·配置管理与 控制 ·持续监控
·信息保存 ·介质净化 ·硬件和软件 处理
·开发安全测试与评估
·其他规划组件
软件开发生命周期
项目管理(Project Management) 需求收集阶段(Requirements Gathering Phase) 设计阶段(Design Phase) 开发阶段(Development Phase) 测试/验证阶段(Testing/Validation Phase) 测试类型(Testing Types) 发布维护阶段(Release/Maintenance Phase)
analysis ) 安全保障需求分析(Security assurance requirements
analysis ) 第三方评估(Third-party evaluations ) 安全计划(Security plan ) 安全测试和评估计划(Security test and evaluation plan)
确定安全需求(Identify Security Needs),包括信息/ 应用的安全级别和关键程度、基本安全目标、安全控 制工作量;
评估备选方案(Evaluate Alternatives) 初始风险分析(Initial Risk Analysis),包括威胁/缺陷/风
险、安全备选方案的技术、操作、经济可行性分析、安全 相关成本效益评价;
需要一个新的系统被定义
采购/开发(Acquisition/Development)
新系统创建或购买
实施(Implementation)
新系统安装到生产环境
运行/维护(Operations/Maintenance)
系统的使用和关注
处置(Disposal)
系统从生产环境中删除
Βιβλιοθήκη Baidu
启动(Initiation)
软件控制主要通过操作系统、应用程序、数据库管理控制 来实现
功能的复杂性
功能需求-安全需求-安全机制的平衡
数据的类型、格式与长度
处理数据输入时,长度不是唯一需要考虑的对象
实现和默认配置问题
理想的默认配置是默认拒绝,由于用户的友好配置往往实 现的是最低安全防护
系统开发生命周期
启动(Initiation)
NIST所提供的SDLC模型分解
启动
决定需求:
·认识需求
·任务与性能目
SDLC
标之间的联系 ·评估备用资本
资产
·准备资本审查
和预算
安全注 ·安全分类 意事项 ·初始风险评估
购置/开发
实 现 运作/维护
处置
·功能需求声明
·市场调查 ·可靠性研究 ·需求分析 ·备用方案分析 ·成本/收益分析 ·软件转换研究 ·成本分析 ·风险管理计划
认可(accreditation)
管理层对系统的正式认可,也是对风险的明确接受。
运行/维护(Operations/Maintenance)
运行和维护阶段开始部分的工作包括配置新系统并将 其正确地接入网络和工作环境
通过持续进行脆弱性测试,监控系统活动和审计事件, 就可以实现运作保证
如果系统、产品或环境产生重大变化,那么就可能需 要执行一次新的风险分析与一个新的认证和认可过程
软件开发的安全要求 SDS
CISSP培训之九
关键知识领域
A. 理解安全的概念并将其应用于软件开发的生命周期
A.1 软件开发的生命周期 A.2 成熟度模型 A.3 操作与维护 A.4 变更管理
B. 理解环境与安全控制
B.1 软件环境的安全 B.2 编程语言的安全问题 B.3 源代码的安全问题(如缓存溢出、权限升级、后门程序) B.4 配置管理
处置(Disposal)
当系统过期或报废时,可能需要采取一些步骤来保证 以安全的方式进行过渡。根据系统中保存的数据的敏 感度级别,应该采取不同的处理方式
信息可能需要归档、备份至另一个系统、舍弃或者销毁 如果数据是敏感的,并且需要被销毁,那么可能需要通过
重写、消磁或者物理破坏存储介质进行清除。
实施(Implementation)
实施阶段着重于如何使用和操作开发好的系统或应用 程序。产品需要配置到一个正确的保护级别。应当执 行功能性和性能测试,同时应当分析结果并将其与公 司的安全需求进行比较
认证(certification)
一个检查和评估安全控制的过程,通常由外部独立检查机 构执行
C. 软件安全的有效性评估
C.1 认证与认可(即系统授权) C.2 审计与记录 C.3 风险分析与风险减缓
目录
哪里需要安全? 系统开发生命周期 软件开发生命周期 安全软件开发的最佳实践 软件开发模型 能力成熟度模型集成 变更控制 编程语言和概念 分布式计算移动代码 Web安全 数据库管理 专家系统/基于知识的系统 人工神经网络 恶意软件(malware)
哪里需要安全
(1) 为打败竞争对手向市场发布带有缺陷的软件
(2) 黑客发现新软件中的新脆弱性和弱点
(3) 在网站上公布这些脆弱性和利用它们的方法
(4) 供应商开发并发布补丁,以修复脆弱性 (5) 新补丁添加到大量的软件补丁中,所有网络管理 员都需要测试和安装它们
哪里需要安全
不同的环境需要不同的安全 环境与应用程序
·安装 ·检查 ·验收测试 ·初步的培训 ·文档资料
·性能评估 ·合约修改 ·运行 ·维护
·处理的适当 性 ·交流与销售 ·内部组织机 构筛选 ·转让与捐献 ·终止合约
·购置规划
·风险评估
·安全功能需求分析
·安全保证需求分析 ·成本注意事项与报告 ·安全规划 ·安全控制开发
·检查与验收 ·系统集成 ·安全认证 ·安全鉴定
方案的选择/批准(Select/Approve Approach)
确定安全框架(Identify Security Framework),包括基本 安全问题和风险、确定服务水平协议。
采购/开发(Acquisition/Development)
需求分析(Requirements analysis) 正式的风险评估(Formal risk assessment) 安全功能需求分析(Security functional requirements