当前位置: 首页 > 科技观察

如何在应用程序安全程序中引入安全护栏

时间:2023-03-17 21:03:26 科技观察

译者|李睿评论|孙淑娟企业不要期望开发人员是安全专家,因为安全不是他们的工作,也不是他们擅长的领域。相反,组织应该让应用程序安全团队授权开发人员访问安全框架、库和默认设置,从而使最安全的选择变得最简单。SecurityRail旨在帮助企业做到这一点。可视化安全围栏将如何使您的开发人员和安全团队受益,将有助于员工入门。本文提供了一些基本步骤,您可以通过这些步骤将安全栏杆引入您的应用程序安全程序。通过将安全工具无缝集成到应用程序开发工作流程中,提供编排安全工具的安全轨道时,开发人员能够创建安全代码。他们通过维护低中断策略和控制来保持生产力,并且只报告具有高影响的相关安全问题。采用安全轨道可确保开发团队可以快速运行,而无需安全团队的积极参与。同样,应用程序安全项目团队可以通过自动化开发人员工作流程中的安全控制来扩展,确保审查是执行而不是手动执行,并跟踪错误修复。当将控制纳入开发过程时,开发团队不太可能忽视和绕过安全性。他们不必采取额外步骤联系安全团队。安全轨道确保最快的部署路径也是最安全的路径。1.如何将安全防护带纳入应用程序安全Netflix和Airbnb等公司认识到需要授权开发人员团队构建安全软件,同时让他们能够灵活地做出适当的安全决策。这些企业和许多其他企业已经在持续集成(CI)/持续交付(CD)中实施了安全护栏。以下是一些可以帮助组织开始为开发人员提供一致、可操作的自助式安全治理和控制的步骤。(1)定义护栏:企业可以在开发人员工作流程中实施许多不同类型的安全护栏。从良好的安全策略开始对于技术企业内的任何安全团队都至关重要。应用程序安全团队与开发人员沟通过的安全控制是一个很好的起点。这些可能是定义软件工件的所有权、遵循特定的依赖许可策略、使用内部工件注册表、使用或不使用特定的库、代码审查控制等。(2)设置范围:并非所有代码库都是平等创建的,不同的安全性根据业务风险和项目的重要性,护栏可能适用于不同的代码库。一旦您知道要实施哪些安全护栏来构建适当的安全性,您就可以确定在何处应用它们。(3)定义触发器:根据应用护栏的基础资产(即代码库、依赖项、拉取请求、容器、EC2实例等),使用护栏的位置和方式可能会有所不同。例如,一些护栏可以在创建代码存储库、合并拉取请求、部署容器或每天晚上作为时间表时使用。可以针对这些事件中的任何一个触发护栏,以便开发人员可以在适当的时间采取适当的行动。(4)采取适当的行动:根据设计,护栏可以是预防性的或反应性的,违规行为可能采取的行动取决于是预防性措施还是反应性措施。反应性护栏可用于按预定义的时间表运行,识别各种护栏的违规情况,并通知适当的所有者。例如,每周识别未配置依赖项扫描和SAST工具的关键代码库,并通知所有者违规行为。预防性护栏实时识别违规行为并通知开发人员。例如,如果未在该存储库上启用依赖项扫描,则自动评论拉取请求或构建失败,或者如果容器不是来自已批准的容器注册表,则阻止将容器部署到Kubernetes中。(5)报告:定期报告公司对护栏的遵守情况。Guardrail报告消除了很多关于此安全问题是否必要的无用辩论,并将安全风险双重化。决策变得像底层软件资产是否满足预期控制一样简单,无需进一步的安全策略或FUD(恐惧、不确定性和怀疑)。2.为什么SecurityRails是应用程序安全程序的未来工程和安全团队已经解决了在DevOps期间实施安全性的复杂性。企业通常在开发人员工作流中缺乏安全可见性和安全检查不足,无法以DevOps的速度扩展应用程序安全程序。安全栏杆简化了可在开发人员工作流中定义和应用的特定场景安全策略和控制的关联。这种策略是应用程序安全程序的未来,因为企业必须授权开发人员在不受安全门影响的情况下生成安全代码。安全护栏是确保开发团队在现代软件开发生命周期(SDLC)中采用安全策略和控制的唯一方法。这种采用消除了开发人员和安全团队之间的摩擦,并确保开发人员可以快速安全地开发应用程序。通过应用自动化安全栅栏,组织可以降低安全风险并使部署路径尽可能安全。安全护栏让开发人员完全自主地实现与时间相关的关键性能指标,同时最大限度地减少安全团队的瓶颈,同时让安全团队腾出时间将他们的知识和技能应用到最紧迫的事情上。安全护栏代表了最终的安全转变,使开发人员能够安全地从代码转移到云平台。借助持续集成(CI)/持续交付(CD)中预构建的、上下文相关的实时安全策略和控制,企业可以影响开发人员的行为并将安全性构建到软件开发生命周期(SDLC)中。原文链接:https://dzone.com/articles/how-to-bring-the-power-of-security-guardrails-to-y