Logo cn.artbmxmagazine.com

SDLC中的安全性。软件开发生命周期

Anonim

软件开发生命周期,或简称为SDLC,是组织中任何新开发从构想到已在生产中实施的整个过程。

近年来,由于所有开发都有其主要阶段(如左图所示),因此寻求在此过程中引入安全性,试图通过引入安全性来定义一些阶段同时,在进行工作时,要考虑安全性(如右图所示):

软件生命周期和安全性

在前面的图像中,我们可以看到每个阶段都有其对应的安全阶段,例如,在对应用程序的正确操作进行测试时,应该对其进行动态审核,以便可以看到它们。生产阶段之前的漏洞。

安全措施落实必须做到从一开始的软件开发生命周期的,因为任何解决的安全问题的成本较高,后来它被检测到,如下面的图:

软件开发安全

最后,在许多未在其中实施安全性的组织或开发部门中,我们通常会提出许多明显无效的借口,例如:

  • 没有人知道它是如何工作的,因此,他们不会攻击它。 (攻击者将花费时间来了解它的工作原理……)如果到目前为止尚未发现漏洞(攻击者一眼就能发现一个或多个漏洞…)没有人会对攻击我们的应用程序感兴趣。 (有数百万个机器人或自动化系统不断地扫描安全缺陷…)该应用程序很安全,因为它在防火墙后面运行。 (显然,如果它具有硬件安全性元素,那么它会更安全,但是,这个事实绝不意味着它是安全的。)因为使用https,所以该应用程序是安全的。 (在这种情况下,通信是安全的,但是不必一定要进行开发。)如果它不是以Administrator / root身份运行,则您无法做任何危险的事情。(显然,这是一种很好的安全做法,但是用户具有较低的特权这一事实并不表示该应用程序是安全的…)

在SDLC中未实现安全性的所有可能借口中,最常听到的是“ 没有时间包含安全性 ”,因为大多数开发工作时间紧迫,将某些产品投入生产更为重要在适当的时间内(包括各个部分的安全性)。

您必须认为“预防胜于治疗”,所以与成功攻击后恢复状态相比,预防或检测到针对开发的攻击要有效得多,并且不会降低妥协程度。

为了防止这种情况的发生并安全地进行开发,有几种安全模型需要实施,通常最推荐的一种实施方法是软件保证成熟度模型SAMM-软件保证)成熟度模型)是OWASP开发的开放灵活的框架。

此模型用于帮助组织制定和实施适合于每个组织的特定需求的软件开发安全策略,并且具有以下特征:

  • 它由几个短周期(可实现的目标)和增量迭代(最终目标)组成。基于风险承受能力,开发的应用程序的重要性和开发方法的灵活性可定制性。简单可度量定义明确的保证活动。

它旨在帮助:

  • 评估组织中现有的软件开发中的安全性实践。通过定义明确的迭代构建平衡的软件保障计划。演示软件保障计划中的具体改进。在组织中定义和度量与软件开发安全性有关的活动。

所有这些目标都是根据下图的结构定义的,其中可以观察到组成该目标的不同部分以及它们之间的相互关系:

软件开发

从图中可以看出,这种OpenSAMM方法建立了:

  • 4与软件开发相关的业务功能3每个业务功能的安全实践3每个安全实践的成熟度级别2每个成熟度级别的安全活动

因此,建议所有公司在总体上始终按照内部法规的要求执行此结构,并将其应用于其中的所有开发。一旦实施,所有安全性将自动执行,并将属于公司通常的连续流程。

有关此模型以及如何在公司中实施该模型的最佳方法的更多信息,我们可以在以下网址中以西班牙语查看其最新版本:

www.opensamm.org/downloads/SAMM-1.0-es_MX.pdf

费尔南多·萨维德拉

网络安全经理

Áudea信息安全

SDLC中的安全性。软件开发生命周期