沃卡logo

如何将安全护栏的力量带入您的应用程序安全计划

2022-08-25来源:

组织不应期望开发人员成为安全专家;这不是他们被训练成的样子,也不是他们的工作。相反,组织应该使用应用程序安全团队来支持开发人员,让他们可以访问安全的框架、库和默认设置,使最安全的选项成为最简单的选择。安全护栏旨在帮助组织做到这一点。

可视化安全护栏将如何使您的开发人员和安全团队受益将帮助您入门。本文提供了一些基本步骤,您可以实施这些步骤来将安全护栏引入您的AppSec程序。

当提供通过将安全工具无缝集成到应用程序开发工作流中来编排安全工具的安全护栏时,开发人员有权创建安全代码。他们通过保持低噪音的政策和控制来保持生产力,并且只报告影响很大的相关安全问题。

采用安全护栏可确保开发团队无需安全团队的积极参与即可快速运行。同样,AppSec团队可以通过自动化开发人员工作流程中的安全控制、确保执行而不是手动执行审查以及跟踪错误修复来扩展。

当控制被纳入开发过程时,开发团队不太可能忽视和绕过安全性。他们不必采取额外的步骤联系安全团队。安全护栏确保最快的部署路径也是最安全的。

如何将安全护栏带入您的AppSec程序

Netflix和Airbnb等公司承认有必要让开发人员团队能够构建安全软件,同时为他们提供做出适当安全决策的灵活性。这些企业和许多其他企业已经在CI/CD中实施了安全护栏。以下是一些步骤,可帮助您开始为组织中的开发人员提供一致、可操作的自助式安全治理和控制。

1.定义护栏:组织可以在开发人员工作流程中实施许多不同类型的安全护栏。对于技术组织内的任何安全团队来说,从良好的安全策略开始都是至关重要的。AppSec团队已经与开发人员交流的安全控制是一个很好的起点。这些可以是定义软件工件的所有权、遵循特定的依赖许可策略、使用内部工件注册表、使用或不使用特定库、代码审查控制等。

2.设置范围:并非所有的代码仓库都是平等的,根据项目的业务风险和关键性,不同的安全护栏可能适用于不同的代码仓库。一旦您知道要实施哪些安全护栏来构建“合适的”安全性,您就可以确定在哪里应用这些安全护栏。

3.定义触发器:根据您为其应用防护机制的基础资产(即代码存储库、依赖项、拉取请求、容器、EC2实例等),您可以在何处以及如何使用它可能会有所不同。例如,您可以在创建代码存储库、合并拉取请求、部署容器或作为每晚的计划时使用一些防护措施。可以在任何这些事件中触发护栏,以便开发人员可以在适当的时间采取适当的行动。

4.采取适当的行动:根据设计,护栏可以是预防性的或反应性的,对违规行为可能采取的行动取决于您打算将它们是预防性的还是反应性的。您可以使用反应式护栏按预定义的时间表运行,识别各种护栏违规,并通知相应的所有者。例如,每周找出未配置依赖项扫描和SAST工具的关键代码存储库,并通知所有者违规情况。

预防性护栏实时识别违规行为并通知开发人员。例如,如果未在该存储库上启用依赖扫描,则自动评论拉取请求或使构建失败,或者如果容器不是来自批准的容器注册表,则阻止在Kubernetes中部署容器。

5.报告:定期报告整个组织对护栏的遵守情况。报告对护栏的遵守情况消除了许多关于此安全问题是否必不可少并使安全风险二元化的非生产性辩论。决策变得与底层软件资产是否满足预期控制一样简单,无需进一步的安全戏剧或FUD(恐惧、不确定性和怀疑)。

为什么安全护栏是应用程序安全的未来

工程和安全团队一直在努力解决在DevOps期间实施安全的复杂性。组织经常缺乏安全可见性,开发人员工作流程中的安全检查不足,以及无法以DevOps的速度扩展AppSec。安全护栏简化了可在开发人员工作流程中定义和应用的特定于上下文的安全策略和控制的关联。这种策略是AppSec的未来,因为组织必须授权开发人员生成安全代码,而无需担心安全守门的拖累。

安全护栏是确保开发团队在现代SDLC中采用安全策略和控制的唯一方法。这种采用消除了开发人员与安全性之间的摩擦,并确保开发人员能够快速、安全地开发应用程序。

通过应用自动化安全护栏,您的组织可以降低安全风险并使部署路径尽可能安全。Guardrails使开发人员能够完全自主地实现与时间相关的关键性能指标,让工程师在安全团队的瓶颈最小化的情况下——同时安全团队可以腾出时间将他们的知识和技能应用到最紧迫的问题上。

安全护栏代表了最终的安全转变,使开发人员能够安全地从代码到云。借助CI/CD中预先构建的、上下文相关的实时安全策略和控制,组织可以影响开发人员的行为并在SDLC中构建安全性。

  图片使用申明:原创文章图片源自‘Canva可画’平台免费版权图片素材;引用文章源自引用平台文章中所使用的原图。