- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
OWASP应用程序安全设计项目
中文版本团队成员
欢迎大家指正翻译错误或不恰当的地方。我们将在后续版本中不断完善该项目。
中文
中文版Version1.0
PAGE2
目录
1.简介3
2.了解设计3
2.1什么是应用程序设计?3
2.2为什么需要设计审核?3
3.设计审核方法4
3.1设计文档收集4
3.2设计调研4
3.3设计分析5
3.4提出安全需求6
3.5推荐设计变更6
3.6团队讨论7
3.7设计完成7
附件1.应用程序安全设计清单8
1.简介
我们都知道在应用程序开发过程中“安全编码”的重要性。但是,我们对“安全设计”会给予同等的重视吗?相信我们大多数人可能会说,不会!
“OWASP应用程序安全设计项目”突出了安全设计的重要性和其中的一些重要步骤。虽然设计级别的缺陷并非为每个人所知,但它们的存在对应用程序来说确实是一个非常大的风险。这种缺陷很难通过静态或动态的应用程序扫描被发现,而需要对应用程序架构和布局深入了解而进行手工发掘。随着业务需求的增长,应用程序设计和架构的复杂度也随之增加。今天,越来越多的应用程序使用定制和多样化技术,这使得对设计迫切需要进行审核。
本项目的重点是突出一些重要的安全设计原则与步骤,开发人员和架构师必须遵循它们来进行安全的应用程序设计。通过设计审核,我们可以发现其中的风险,然后采取措施在设计中避免这种风险。
2.了解设计
2.1什么是应用程序设计?设计是应用程序的蓝图,是应用程序开发的基础。设计展示了应用程序的结
构,并确定了应用程序需要的不同组件。通常,设计确定了应用程序执行流程的架构。并且,大多数的应用程序设计都基于MVC的概念。在这样的设计中,不同的组件彼此交互,并有序的处理任何用户请求服务。
2.2为什么需要设计审核?设计审核应当是软件安全开发过程中设计阶段的一个重要组成部分。如果在
设计阶段对应用程序进行安全性审核,可以发现其中的很多后门漏洞。另外,设计审核还有利于以更好的方式实现安全需求。
3.设计审核方法
设计审核的流程如下图所示。下面我们将对设计审核所采用的方法进行详细的分析。
设计文档收集 设计调研 设计分析 提出安全需求
设计完成
团队讨论
推荐设计修改
3.1设计文档收集
本阶段需要收集进行安全设计所需的信息。这将涉及到由开发团队维护的所有跟设计有关的文档,如:流程图、序列图、类图等。另外,还需要获得需求分析文档,以了解所提出设计的目标。
3.2设计调研在这个阶段中,我们需要从数据流、不同应用程序组件及它们之间的交互、
数据处理等方面进行深入了解与研究。通过人工分析、与设计或技术架构团队进行讨论来达到目的。应用程序的设计和架构必须彻底理解,以分析可能导致应用程序中存在安全漏洞的脆弱区域。下面给出了在威胁分析时必须考虑的几个关键设计方面:
?数据流或代码布局;
?访问控制;
?现有的或内置的安全控制;
?非用户输入的入口点;
?与外部服务的集成;
?配置文件和数据源的位置;
?插件和定制化展现(在内置设计框架的情况下)。
以上设计内容将有助于确定应用程序的信任边界,从而有助于对漏洞和对应
用程序造成的风险等级做出判断。
3.3设计分析在了解了设计内容之后,下一个阶段是分析威胁,此阶段包括“威胁建模”。
对在前一阶段确定的不同设计方面,必须确定风险。它包括从攻击者的角度分析设计,并发现当前设计中存在的后门和不安全的地方。该分析可以大致基于以下两个重要的方面完成:
(1)不安全的开发:这意味着设计存在漏洞,并可能会成为应用程序中的安全漏洞。例如,对业务逻辑功能的不安全引用。
(2)缺乏安全的开发:这意味着设计中没有纳入安全实践。例如,在连接到外部服务器时,没有使用不同的安全需求保护数据的机密性和完整性。
下面列出了类似的实例来说明,在分析不同设计方面的同时,应考虑:
?数据流:
?用户输入是否被直接用于引用业务逻辑的类或函数?
?是否有一个数据绑定缺陷?
?是否暴露任何后门参数来调用业务逻辑?
?应用程序的执行流程是否正确?
?身份验证和访问控制:
?是否对所有文件实现访问控制?
?是否安全地处理会话?
?是否存在单点登录?单点登录是否留下后门?
?已有或内置的安全控制:
?在现有任意安全控制中的弱点;
?安全控制的部署是否正确?
?架构:
?对所有的输入是否有验证?
?到外部服务器的连接是安全的吗?
?配置或代码文件和数据存储:
?配置文件中是否含有敏感数据?
?是否支持任何不安全的数据源?详细的安全设计清单,请见附件1。
- 国际工程管理和商务市场开发 + 关注
-
实名认证服务提供商
高级工程师持证人
长期从事国际国内大型石油工程项目管理和商务市场开发,积累了海量中英文石油上游相关技术文献、中英文书籍、行业市场分析资料,掌握多渠道国际石油行业的讯息资讯。
文档评论(0)