加入收藏 | 设为首页 | 会员中心 | 我要投稿 温州站长网 (https://www.0577zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 安全 > 正文

安全软件开发生命周期详解

发布时间:2021-12-13 21:12:10 所属栏目:安全 来源:互联网
导读:自20世纪70年代软件开发生命周期获得突出地位以来,经历了许多修改和调整。 随着时间的推移,终端用户的开发需求与挑战的演变性质结合在一起。最显著的是安全性方面导致了不同的软件开发方法和方法的形成。其中一种方法是安全软件开发生命周期(SSDLC)。 SSD
自20世纪70年代软件开发生命周期获得突出地位以来,经历了许多修改和调整。 随着时间的推移,终端用户的开发需求与挑战的演变性质结合在一起。最显著的是安全性方面——导致了不同的软件开发方法和方法的形成。其中一种方法是安全软件开发生命周期(SSDLC)。
 
SSDLC的出现是为了应对应用程序安全性面临的日益严峻的安全挑战。涉及数据泄露、侵犯隐私和其他网络威胁的事件在当今社会非常常见,任何没有将安全性放在首要位置的软件开发模型很可能导致开发公司的财务和声誉损失。
 
在了解SSDLC之前,让我们先看看SDLC方法。
 
什么是软件开发生命周期?
软件开发生命周期(SDLC)是一种用于开发软件应用程序的系统而又标准化的方法。SDLC大量借鉴了一般项目管理生命周期方法中的元素,从所涉及的步骤和阶段的相似性中可以明显看出这一点。
 
虽然不太可能找到两个公司应用完全相同的SDLC过程,但主要阶段在大多数组织中是常见的。
 
SDLC流程的主要阶段
一般来说,典型的SDLC过程包含五个阶段:
 
需求收集:开发每个应用程序是为了解决某些问题,并为用户提供实用性。在收集需求时,开发团队的目标是理解客户的需求和目标,并定义以最佳方式完成项目所需的资源。
 
设计:在这个阶段,为整个项目打下了基础。这里确定的一些主要细节包括编程语言、体系结构、平台、用户界面、通信协议和安全性。
 
开发/构建:这是通过开发应用程序源代码将所有计划付诸实施的部分,并实现应用程序的所有功能,包括用户界面和安全性。
 
测试:任何SDLC过程中最重要的组成部分之一是测试软件的漏洞、错误、性能和功能。在此阶段发现的任何应用程序性能问题通常会在部署之前得到纠正。
 
部署和维护:发布应用程序以供预期客户端使用。它通常包括让应用程序得到app Store的批准,并提供下载。当然,高度专业化的企业应用通常不会在应用商店中发布,而是直接提供给客户。
 
常见软件开发生命周期模型
SDLC流程在大部分组织中保持不变。但是,软件开发规则手册中没有任何内容可以强制任何开发人员始终以一维顺序遵循SDLC阶段。
 
多年来,组织和战略家已经尝试了不同的SDLC模型,以更好地满足客户不断变化的需求。最受欢迎的例子如下:
 
瀑布型
所有模型中最直接的是SDLC的瀑布式方法。在瀑布式开发中,整个开发生命周期的各个阶段以固定的顺序出现,从需求收集到最终部署。
 
V-模型
V 模型是一个线性模型。
 
这个模型的主要特点是它非常强调测试。这就是为什么v模型的每个阶段都有自己的测试活动,以便测试在开发的所有阶段中进行,直到完成。
 
v模型中嵌入的广泛测试和质量控制使它成为最昂贵和要求最高的软件开发方法之一。因此,它只在高度专门化的情况下使用,例如对失败和错误的风险容忍度很低的项目。
 
迭代模型
随着组织探索非传统和非线性的工作方法,迭代和增量模型获得了更多的关注。开发人员可以以顺序或并行的方式实现该模型。
 
从本质上讲,迭代模型是累加的,新的软件模块和功能被添加到每个迭代中。
 
迭代模型的好处在于,它们允许在任何开发阶段进行调整,只要需求的变更在项目的范围内。
 
迭代模型证明最有效的情况是应用程序的功能只是松散依赖的大型项目。
部署和维护
当应用程序上线时,开发人员的工作并没有结束。应用程序有自己的生态系统,必须对其进行管理、维护和照顾。
 
此阶段的一些SSDLC实践包括:
 
环境响应:应用程序本身可能是万无一失的,但每个应用程序只有在与更大的生态系统相关时才有用。一旦应用程序启动,监控环境及其对应用程序的行为和完整性的影响是维护的一个关键方面。
 
事件响应计划:在现实世界中,没有任何应用程序能够真正免受安全漏洞的影响。事故响应计划规定了发生事故时团队必须遵循的计划、行动和程序。
 
安全检查:威胁和攻击总是在发展,为了保证安全,应用程序必须发展得更快。频繁的安全检查有助于保护应用程序免受新形式的攻击和漏洞。
 
在传统的SLDC模型中,敏捷开发已经在大多数组织中取代了开发生命周期的传统方法。然而,敏捷环境与面向安全的实践和工具并不一致。这主要源于敏捷开发方法需要广泛的安全性测试。由于在敏捷开发中每个阶段都是迭代执行的,而且SSDLC的每个阶段都嵌入了安全组件,敏捷团队可能会发现大量的重复测试。
 
这也意味着,将SSDLC集成到敏捷环境中,企业需要经历很大的转变。在敏捷开发过程中,安全不再是事后的想法,而是需要贯穿到每天的工作习惯中。
 
每个企业的最终目的都很明确,通过在开发的不同阶段和部分实现集成来拥抱更大的安全性。

(编辑:温州站长网)

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

    热点阅读