GlobalSign 博客

左移方法:DevOps安全性的演变

随着科技进步和新兴技术的发展,数字领域也受到了利用这些进步的新威胁,如人工智能(AI),以利用商业和软件开发。不仅如此,开发人员和安全专家之间普遍存在技能差距,这在软件开发和安全实践的实现之间造成了脱节。

然而,软件开发行业目前正在经历DevOps管道中安全性重要性的“左移”。这引发了一场文化变革,随着越来越多地采用DevSecOps实践,开发人员改变了他们对安全的态度。 左移方法重新确定了安全实践的优先级,并将它们放在DevOps流水线的更早位置,而传统的安全实践,如测试、漏洞扫描和修复,通常都放在最后。

左移方法对网络安全和DevSecOps产生了重大影响,因为它考虑了对安全问题的预防性补救,并考虑了在这样做的同时对开发和部署速度和效率的需求。
在本博客中,我们将探讨左移方法及其在DevOps和DevSecOps中的影响,包括:

为什么左移发生在现在?

“左移”安全方法实际上已经存在了20多年,最初指的是在部署阶段之前将安全实践转移到DevOps流水线的左侧,并从初始规划阶段就开始考虑它们。在“左移”和采用DevSecOps实践之前,标准做法是将任何安全测试和补丁过程放在DevOps管道的末端,然而这意味着漏洞被发现的时间要晚得多,被利用的风险更大,特别是零日漏洞,可以快速且容易地被恶意行为者利用。这也将软件发布日期置于风险之中,导致由于延迟而产生不必要的成本影响。
近年来,左移方法获得了更大的势头,这是由于以下几个因素造成的:

  • 不断发展的技术,加上不断增长的网络威胁和不断变化的行业需求,都给DevOps环境带来了越来越大的压力,需要找到更有效的安全解决方案,以保护其资产和机密,并为最终用户提供更强的安全性
  • 越来越多地采用云在容器化环境和虚拟机中,同时允许更高效的环境,这也导致了更多的漏洞,必须在开发和规划阶段的早期进行保护
  • 正在出现的安全技能差距在开发人员之间也是另一个问题,需要通过开发人员教育和安全指导计划来解决,因为左移方法要求开发人员主动并有效地将安全实践嵌入到他们的工作流程中

通过在DevSecOps管道中实施正确的教育和实践,左移为开发人员、IT团队和DevOps环境提供了解决方案,以应对这些持续的挑战。

Picture5.jpg

解释左移实践

左移方法是开发文化、过程和态度中关于管道应该如何工作和应该如何确保的一种新变化,因此很难用简洁的方式解释。但是,可以通过一些常见的实践来识别它;

静态应用程序安全性测试(SAST):这种测试方法研究应用程序或软件源代码中的安全漏洞。SAST工具扫描软件代码,以搜索代码中已知的或常见的问题,以便开发人员可以解决这些问题。这些测试在开发的早期阶段运行,以便更快地捕捉漏洞,并允许开发人员避免类似的问题,并将其应用到编码中。

动态应用程序安全性测试(DAST):DAST在部署的早期阶段对软件进行测试,检测服务器、数据库和web应用程序中的漏洞,并要求搜索应用程序或软件的正常版本,因为它不会涉及源代码。DAST可以洞察真实的、有效的漏洞并测试系统端点,以确保软件在到达用户之前是安全的。

容器化:容器化使用Docker容器将源代码与其环境基础设施的特性打包,包括所需的文件和操作系统库。这使得开发人员可以安全地将软件部署到不同的操作系统,而不必重写源代码,隔离在迁移过程中可能发生的任何漏洞,并提供在多个环境中运行的灵活性。

容器安全扫描:这是一种应用自动化工具扫描数据库中已知漏洞的方法。这可以防止威胁行为者在漏洞被利用之前向开发人员发出警报,从而在容器中部署恶意代码。

开发者教育:开发者教育对于在DevSecOps管道中实现安全实践至关重要。安全培训项目培训对安全感兴趣的开发人员,以帮助团队的其他成员识别、保护和预防可能在开发过程中发生的漏洞。这也减轻了对安全专家的压力,以保护可能出现的漏洞,这些漏洞是通过将安全实践编写到源代码中,并减少安全专家和IT团队干预的需要来弥合他们和开发人员之间的差距。安全意识还意味着在管道的末尾发现的问题更少,因为安全实践已经在更早的时候被考虑和应用。

安全编码:安全编码是设计和编写代码的实践,牢记最佳安全实践。通过对软件开发人员的教育和安全方面的技能差距的弥补,可以设计应用程序的源代码,以防止恶意行为者利用漏洞。它有助于保护源代码免受密钥丢失或密钥和容器泄露等漏洞的伤害。

如何实现左移实践

如前所述,实现左移方法需要成功的开发人员教育,以便在开发的早期应用安全实践。开发人员教育是必需的,以缩小目前在软件开发行业中持续存在的技能差距,这是一个可以通过有效的安全指导计划成功克服的障碍。通过招募对安全感兴趣的人担任安全大使,更广泛的开发人员可以获得如何在编码中实施安全实践的知识,教练可以确保在开发的早期阶段实施强有力的安全实践,减少在DevOps管道后期发现和解决大量漏洞的风险。

虽然持续监控/持续集成(CI/CD)是DevOps实践的基本特征,但传统的DevOps环境通常不会在这个过程中包含安全实践。CI/CD管道允许端到端的管道,从而促进软件和软件更新的快速和有效交付。将安全实践(包括正在进行的SAST和DAST实践以及安全检查)集成到这个管道中,意味着可以更有效地定位、保护和缓解漏洞,使它们能够在被利用和解决之前被定位,而无需安全专家的干预。

自动化和安全工具

DevOps环境可以进一步保护其管道,并使用自动化工具更好地实现左移实践,以促进更高效、更顺畅的安全流程。例如,自动证书管理环境(ACME)协议允许DevSecOps环境管理大量SSL / TLS证书,以低接触方式保护其容器和环境。至少80%的数据泄露是由于人为错误造成的。由于需要处理的证书数量不断增加,手动证书管理方法尤其容易受到攻击。自动化证书管理工具和协议(如ACME)允许自动配置、更新和吊销SSL / TLS证书,防止证书丢失或过期,降低违规风险。

这允许Docker容器与其主机之间的通信安全,以确保在自动配置SSL / TLS证书的容器化环境中无法利用漏洞。

这也通过保护由Kubernetes Ingress控制器传输的数据来保护软件在其部署阶段的安全,在保护传输期间数据的完整性和验证真实性方面发挥了至关重要的作用。

左移方法的评估

软件开发行业正面临着安全问题的挑战,威胁主体开始利用人工智能等新兴技术采取新的策略,安全专家也提出了采用新的证书管理和PKI安全方法的需求。实施左移实践,如安全指导和开发人员教育、持续的静态和动态测试方法、安全扫描和安全编码实践以及自动化安全工具的使用,可以帮助缓解这些挑战,同时还可以促进更高效和安全的软件部署在管道中。随着这些挑战的发展,DevOps环境将这些实践作为一种需求实现,并过渡到DevSecOps环境,在整个流程中执行安全实践变得越来越重要。

阅读报告

GlobalSign可以帮助您采用左移方法并保护您的环境

GlobalSign的专家可以通过帮助您为您的环境找到正确的自动化工具来帮助您将左移方法付诸实践,这样您就可以确保容器、机密和资源的安全性,而不必在速度和效率上妥协。

采用自动化来支持安全的管道

Gartner,在DevOps中启用安全性的3个基本步骤2023年3月1日,Daniel Betts等人。
 
GARTNER是GARTNER, Inc.和/或其关联公司在美国和国际上的注册商标和服务标志,并经许可在此使用。版权所有。

近期博客