OushuDB 小课堂丨“左移”不是你所期望的

2023-05-09 09:28:35 浏览数 (1)

让我们来谈谈房间里的大象——“左移”并没有像我们许多人预期的那样对我们的软件安全产生影响。虽然它确实有很多优点并且以不可或缺的方式影响了安全性,但我认为“左移”应该被视为更大管理策略中的一种策略,而不是解决应用程序安全问题的综合解决方案。正如软件开发是一个非常复杂的多层次过程一样,“左移”不应被视为一种简单的线性工作。这篇博文将回顾“左移”的成功、担忧和潜力,以及我们如何通过稍微不同的应用来“重启”这个过程。

什么是“左移”? “左移”是一个相对较新的安全方法这要求在开发周期的最早“左侧”即创建阶段开始应用程序安全流程。描述软件开发生命周期及其元素的方法有多种,但一种普遍认可的分解方法是从制定计划开始,然后进入编码、构建、测试、发布、部署、运营,最后是监控。这个过程的最左边是“创建”阶段,最右边是实际安装和使用东西的“操作”领域。“向左移动”定义了将操作移动到最左侧的不同方式,供开发人员处理。

可以“左移”的流程包括测试,这通常作为第一个“左移”工作来实施。测试可以帮助组织从最早阶段解决问题——当他们计划、创建和编码时。在最早阶段解决问题可以显着提高在进入运营阶段时遇到的问题更少、修复起来更容易、成本更低的可能性。

“左移” 是什么意思? 从最早阶段解决问题可以增加避免错误的机会,确保软件投入生产,并对编写代码和负责运行代码的人员的任何问题实施快速准确的修复。“左移”的一个成功例子是容器化和其他类型的包装,当 库伯内斯 出现了。“左移”让我们明白,当一个软件工件被正确打包后,它可以使部署、运行和监控它的后续步骤变得容易得多。自动化与容器化和软件工件打包相结合,使我们能够非常有效地简化整个部署操作。另一个“左移”成功案例是归因——“左移”使我们能够发起和扩大关于代码所有者的对话,使工程组织能够识别代码背后的开发人员,并使开发人员自己的流程更加简化。开发人员希望编写好的代码,并且“左移”将这种与安全性的对话推到了最前沿,而不是对抗性的。

“左移”安全测试挑战 尽管它已经完全适应,但安全测试已经产生了不同程度的影响。单独测试需要一定水平的技能或工程成熟度,这对某些组织来说可能是一个障碍,它们可能无法获得拥有完整测试套件的全部好处。事实上,在大多数工程组织中仍然存在缓解控制功能,因为基于开发人员的测试不被认为是唯一的真实来源。组织了解他们需要 QA 功能来挑战测试工具,并充当结果的最终质量保证和控制功能。

“左移”安全修复挑战 安全工具为您提供许多警报,这些警报难以理解、确定优先级和采取行动。开发人员应该分类并尝试缓解什么?开发人员仍然可以发布并在工程过程中向前推进而不响应安全测试告诉他们的内容,这无济于事。许多测试更像是“合成”阻断器而不是真正的阻断器——开发人员可以在工作流程中挑战这些阻断器,并会找到解决方法以避免修复它们。

对于那些被归类为需要缓解的关键警报,安全部门没有能力为开发人员分类这些问题。另一方面,开发人员可能缺乏自己进行分类的知识。开发人员不是安全专业人员,不能指望他们理解代码背后的含义和上下文。无法独立进行分类,再加上大量的警报,在开发人员和安全团队之间产生了摩擦,随着对这些测试工具的抵制和流程本身的增长,协作变得更加困难。

使用“左移”实现代码安全的可行技巧 我整理了一些基本原则,这些原则可以帮助缓解风险并创建更健康的代码安全文化。我们都同意必须修复漏洞,但“左移”未能认识到这是一个过程,而不是一蹴而就的事情。不应期望或要求工程师立即解决所有问题。如果我们从小步开始,我们就会明白有些东西更容易向左移动。这将成为向左转移问题缓解的真正旅程的第一步,同时发展一种更健康的文化,让开发人员对他们编写的代码负责。

我的第一个基本建议是承认真正的转变只有在研发部门决定它应该发生时才会发生。安全不是解决问题的人,因此为了说服开发人员这样做,我们必须向他们提供每个问题的业务背景以显示其紧迫性,或者只是友好地询问。我们必须达到研发组织自愿决定将安全活动拉到左边的地步。作为安全专业人员,我们必须专注于为其他团队带来价值的工作,并应提出有助于研发工作的议程。这意味着在他们的游乐场内玩耍 ,而不是引入其他工具或新门户并要求他们使用它们。

随着组织规模的扩大,风险抵抗力是自下而上建立的,但也是自上而下的——与管理层一起建立。确保经理给他们的团队足够的资源来解决安全问题,并且开发人员对创建有问题的工件不感兴趣。

为了以可持续和可扩展的方式开始“左移”,组织应该从一开始就推动归因的采用。这意味着了解每个工件是什么、它由什么组成以及它的业务功能是什么,这样我们就可以支持优先级排序并改进警报所需的工作。如果有严重警报,我们会确切地知道它是否会得到处理。当您正确完成作业并拥有资产清单(其中每个工件都分配有安全和补救策略)时,组织可以消除无休止的讨论和花费在分类上的过多时间。只有当开发人员真正将他们的安全生命周期构建到他们的工作流中时,“左移”才能达到预期的效果。作为安全专家,我们需要帮助他们这样做。

0 人点赞