# 提高SDLC安全性的5种基本方法

> 来源：梦飞idc云平台 | 原文：https://www.mfisp.com/10880.html | 发布：2022-10-09 | 更新：2022-10-09 | 分类：IDC云库

在过去几年中，在应用程序平台和第三方库中发现的漏洞越来越引起人们对应用程序安全性的关注，这给 DevOps 团队带来了检测和解决其软件开发生命周期 (SDLC) 漏洞的压力。

在过去几年中，在应用程序平台和第三方库中发现的漏洞越来越引起人们对应用程序安全性的关注，这给 DevOps 团队带来了检测和解决其软件开发生命周期 (SDLC) 漏洞的压力。

 

以 NVD（国家漏洞数据库）为例，它跟踪和记录软件供应商发布和披露的所有重大漏洞。它发现在过去五年中发现的漏洞数量呈增长趋势， 仅在 2021 年就记录了惊人的 20,136 个漏洞（与上一年相比增加了 9.7%）。

 

![提高SDLC安全性的5种基本方法](https://www.mfisp.com/wp-content/uploads/2022/10/2eefcb1c81f867022d9ecd005365932f.png)

 

同时，CISA（网络安全和基础设施安全局）指出，在随着时间的推移记录的所有漏洞中，威胁参与者目前正在利用 504。那么这一切对开发人员意味着什么，我们如何才能提高 SDLC 的安全性呢？让我们从基础开始：

 

**什么是 SDLC？**

 

开发团队采用一种 SDLC 形式来构建他们的流程并始终如一地获得高质量的结果。从这个意义上说，SDLC 只不过是一个定义构建应用程序过程的框架。它跨越了应用程序的整个生命周期，从规划到退役。

 

自传统瀑布模型以来，出现了不同的 SDLC 模型，其中更健壮的 CI/CD 和敏捷模型在当今流行度最高。但他们的目标往往是相似的：尽可能快地生产出高质量、低成本的软件。

 

**安全 SDLC (SSDLC) 如何工作？**

 

安全软件开发生命周期 (SSDLC) 将安全组件引入生命周期，从而为开发人员提供了一个框架，以 确保安全是软件开发每个阶段的考虑因素， 而不是事后考虑。这种方法可以防止稍后在生产环境中出现漏洞，从而降低修复它们的成本。

 

安全软件开发生命周期示例定义了有助于在每个开发阶段保护软件的最低安全控制。每个阶段都需要专门的安全测试工具和方法，并将继续贯穿每个软件版本的所有阶段。

 

**提高 SDLC 安全性的最佳实践**

 

安全 SDLC 实践旨在解决共享的安全问题，包括：

 
 
1. 修复软件部署后修复成本高昂的反复出现的漏洞 
1. 设计和架构中的安全问题 
1. 解决集成到更大系统中的组件内的安全问题 

 

顺便说一句，让我们看一些提高 SDLC 安全性的最佳实践：

 

**拥抱心态转变**

 

左移思维旨在将 传统上在生命周期后期完成的安全实践（例如测试组件）带入开发的早期阶段。换句话说，我们已经从 DevOps 发展到 DevOpsSec，再到 DevSecOps—— 所有这些都是通过将“Sec”移到左边来实现的。但言行一致需要的远不止这些。要完全接受左移心态，请尝试：

 
 
1. 在 SDLC 中建立一个拥有跨不同领域的知识渊博的成员的团队 
1. 促进整个组织内各个团队之间的协作，以更全面地考虑安全性及其对您的业务意味着什么 
1. 考虑到威胁总是在不断发展，您的安全优先级和策略也应该不断改进流程 

 

**使用具有常识的威胁建模**

 

威胁建模是一个在 SDLC 可能的最早阶段研究系统设计、它们如何运行以及数据如何在所有系统组件内部和之间流动的过程，旨在识别所有可能的利用途径。进行威胁建模可确保架构设计和开发能够解决所有已识别的安全漏洞。

 

但是威胁建模通常需要相当长的时间才能完成，因为它需要人工来确定所有可能的攻击途径。反过来，当 SDLC 的几乎每个组件都是自动化的并且期望每个阶段都能快速完成时，威胁建模可能会成为开发过程的瓶颈，新版本每两到四周就会发布一次。因此，建议使用具有常识的威胁建模。虽然列出所有可能的攻击途径是件好事，但要提防陷入可能阻碍生产而不是支持和保护生产的兔子洞。

 

**利用开源、开发人员优先的工具**

 

利用开源工具是降低成本同时确保您不会在安全性方面妥协的最简单方法。但是，如果开发人员实际上不想使用便宜的工具，它又有什么用呢？

 

Teller 是开发人员的出色生产力秘密经理，如果您正在寻找灵感，它支持云原生应用程序和多个云提供商。它可以让您在编码、测试和构建应用程序时快速、轻松、安全地混合和匹配保管库和其他密钥存储，并使用机密。

 

另一个值得注意的安全工具箱开源工具是 tfsec：一个静态分析代码扫描器，可以识别 Terraform 代码模板中的潜在安全问题。

 

**尽早检查第三方组件造成的漏洞**

 

第三方组件是开发人员在无需自己开发整个功能的情况下将附加功能引入其应用程序的快速简便的选择。

 

尽管这些组件可能很便宜，但它们确实是有代价的：它们可能会间接地将漏洞引入应用程序。因此，最好在您的安全评估中尽早检查这些组件是否存在漏洞，然后再始终如一地检查这些组件。

 

换句话说： 扫描一切！ 扫描代码、 配置、二进制文件或代码库中的任何其他材料，以发现明显可见和隐藏的问题。需要一些帮助吗？ 我们的扫描技术 与编程语言无关，支持 500 多种不同的堆栈。

 

**扫描所有软件层的错误配置**

 

当今市场上可用的大多数安全错误配置检测工具往往侧重于扫描软件基础设施中的错误配置，但不涵盖数据层和应用程序框架层中存在的错误配置。我们的 DeepConfig 解决方案可填补这一空白。它提供端到端的软件覆盖，包括基础设施、数据和应用程序框架层。该工具用于在众所周知的解决方案中搜索潜在的错误配置，例如：

 
 
- 基础设施和数据层： Elastic、MySQL、Redis、Memcache 等。 
- 应用程序缓存层： Rails、Django 等。 

 

**结论性想法**

 

最终，SDLC 的安全性将取决于 DevOps 团队可用的性能、动力、技能和工具。让我们面对现实吧：DevOps 团队发现自己处于两难境地，不得不以越来越快的速度工作，经常过度紧张，还必须处理可能会降低性能的安全性 和合规性 问题。这是一个具有挑战性的循环。这就是为什么我们在构建安全解决方案时牢记开发人员的优先事项，以帮助他们保持控制并确保他们的组织安全。我们尊重您的 CI，确保平均大小的存储库只需几秒钟即可扫描 CloudGuard Spectral。 检查出来。

---
本页由 梦飞idc云平台（https://www.mfisp.com）提供。站点导航见 https://www.mfisp.com/llms.txt
