CISP软件安全开发课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《CISP软件安全开发课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CISP 软件 安全 开发 课件
- 资源描述:
-
1、软件安全开发软件安全开发课程内容课程内容2软件安全开发软件安全开发知识体知识域软件安全软件安全开发概况开发概况软件安全需求和设计软件安全需求和设计软件安全编码软件安全编码软件安全测试软件安全测试软件安全开发软件安全开发的关键工作的关键工作软件安全开发的必要性软件安全开发的必要性软件安全开发背景软件安全开发背景知识子域软件安全开发模型及研究软件安全开发模型及研究知识域:软件安全开发概况知识域:软件安全开发概况v知识子域:软件安全开发背景 了解软件的发展和产生的安全问题 了解软件安全问题产生的原因3软件安全的基本概念软件安全的基本概念v软件的定义 计算机程序、方法、规则和相关的文档资料以及在计算机
2、上运行时所需的数据(IEEE)v软件安全 采用系统化、规范化、数量化的方法来指导构建安全的软件v软件安全基本概念 使安全成为软件开发的必须部分 软件安全工程化三个支柱:风险管理、软件安全切入点、安全知识4软件安全问题广泛存在软件安全问题广泛存在v软件应用广泛 电脑游戏、火车票售票系统、多媒体教学 手机、航天飞机、人造卫星 v软件安全问题广泛存在 运行错误 售票系统反应慢、连不上、崩溃 多媒体教学系统死机 黑客盗取泄漏的银行密码 v安全问题日益增加56软件安全问题产生后果软件安全问题产生后果v软件安全问题的后果 造成产品运行不稳定,得不到正确结果甚至崩溃可靠性、可用性 被恶意攻击,导致信息泄漏/
3、数据破坏等后果保密性、完整性v一些因软件安全问题导致的严重后果 售票系统瘫痪 美国放射治疗仪超剂量辐射事件 阿丽亚纳5号火箭首发失败事件 Stuxnet病毒攻击伊朗布什尔核电站6软件产生安全问题的原因软件产生安全问题的原因v内因 软件开发安全意识淡薄 软件开发缺乏安全知识 软件趋向大型化和复杂化 软件第三方扩展增多v外因 软件使用场景更具威胁7软件越来越复杂软件越来越复杂8 eg.Windows 系列软件源代码行数系列软件源代码行数9漏洞与软件安全漏洞与软件安全v漏洞普遍存在 平均每1000行程序存在20个缺陷 (Dacey 2003) 采用严格的软件开发质量管理机制和多重测试环节,软件公司的
4、缺陷率( 千行代码):普通软件开发公司的缺陷密度为440个缺陷高水平的软件公司的缺陷密度为24个缺陷美国NASA的软件缺陷密度可达到0.1个缺陷v漏洞已经成为危害软件安全的主要因素 危及用户对软件的信任、业务运营,还会危及一系列关键基础设施和应用9传统的软件开发局限性传统的软件开发局限性传统软件开发教育的局限性传统开发人员能力的局限性传统软件生命周期的局限性 软件教育包括软件工程、数据结构、编译原理、系统结构、程序语言等 缺乏安全开发教育 对安全问题没有的足够理解 不了解安全设计的基本原理 不知道安全漏洞的常见类型 不知道如何设计针对安全的测试数据 软件生命周期包括需求分析、架构设计、代码编写
5、、测试和运行维护五个阶段 缺乏安全介入的阶段10 需要安全的软件开发!需要安全的软件开发!需要安全的软件需要安全的软件v理想的安全软件 不存在安全漏洞 能抵御各种攻击威胁 按照预期的方式执行:do what is intendeddo what is intendedv软件安全保障的思路 通过在软件开发生命周期各阶段采取必要的、相适应的安全措施来避免绝大多数的安全漏洞。 采取措施只能有效减少,但并不能完全杜绝所有的安全漏洞。1112软件安全保障软件安全保障v软件可以规避安全漏洞而按照预期的方式执行其功能v目标:在软件开发生命周期中提升软件的安全性 可信赖性:无论是恶意而为还是无意疏忽,软件都没
6、有可利用的漏洞存在 可预见性:对软件执行时其功能符合开发者的意图的信心。 遵循性:将(软件开发)跨学科的活动计划并系统化,以确保软件过程和软件产品满足需求、遵循相关标准。12软件安全保障与风险管理软件安全保障与风险管理v在软件安全保障中,需要贯彻风险管理的思想 “安全就是风险管理”v软件安全是以风险管理为基础 安全不必是完美无缺的,但风险必须是能够管理的v最适宜的软件安全策略就是最优的风险管理对策 这是一个在有限资源前提下的最优选择问题 防范不足会造成直接的损失;防范过多又会造成间接的损失1314软件安全开发生命周期软件安全开发生命周期v软件安全开发 采取措施防止由于设计、开发、提交、升级或维
7、护中的缺陷而导致的系统脆弱性 20世纪末/21世纪初开始展开研究v 安全软件开发生命周期 思想:安全软件开发涵盖了软件开发整个生命周期 通过软件开发的各个步骤来确保软件的安全性,其目标是确保安全的软件得以成功15安全软件开发生命周期安全软件开发生命周期v思想:将安全融入 在设计/开发/测试等过程中融入安全 在传统的过程中增加安全过程v思想:安全提前介入 NIST:在软件发布以后进行修复的代价是在软件设计和编码阶段即进行修复所花代价的30倍 软件系统发布以后才进行漏洞修复代价是最高的,且常常伴随着软件系统使用者的极大损失v思想:软件安全开发标准化和规范化 规范指南 最佳实践1516降低解决软件安
8、全问题的代价降低解决软件安全问题的代价v早期发现并改正错误有以下优点 在软件开发生命周期中,后面的阶段改正错误开销比前面的阶段要高出数倍 早期发现并改正错误可以减少时间和开销16知识域:软件安全开发概况知识域:软件安全开发概况v知识子域:软件安全开发模型及研究 了解安全开发生命周期(SDL)的发展历程,理解SDL的主要内容 了解使安全成为软件开发必须的部分(BSI)系列模型 了解综合的轻量级应用安全过程(CLASP)的主要内容 了解软件保障成熟度模型(SAMM)的框架 了解各个模型的特点及适用性17可信计算安全开发生命周期可信计算安全开发生命周期v微软,2002.1,盖茨v 安全开发生命周期S
9、DL(The Trustworthy Computing Security Development Lifecycle) 自 2004 起,SDL 作为全公司的计划和强制政策,在将安全和隐私植入软件和企业文化方面发挥了重要作用。 通过将整体和实践方法相结合,SDL 致力于减少软件中漏洞的数量和严重性。SDL 在开发过程的所有阶段中均引入了安全和隐私。18SDLSDL发展历史发展历史v2002.1今 20 世纪 90 年代中期到后期 (Melissa) 和 21 世纪初期(Code Red、Nimda、UPnP 等)出现了一系列影响重大的恶意软件事件,促使微软重新考虑开发人员安全过程和策略192
10、0SDLSDL的阶段和安全活动的阶段和安全活动v软件安全开发生命阶段 5+2=7个阶段 16项必需的安全活动20SDL每个阶段用到的工具每个阶段用到的工具2122IE采用采用SDL后的效果后的效果22Source: Browser Vulnerability Analysis, Microsoft Security Blog 27-NOV-2007采用采用SDL之前之前采用采用SDL之后之后漏洞总数降低了35%高危漏洞数降低了63%正式发布后12个月内修复的漏洞总数BSIBSI系列模型系列模型vBSI使安全成为软件开发必须的部分 Building Security IN,BSI Gray Mc
11、Graw,Cigital公司v在整个软件开发生命周期中要确保将安全作为软件的一个有机组成部分。 无须改变你的软件开发方法 适用各种软件开发生命周期v合作 NIST 美国国土安全部 大学(加州大学戴维斯分校、普林斯顿、莱斯)2324软件安全的三根支柱软件安全的三根支柱v三根支柱 应用风险管理(战略) 软件安全接触点(战术) 知识2425接触点模型接触点模型v接触点,即在软件开发生命周期中保障软件安全 一套最优方法、一种战术性方法 在每一个开发阶段上尽可能地避免和消除漏洞 “黑帽子”和“白帽子”2526BSIMMBSIMMvBSI成熟度模型 Building Security In Maturit
12、y Mode Gary McGraw、Brian Chess和Sammy Migues 使用SSF对所有项目进行描述 了解别人的安全项目过程,指导自己的安全项目v目标 是对真实的软件安全项目所开展的活动进行量化 构建和不断发展软件安全行动的指南vBSIMM 3.0 2011年 42个公司(Microsoft、Intel、Google、)2627BSIMMBSIMM结果图结果图2728SSFSSFvSSF(Software Security Framework) 软件安全框架28SAMMSAMMvOWASP SAMM Software Assurance Maturity Mode 软件保证成熟
13、度模型 OWASP(开放Web应用安全项目)v一个开放的框架,用以帮助制定并实施针对软件安全特定风险的策略 评估一个组织已有的软件安全实践; 建立一个迭代的权衡的软件安全保证计划; 证明安全保证计划带来的实质性改善; 定义并衡量组织中与安全相关的措施。 2930SAMMSAMMv规定了四个软件开发过程中的核心业务功能 治理:组织管理其软件开发的过程和活动 构造:组织在开发项目中确定目标并开发软件的过程与活动 验证:组织测试和验证软件的过程与活动 部署:组织软件发布的相关管理过程与活动v4个成熟度级别 0-3级3031OWASP SAMMOWASP SAMM3132CLASPCLASPv综合的轻
14、量应用安全过程综合的轻量应用安全过程(Comprehensive, Lightweight Application Security Process (CLASP) )v选取了30个特定的基于角色的活动(activities),用于提升整个开发团队的安全意识,并针对这些活动给出了相应的指南、导则和检查列表3233CLASPCLASP介绍介绍v 基于角色 项目经理 、需求分析师 、软件架构师 、设计者 、实施人员 、集成和编译人员 、测试者和测试分析师 、安全审计员v对于每个活动,CLASP描述了以下内容 安全活动应该在什么时间、应该如何实施 如果不进行这项安全活动,将会带来的多大的风险 如果实
15、施这项安全活动,估计需要多少成本3334各模型比较各模型比较34SDL文档丰富,维文档丰富,维护更新及时护更新及时较多工具支持较多工具支持适合大型企业适合大型企业BSI接触点强调开发安全强调开发安全重点重点注重实用方法注重实用方法上手容易上手容易BSIMM最佳实践参考最佳实践参考他山之玉他山之玉不强制实践不强制实践CLASP 轻量级过程;轻量级过程;以角色及其职以角色及其职责为核心责为核心适合小型企业适合小型企业SAMM开放框架开放框架安全知识要求安全知识要求较低较低和和BSIMMBSIMM的安全的安全活动能对应活动能对应35知识域:软件安全开发关键工作知识域:软件安全开发关键工作v知识子域:
展开阅读全文