使用STRIDE方法发现安全设计缺陷.docVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
使用STRIDE方法发现安全设计缺陷.doc

  使用 STRIDE 方法发现安全设计缺陷教育资源库   本文使用了以下技术:   STRIDE 目录   设计安全软件   威胁建模和 STRIDE   数据流关系图   示例系统   将 STRIDE 应用于 Fabrikam 分析程序数据库   分析数据流和数据存储   分析进程   抑制威胁   查找威胁的表现形式   攻击模式   总结   无论您是构建新系统还是更新现有系统,都需要考虑入侵者攻击系统的可能方式,然后在系统的设计和实施阶段构建适当的防御手段。Microsoft 通过称作威胁建模的技术来进行安全系统设计,这种技术对系统设计和体系结构进行系统化的检查,以发现和更正设计级的安全性问题。威胁建模是安全性开发生命周期 (Security Development Lifecycle) 项目不可或缺的一部分。   可以采用多种方法进行威胁建模,如果有人说他的方法是唯一正确的,毫无疑问他自己就大错特错了。至今还没有任何已确定有效的方法来衡量威胁模型的质量,甚至对于术语威胁的解释也各不相同。当然,这个领域确实还远谈不上成熟;即使在较为成熟的密码领域,许多通用算法也未经证明是安全的。然而,尽管通常我们无法证明给定的设计是安全的,但我们可以从自己的错误中汲取教训并避免重复犯同样的错误。这就是威胁建模的本质。   在本文中,我们将介绍一种系统化的威胁建模方法,这一方法是由 Microsoft 的安全性工程和通信 (Security Engineering and munications) 小组开发的。与安全性开发生命周期的其它内容类似,威胁建模也会继续发展,并将应用于新的环境中。当您建立自己的流程来开发安全代码时,这一方法或许能够很好地作为您的基准。   设计安全软件   设计好的软件本来就足够困难了,确保安全性更是难上加难!系统中内嵌的缺陷在平常使用过程中可能会遇到,也可能不会遇到。实际上,平常使用时,某些缺陷确实无关紧要。但在安全性环境中,缺陷所产生的影响确实很大,因为攻击者可能会通过设置触发缺陷所需的特定性高的条件,以引起故障。某些事情随机发生的几率可能只有十亿分之一,此时您可能认为它不相关而置之不理。但如果该缺陷涉及到安全性,您可以确信攻击者将利用它。   设计安全软件的其中一个问题在于,不同的团体考虑安全性的方式不一样。软件开发人员认为安全性好坏主要取决于代码质量,而网络管理员考虑的是防火墙、事件响应和系统管理。学术界大多数人可能按经典的 Saltzer 和 Schroeder 设计原则、安全性模型或其他抽象概念来看待安全性。当然,所有这些对于构建安全的系统都是非常重要的。有关 Saltzer 和 Schroeder 的设计原则的概述,请参阅图 1。但是,可能唯一一个最大的问题是缺乏安全性成功准则。如果我们要避免出现安全性故障,这就意味着我们必须对于什么是安全性成功有一定的概念。 Figure1Security Design Principles 原则解释开放设计假设攻击者具有源代码和规格。故障安全预设值出故障时自动关闭;无单点故障。最低权限只分配所需的权限。机制经济性保持简单、易懂的特性。分离权限不允许根据单一条件执行操作。总体调节每次检查所有内容。最低公用机制注意保护共享资源。心理可接受性他们将使用它吗?   很幸运,我们对于安全性的含义确实有一定的了解。这意味着系统具有自己的属性,即机密性、完整性、可用性、对用户正确进行身份验证和授权、以及事务处理不可否认等。图 2 介绍了每个属性。您希望系统具有上述所有属性,但没有完整性或可用性 API。该怎么办呢? Figure2Security Properties 属性说明机密性数据只限应具有权限的人员访问。完整性数据和系统资源只限适当的人员以适当的方式进行更改。可用性系统在需要时一切就绪,可以正常执行操作。身份验证建立用户身份(或者接受匿名用户)。授权明确允许或拒绝用户访问资源。认可用户无法在执行某操作后否认执行了此操作。   威胁建模和 STRIDE   一种确保应用程序具有这些属性的方法是使用 STRIDE 进行威胁建模,STRIDE 是 Spoofing(假冒)、Tampering(篡改)、Repudiation(否认)、Information Disclosure(信息泄漏)、Denial of Service(拒绝服务)和 Elevation of Privilege(提升权限)的字母缩略词。图 3 将威胁映射为防护它们的属性。 Figure3Threats and Security Properties 威胁安全性属性假冒身份验证篡改完整性否认认可信息泄漏机密性拒绝服务可用性提升权限授权   为了遵循 STRIDE,您可以将系统分解成相关的组件

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档