加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_丽江站长网 (http://www.0888zz.com/)- 科技、建站、数据工具、云上网络、机器学习!
当前位置: 首页 > 服务器 > 安全 > 正文

SSDLC应用:安全设计评审

发布时间:2021-06-29 04:11:03 所属栏目:安全 来源:互联网
导读:软件设计处于软件工程中的核心地位,开发不管采用何种开发模式,都离不开软件设计。当需求分析完成后进入设计阶段,设计的好坏直接影响着软件的质量。好的设计方案能够让团队有一个清晰的愿景和路线图,作为技术领导力让整个团队更容易协作。设计方案的制

软件设计处于软件工程中的核心地位,开发不管采用何种开发模式,都离不开软件设计。当需求分析完成后进入设计阶段,设计的好坏直接影响着软件的质量。好的设计方案能够让团队有一个清晰的愿景和路线图,作为技术领导力让整个团队更容易协作。设计方案的制定需要多方参与,需要网络工程师、架构师、数据库管理员、安全等角色多方评审,确保功能需求、非功能需求和约束能够被满足,好的设计是开发出高质量软件的基础。

 

设计、架构与安全

 

从软件开发生命周期的角度,软件设计可以看作是从软件需求规格说明书出发,根据需求分析阶段确定的功能,设计软件系统的整体结构、划分功能模块、确定每个模块的实现算法等内容,形成软件的具体方案,从整体到局部,从概念设计到详细设计。软件设计的工作包括:应用架构设计、网络架构设计、接口设计、角色权限设计、流程设计、数据库设计、界面设计等。

 

所有的架构都是设计,但并非所有设计都是架构。设计方案需要考虑到成本、许可协议、技术战略、兼容性、用户习惯。产品经理纠结于用户需要什么功能,却比较少关注非功能需求和约束,往往会模糊地给出“快、稳定、安全”的主观要求。安全作为方案评审中的重要角色,需要评估复杂又抽象的方案,要求比较高的综合能力,确保安全风险可防可控的情况下满足实际业务需求。

 

应用架构设计

 

应用架构关注的是宏观结构,其含义是把软件从结构上分解为多个通过一定关系联系的构件,常见的应用架构是两层架构和三层架构。

 

两层架构分为应用层和数据层,应用层承担信息展示及逻辑处理,数据层负责数据存储和管理。图示如下:

 

 

 

三层架构分为表示层、业务逻辑层和数据层,表示层承担信息的输入输出和展示,业务逻辑层承担业务处理,数据层承担数据的存储和管理。图示如下:

 

 

 

通常来说,三层架构比两层架构安全,不同分层直接的访问需要进行身份验证,如业务逻辑层验证表示层的用户账号密码,数据层验证业务逻辑层的数据库账号密码。三层架构的业务逻辑层承担对用户数据和权限的校验,合理的接口设计可以将大部分非法请求拒绝。接口设计需要考虑防重放攻击、防数据篡改、防信息泄露、防未授权访问、防程序化攻击(爬虫、条件竞争)等风险,可以通过时间戳timestap+签名sign+token+ssl的常见技术来对接口进行安全设计。

(编辑:应用网_丽江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读