软件安全开发生命周期概述.pptx

  1. 1、本文档共74页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件安全开发生命周期;软件安全开发生命周期(SDL) 基于WEB应用程序的SDL;简介 安全需求分析 安全设计 安全编程 安全测试 安全部署及安全响应 ;简介 安全开发周期,即Security Development Lifecycle (SDL),是微软提出的从安全角度指导软件开发过程的管理模式。SDL不是一个空想的理论模型。它是微软为了面对现实世界中安全挑战,在实践中的一步步发展起来的软件开发模式。 典型的软件开发流程中,如瀑布模型,中心围绕着产品功能,完全没有安全方面的考虑。这样的开发流程可以造就功能上相对完善的软件,但是无法满足在安全上的需要。由于软件开发过程中未进行任何有效的安全控制措施,导致软件开发后由于其固有的安全隐患所引起的安全事件频频发生,给黑客及恶意人员可趁之机,由此导致的经济损失不可估量。 ; 虽然目前企业和组织已经逐步意识到软件安全的重要性,但是他们把目光更多的聚焦到了软件开发后的漏洞扫描或渗透测试,尽管这个过程能够发现和解决大多数的安全隐患,但是后期的安全评估和安全整改,将带来更大的成本投入和人力投入;甚至由于开发人员的流动导致许多安全漏洞无法得到解决。据美国国家标准局(NIST)早年发表的一份调查报告估计,更好的安全控制措施将为后期安全整改的总体成本节省三分之一以上的费用,且有效规避70%以上由于软件安全隐患所引发的安全事件。 ;软件安全开发生命周期;简介 安全需求分析 安全设计 安全编程 安全测试 安全部署及安全响应 ;安全需求分析——设定安全目标 在需求分析阶段,加入以下的安全考虑 产品提供的安全功能 产品如何安全的与用户(或其它软件模块)交互 特别的,安全方面的考虑对产品开发计划的影响 产品的风险评估和威胁模型(threat modeling) 产品的缺省功能配置;简介 安全需求分析 安全设计 安全编程 安全测试 安全部署及安全响应 ;安全设计 在安全设计阶段,特别加入以下两方面的考虑 减少攻击界面。例如,对一个网络软件的设计,它需要监听那些网络端口,是否可以减少监听端口的数目?那些用户可以与这些端口建立连接,是否要加强身份验证? 深层防御。底层模块的设计中,假设上层模块有可能出现安全漏洞。对传递的数据考虑进一步校验;简介 安全需求分析 安全设计 安全编程 安全测试 安全部署及安全响应 ;安全编程 独立、完整且集中的输入验证 创建并使用了独立的用户输入验证模块以完成对所有用户的输入校验,以此可带来: 统一的输入检测策略 统一的验证逻辑 统一的错误验证处理 降低升级和维护成本;校验全部的程序输入 保证所有变量在使用之前都经过严格的校验,防止被污染的数据进入程序。 校验全部的输入长度 通过限制输入长度,可以有效的控制一些攻击使其不给系统带来过大的威胁: SQL Inject XSS File Include ………;校验全部的输入类型 不同的程序所接收到的参数类型应严格区分并校验,对于非法的类型应有相关异常进行处理以防止其进入程序。 不使用任何方式验证失败的数据 当程序对某个数据校验失败时(如:校验数据类型),相关的异常处理程序应抛弃该数据并中断操作,而不应对数据进行任何的修复尝试。 对HTTP所有内容进行校验 除需对传统的HTTP GET、POST等数据进行严格校验外,还应对HTTP内所有可能使用到的字段进行校验,防止字段中包含恶意字符而污染程序,如: Referer Host Cookie ……;校验向用户输出的数据 当程序通过查询后台数据库或其他方式从后台获取数据后,在将数据输出给用户前应对该数据进行校验,校验其中是否包含有非法字符、可执行客户端脚本等恶意信息。 使用安全的SQL查询方式 在进行SQL查询时,必须使用安全的查询方式,如:Prepared Statement,以避免查询语句中由用户恶意插入SQL语句所带来的风险。 禁止使用JavaScript进行任何校验 由于JavaScript为客户端脚本,因此任何试图使用JavaScript对用户数据进行校验的行为都可能被用户构造的本地脚本所绕过,因此,所有校验工作应由服务端程序完成而不是客户端。;使用安全、统一的编码或转义方式 创建并使用独立、统一的编码或转移方式,而且编码或转移中,至少应包含对以下类别数据的编码或转移: 可能造成SQL注入的数据,如:分号、单引号等 可能造成XSS的数据,如:script、javascript等 设定有安全的权限边界 所有的程序都应清楚的了解到自己能做什么,而在其所能做的范围之外,均属于其权限边界之外,应严格禁止对其权限之外的任何操作。 校验被

文档评论(0)

文单招、专升本试卷定制 + 关注
官方认证
服务提供商

专注于研究生产单招、专升本试卷,可定制

版权声明书
用户编号:8005017062000015
认证主体莲池区远卓互联网技术工作室
IP属地广东
统一社会信用代码/组织机构代码
92130606MA0G1JGM00

1亿VIP精品文档

相关文档