软件安全03安全软件工程.ppt
《软件安全03安全软件工程.ppt》由会员分享,可在线阅读,更多相关《软件安全03安全软件工程.ppt(63页珍藏版)》请在课桌文档上搜索。
1、软件安全技术,第3部分 安全软件工程,3.1 SSE-CMM3.1.1 SSE-CMM背景及发展3.1.2 SSE-CMM主要内容3.1.3 关于安全软件工程-基于SSE-CMM的实施3.1.4 关于SSAM3.2 SDL,3.1.1 SSE-CMM背景与发展,SSE-CMM背景知识开发SSE-CMM的目的:降低开发和维护系统的花费;提高工程进度和预算的一致性;选择合适的承包者。发起者国防部;国家安全局。,SSE-CMM项目发展,1993年4月开始酝酿;1996年10月出版了SSE-CMM模型的第一个版本;1997年4月出版了评定方法的第一个版本;1999年4月出版了第二版;正在申报国际标准I
2、SO/IEC 21827。测评中心于1999年4月将第二版翻译成中文。,能力方面,3.1.2 SSE-CMM主要内容,能力级别,能力级别非正式执行公共特征执行基本实施能力级别计划与跟踪公共特征计划执行规范化执行验证执行跟踪执行,能力级别充分定义公共特征定义标准过程执行已定义的过程协调安全实施能力级别定量控制公共特征建立可测的质量目标客观地管理过程的执行能力级别连续改进公共特征改进组织能力改进过程的有效性,域方面,工程和安全实施是安全工程过程中必须存在的性质,指出特殊过程区的目的并属于该过程区,每个过程区(PA)是一组相关安全工程过程的性质,当这些性质全部实施后则能够达到过程区定义的目的。,一组
3、过程区指出活动的同一通用区,SSE-CMM的22个过程区(PA),管理安全控制评估影响监视影响评估威胁评估脆弱性建立保证论据协调安全监视安全态势提供安全输入指定安全要求验证和证实安全,质量保证管理配置管理项目风险监控技术活动规划技术活动定义组织的系统工程过程改进组织的系统工程过程管理产品系列进化管理系统工程支持环境提供不断发展的技术和知识与供应商协调,3.1.3 关于安全工程与评估,安全工程分三个基本过程:风险、工程和保证风险过程是要确定产品或者系统的危险性,并对这些危险性进行优先级排序工程过程是针对面临的危险性,安全工程过程与相关工程过程一起来确定并实施解决方案保证过程是建立起对解决方案的信
4、任,并把这种信任传达给顾客,风险,评估结果,SSAM(SSE-CMM评定方法),SSAM 为了进行评定,收集数据广泛、严格,每个数据有充分的证据。此方法在评定过程中最大程度地发挥了SSE-CMM模型的功效。此方法:决定实施安全工程过程的能力;为了评定定义了安全工程环境;在评定时巧妙地使用了SSE-CMM体系结构中的两个方面。,3.2 SDL-安全开发生命周期模型,3.2.1 关于SDL(Secure Development Lifecycle)3.2.2 SDL概览3.2.3 SDL各个阶段特征,3.2.1 关于SDL,什么是 SDL?Secure Development Lifecycle微
5、软可信计算(TrustWorthy Computing)努力的一个组成部分基于并行理念的标准软件开发过程基于威胁建模和测试,设计安全:为了保护软件自身以及软件处理的信息,并抵御攻击,软件应该从架构,设计和实现上进行考虑,3.2.2 SDL概览,SDL从三个方面考虑软件安全的保障。,缺省安全:设计者应该假定安全缺陷将会出现。为了当攻击者对软件存在的缺陷进行攻击时使损害降到最小,软件的缺省状态应该保证安全。比如,最小特权原则。,提交安全:工具和指南应该随着软件提供以帮助最终用户或管理员安全使用。关于软件的更新应该容易提交。,SDL过程(SDL13阶段模型),第0阶段教育和意识,第1阶段项目启动,第
6、2阶段定义并遵从最佳设计实践,第3阶段产品风险评估,第4阶段风险分析,第5阶段创建安全文档工具及客户最佳实践,第6阶段安全编码策略,第7阶段安全测试策略,第8阶段安全推进活动,第9阶段最终安全评审,第10阶段安全响应规划,第11阶段产品发布,第12阶段安全响应执行,第0阶段:教育和意识,第0阶段教育和意识,第1阶段项目启动,第2阶段定义并遵从最佳设计实践,第3阶段产品风险评估,第4阶段风险分析,第5阶段创建安全文档工具及客户最佳实践,第6阶段安全编码策略,第7阶段安全测试策略,第8阶段安全推进活动,第9阶段最终安全评审,第10阶段安全响应规划,第11阶段产品发布,第12阶段安全响应执行,安全教
7、育的主要内容基础内容(1):,可信计算概述SDL简介安全设计基础:受攻击面分析深度防御最小特权安全默认配置,安全基础教育内容(2),威胁建模设计威胁建模编码威胁建模测试威胁建模安全编码实践缓冲区溢出,整型数值问题跨站脚本攻击SQL注入攻击弱加密机制微软.NET规范问题JAVA规范问题,安全教育持续教育内容(1):,安全的软件设计、开发与测试基础模糊测试精要威胁建模精要实施威胁消减措施安全设计与架构:久经考验的设计原则SDL介绍与最终评选过程安全工具概述实战安全代码评审安全编程实践安全BUG精要,持续教育内容(2),受攻击面分析漏洞开发打包过程需求安全响应加密范例客户隐私,成功的安全 教育与意识
8、培训要素:,管理层明确支持富有经验的演讲者持续进行的改进,第1阶段:项目启动,第0阶段教育和意识,第1阶段项目启动,第2阶段定义并遵从最佳设计实践,第3阶段产品风险评估,第4阶段风险分析,第5阶段创建安全文档工具及客户最佳实践,第6阶段安全编码策略,第7阶段安全测试策略,第8阶段安全推进活动,第9阶段最终安全评审,第10阶段安全响应规划,第11阶段产品发布,第12阶段安全响应执行,项目启动阶段主要内容:,判断SDL是否覆盖应用任命安全顾问组建安全领导团队确保在BUG追踪管理过程中包含安全、隐私类BUG建立BUG标准,第2阶段:定义并遵从设计最佳实践,第0阶段教育和意识,第1阶段项目启动,第2阶
9、段定义并遵从最佳设计实践,第3阶段产品风险评估,第4阶段风险分析,第5阶段创建安全文档工具及客户最佳实践,第6阶段安全编码策略,第7阶段安全测试策略,第8阶段安全推进活动,第9阶段最终安全评审,第10阶段安全响应规划,第11阶段产品发布,第12阶段安全响应执行,定义并遵从最佳设计阶段主要内容:,常见安全设计原则受攻击面分析与降低,包括两部分内容,常见安全设计原则:,经济机制:代码尽可能简单、紧凑。软件愈复杂,出现安全BUG的可能性愈高。默认失效保护:任何请求缺省应加以拒绝。安全中介:每个访问受保护对象的行为应当被检查。公开设计:与“不公开即安全”的原则相对应。设计自身不应具有神秘感。权限分离:
10、切勿允许基于单一条件的操作过程。最小特权:只授予执行操作所必须的最小特权。最少公共机制:使公共资源尽可能少。心理可接受程度:安全产品与技术是否容易使用?用户能否接受?与UI的密切配合。,受攻击面分析:,受攻击面分析:枚举所有接口、协议以及可执行代码的过程。软件的受攻击面:代码接口服务协议其他,受攻击面降低:,核心观点:在所有代码中存在至少一个或多个漏洞的可能性一定不为零,一部分严重漏洞会导致用户不得不接受妥协。唯一解决上述问题的方法是将代码的利用率降至为零。受攻击面降低的方法:综合考虑尽善尽美的安全与无法规避的风险二者之间的关系,尽可能减少未经信任的用户可能接触到的代码比例,受攻击面降低具体方
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 安全 03 软件工程
![提示](https://www.desk33.com/images/bang_tan.gif)
链接地址:https://www.desk33.com/p-235658.html