应用安全体系架构备忘录

2017-11-06 7,840

微信图片_20171105030221.jpg

事了拂衣去,深藏功与名


说明

此备忘录提供一个应用程序安全体系结构初步设计和安全评审技巧 https://www.secpulse.com/archives/65468.html

业务需求

商业模式

应用程序主要业务目的是什么?

应用程序如何赚钱?

开发或改进应用程序的计划完成业务是什么?

应用程序如何上市?

应用程序为用户提供哪些主要的好处?

为应用程序定义了那些业务连续性规定?

应用服务有哪些地理区域限制?

数据要点

应用程序接收,生成和处理那些数据?

数据如何根据敏感度分类?

攻击者如何从捕获或修改数据中获利?

为应用程序定义那些数据需要备份和保留?

终端用户

应用程序最终用户是谁?

最终用户如何与应用程序进行交互?

最终用户有什么安全预期?

合作伙伴

哪些些第三方向应用程序提供数据?

哪些第三方从应用程序接收数据?

哪些第三方处理应用程序的数据?

除了程序本身(EDI传输协议,FTP文件处理,供应商的API等等)之外,还使用什么机制与第三方共享数据?

合作伙伴部署了那些安全措施?

管理员

谁在应用程序中具有管理功能?

应用程序提供哪些管理功能?

条理与合规

应用程序在那些行业运行?

有哪些安全相关规定适用?

什么审计和合规规定适用?

监管要求的变化如何随着时间流逝而被传达,管理和实施?

基础设施要求

网络

已经确定了相关路由,交换机,防火墙和负载均衡等相关详细信息?

什么网络设计支持你的应用程序?

什么核心网络设备支持你的应用程序?

存在哪些网络性能要求?

哪些私有和公共网络链接支持你的应用程序?

系统

什么操作系统支持应用程序?

需要哪些硬件要求去支撑你的应用程序?

有关所需的操作系统组件和相关需求详细信息是否已经确定?

基础设置监控

已经确定哪些网络和系统性能监控要求?

对于检测恶意代码或受损应用程序组件有哪些机制?

已经确定了哪些网络和系统的安全监控要求?

虚拟化和外部化

应用程序的哪些方面用于虚拟化?

为应用程序确定了哪些虚拟化要求?

产品哪些方面可以通过云计算模式或者可能不托管?

如果适用,将采取什么方向进行云计算(托管主机与”纯云模式”,”完整机器”方法,(如AWS-EC2)与”托管数据”方法(如”AWS-RDS或Azure等”))?

每个方法优点和制约因素和确定?

应用要求

环境

使用什么框架和编程语言来创建应用程序?

应用程序确定哪些流程,代码或基础架构依赖关系?

什么数据库和应用服务器支持应用程序?

如何将数据连接字符串,加密密钥和其他敏感组件存储,访问和防止未授权访问检测?

数据处理

应用程序支持那些数据输入?

应用程序支持那些数据输出?

什么样数据输入要求被验证?

应用程序存储什么数据?

哪些数据需要加密,哪些密钥管理按要求进行定义?

有哪些功能需要检查会有敏感数据泄露?

传输过程中数据加密定义那些加密要求, 包括通过WAN,LAN,SecureFTP进行的传输,还是可公开访问的协议,如http:和https 😕

访问

应用数据支持哪些用户权限级别?

用户标识和认证要求是否已经定义?

用户授权要求是否已经定义?

会议管理要求是否已经定义?

对URL和服务调用定义了那些访问需求?

用户访问限制是否已定义?

交易通话中如何维护用户身份?

应用监控

哪些应用程序审计要求是否已经定义?

哪些应用程序性能监视要求是否已经定义?

应用安全监控要求是否已经定义?

应用程序错误处理和记录要求是否定义?哪些流程能够向最终用户显示错误所需最少信息,而不是暴露应用程序设计,安全性和实现等方面?

审计和调试日志如何被访问,存储和保护?

应用设计

应用程序设计审核实践是否被定义和执行?

中间数据和进程内数据如何存储在应用程序组件的内存和缓存中?

多个逻辑层对应程序的组件进行分组管理?

什么阶段,测试和质量保证要求是否已经定义?

安全计划要求

操作

识别和解决应用程序漏洞过程是什么?

识别和解决网络和系统组件漏洞过程是什么?

系统和网络管理员对应用程序的敏感数据有什么访问权限?

安全事件要求是否定义?

管理员如何访问生产基础架构来管理它?

用什么物理控制限制对应程序组件和数据访问?

授权访问托管应用程序环境过程是什么?

管理层变更

如何对待每进行更改控制?

如何控制基础设施的变化

代码如何部署到生产?

存在哪些机制来检测违反变更管理规范的行为?

软件开发

用什么数据可供开发人员测试?

开发人员如何协助解决和调试应用程序?

定义哪些要求来控制对英语程序源代码访问?

用什么安全编码的程序是否建立?

企业

企业用什么安全计划与要求是否定义?

开发人员和管理人员进行哪些安全培训?

哪些人员监督与申请有关的安全流程和要求?

外包雇员启动和终止程序是否定义?

用什么申请要求强制执行职责分离的原则?

存在什么样的控制来保护企业环境中的安全稳定,从而不影响生产?

用什么安全治理要求是否定义?

作者与主要编辑

Lenny Zeltser – 修订 2012

Tony Turner - 2015 格式修订与变化

Vin Miller - 2015 修订

Legend-2017翻译与修订


原文如下

https://www.owasp.org/index.php/Application_Security_Architecture_Cheat_Sheet


本文作者:legend

本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/65468.html

Tags:
评论  (0)
快来写下你的想法吧!

legend

文章数:14 积分: 82

安全问答社区

安全问答社区

脉搏官方公众号

脉搏公众号