在软件开发早期阶段引入安全有助于防止缺陷,但过程中并非毫无问题。
我们早已超越了在开发工作流中纳入安全只是“推荐做法”的阶段。当今快速创新与开发周期中,成熟企业将安全置于每项决策的首要位置。
随着开发团队越来越有信心在项目中引入安全,随着安全人员学会在不影响创新的情况下履行职责,新的关注重点落在了安全左移上。
“安全左移”指的是将安全程序(代码审查、分析、测试等等)移动到软件开发生命周期(SDLC)早期阶段,从而防止缺陷产生和尽早找出漏洞的过程。通过在早期阶段修复问题,防止其演变为需花费巨资加以修复的灾难性漏洞,安全左移可达到节省时间和金钱的目的。
从初始编码到最终发布,修复缺陷的成本可增加640%,所以各位技术主管都热衷于安全左移。然而,尽管安全团队和开发团队都可受益于安全左移,在实现这一操作时仍可能面临以下挑战。
安全左移需要成熟的团队
第一个挑战就是该方法需要成熟的团队。向SDLC引入安全的时候,成熟度不高的团队面临更多困难。这些团队将需要创建系统性协作方法来实现创新和防护两不耽误。
如果一个项目没有遵循基本的最佳实践,比如高测试覆盖率和关键洞察,那就无法在该项目中推广良好的安全实践。实现安全左移的团队必须对过程中彼此的功能有基本的了解。
开发人员必须重视风险
另一个常见挑战是开发人员需对安全风险有切实的认知。尽管安全人员普遍具备这种认知,但很多开发人员还不习惯在开发过程中同步思考安全问题。
安全意识培训和持续检查是弥合知识鸿沟方面至关重要。安全团队与开发团队必须协同工作,了解对方的工作流和最佳实践。
OWASP Top 10是开发人员初涉安全的良好学习资源。利用这一资源,开发人员可了解到行业面临的顶级安全风险和防范这些风险的基本信息。
成长的烦恼和摩擦很常见
由于左移过程中开发人员和安全团队之间需要更多的交互,企业必须预期二者在调适彼此工作流时可能会出现一些摩擦。
开发人员和安全人员的职能完全不同。开发人员的主要职能是往项目中引入新的功能,注重创新。另一方面,安全人员则必须注意潜在的漏洞,防止出现可能发生漏洞利用和攻击的任何缺口。
安全必须参与到每个步骤中
为增强有效性,安全团队需参与到整个SDLC的每个阶段,抢在潜在风险前面。一种常见的反对声音是,安全会阻碍SDLC和生产力。但是,花在监测这些风险上的时间最终将可防止成本更加高昂的重大事件发生。
尽管安全左移可能需要开发团队和安全团队的一些试错和一点点耐心,但企业最终将从中受益。借助对开发过程的更多了解,安全团队将可更好地保护开发人员的项目和整个公司。