如何确保软件开发生命周期(SDLC)

作者 : IT 大叔 本文共2338个字,预计阅读时间需要6分钟 发布时间: 2020-09-4

在大多数组织中,软件开发生命周期(SDLC)是一个定义明确的过程,其中包括软件的概念,创建,发行和操作。可以以多种方式和模型来应用此过程,但是还必须解决安全性问题。

随着与不安全的软件解决方案相关的关注点和风险的增加,安全性需要集成到开发过程中,而不是独立的活动。

因此,采用安全的软件开发生命周期(SDLC)策略对于确保组织不断发布安全软件至关重要。

为什么要关注安全的软件开发生命周期(SDLC)?

尽管用于创建软件的技术发展迅速,但用于保护软件安全性的安全措施却未总是与时俱进。这是个问题。

根据赛门铁克最近的一份报告,就网络攻击,网络钓鱼,恶意软件,勒索软件,垃圾邮件和僵尸程序等威胁而言,美国在最易受攻击的国家中排名第一,其次是中国和印度。

安全的SDLC有助于创建业务流程,其中安全性是SDLC流程每个阶段的一部分。尽管开始时这似乎微不足道,但长期收益却是可观的。

根据一项调查,修复在分析或需求阶段发现的安全漏洞大约需要10美元。如果在部署阶段稍后发现需要完全更改应用程序体系结构的错误,则可能花费近2000美元或更多

一个安全的SDLC可确保诸如代码审查,渗透测试和体系结构分析之类的安全活动是开发过程中不可或缺的一部分。

使用安全的软件开发生命周期(SDLC)的主要好处包括:

•尽早发现应用程序安全中的漏洞。
•更安全的软件,因为安全一直是关注的焦点。
•利益相关者实时了解安全风险。
•减少成本,时间和精力,以减轻在SDLC早期发现的安全风险。
•全面降低企业的业务风险。

因此,创建一个在安全方面投入生产之前对其进行测试和修复的过程对于确保应用程序不会损害整个系统至关重要。

它是如何工作的?

对于已经实施SDLC流程的组织,安全性将是一个附加方面,需要嵌入到SDLC的所有阶段中。

在整个阶段中,需要将安全机制(如自动检测,优先级划分和补救工具)与代码存储库和其他系统集成在一起,以在出现任何错误或潜在风险时立即对其进行解决。

话虽如此,以下是将安全性集成到软件开发生命周期(SDLC)中的特定阶段:

规划

SDLC流程的第一步至关重要,因为适当的计划可以通过帮助每个团队集中精力来帮助创建高效的项目交付。在计划阶段,安全和开发团队将获得有关项目需求的详细信息,并开始计划整个项目的执行。

需求与分析

软件开发生命周期(SDLC)过程,需求和分析的第二阶段是考虑对诸如需求收集,技术,框架和语言之类的重要元素的决策时。

它需要对执行项目所需的工具,资源和其他组件有详细的了解,同时还要考虑可能威胁到整个应用程序安全性的漏洞。

一旦完成分析和需求理解,就必须通过设计和开发做出适当的选择。

为确保将安全考虑因素也纳入整体项目计划中,企业可以采取以下步骤:

• 满足客户需求:根据要设计的最终产品,您需要创建一个安全需求列表,该需求需要包含在整个项目中。其主要目标之一是不仅要​​增强应用程序的安全性,而且还要使开发团队尽可能轻松地安全地进行编码。
• 纳入安全性行业标准:初步计划完成后,开发人员需要包括并遵守行业标准的合规性做法和政策。作为基本要求,必须包含行业标准的应用程序安全功能,而在交付过程中可以添加其他安全功能。因此,请勿尝试进行自己的身份验证或会话管理。为此,有很好的参考。
• 分配软件安全责任:在开始开发之前,拥有一个负责应用程序安全的团队至关重要。将角色分配给负责进行质量检查和测试解决方案各个方面的安全团队。在生命周期中开发安全故事,并不断进行威胁建模以提供这些故事。
• 选择正确的体系结构:在计划时,开发人员需要考虑在开发过程中可能需要注意哪些常见风险,并为它们做好准备。根据应用程序的体系结构和设计,需要相应地包括安全性要求。同样,目标是使体系结构易于开发人员安全地编写代码,并在遵循既定模式的情况下获得安全代码。

建筑与设计

第三阶段确保团队遵循规定的体系结构和设计指南,这些在上一阶段进行了分析。

在体系结构和设计过程中,将定义整个策略,然后可以帮助开发过程平稳运行。诸如体系结构风险分析,威胁建模等方法使开发过程更加简化和安全。

除此之外,在早期阶段检测漏洞还有助于确保它们不会在后期阶段最终损害应用程序或系统。

发展历程

一旦战略和计划阶段完成,软件开发生命周期(SDLC)就会进入在开发阶段实际完成工作的过程。在此阶段,开发人员使用安全的编码标准来构建代码,并确保其系统在设置的安全框架内运行。

在执行常规代码审查以确保项目具有指定的特性和功能时,开发人员需要注意代码中的所有安全漏洞。

在此阶段中,您将继续进行威胁建模,但还将合并静态分析工具(SAST),并也开始建立动态分析工具(DAST)。

测试中

一旦开发过程开始,软件开发生命周期(SDLC)阶段的下一个阶段就是测试和验证。

除了SAST和DAST,测试阶段还包括安全测试,应用程序测试,渗透测试和其他DevSecOps自动化测试过程。这些将在您准备部署时查看容器,配置和整体安全性。

尽管测试是一个单独的阶段,但是即使在产品开发过程中也经常进行测试,以确保测试是连续的过程,而不是独立的过程。

保养

SDLC流程的最后阶段称为部署或操作,但是生命周期不仅限于安全框架。部署软件后,将启动对各种流程和执行的维护和连续监视。

在维护阶段,安全团队将不断分析和评估解决方案的进度,同时减轻任何可疑的风险或活动。库可能需要更新,新补丁可能需要推出。您不能仅仅释放并忘记它,而是必须维护。

外卖

随着威胁形势的变化和安全要求变得越来越严格,组织在创建未来的迭代或新产品时需要在整个SDLC流程中实现最佳实践。无论采用何种方法论或组织力量,安全的软件开发生命周期(SDLC)流程均可确保简化的安全性,以确保仅在经过全面的安全测试流程后才能将其部署在系统中。

免责声明:
1. 本站资源转自互联网,源码资源分享仅供交流学习,下载后切勿用于商业用途,否则开发者追究责任与本站无关!
2. 本站使用「署名 4.0 国际」创作协议,可自由转载、引用,但需署名原版权作者且注明文章出处
3. 未登录无法下载,登录使用金币下载所有资源。
IT小站 » 如何确保软件开发生命周期(SDLC)

常见问题FAQ

没有金币/金币不足 怎么办?
本站已开通每日签到送金币,每日签到赠送五枚金币,金币可累积。
所有资源普通会员都能下载吗?
本站所有资源普通会员都可以下载,需要消耗金币下载的白金会员资源,通过每日签到,即可获取免费金币,金币可累积使用。

发表评论