第三方组件引入的漏洞继续给组织带来重大问题:例如,几乎所有代码库都包含开源组件,代码库中 77% 的代码源自开源。然而,84%的风险评估代码库中存在与开源相关的漏洞,其中 74% 的代码库被认为具有高风险。
人工智能 (AI) 的出现,让如今无处不在的开发助手变得更加容易受到攻击,大多数软件和安全团队成员都承认,不安全的 AI 建议很常见。根据Snyk 的报告,十分之八的开发人员正在绕过安全政策使用 AI,从而参与所谓的“影子 AI”, 这无济于事。
当首席信息安全官 (CISO) 及其团队解决这些问题时,他们越来越意识到,强大的防御策略始于与软件开发团队合作,培养“安全第一”的文化。然而,为了达到保护和生产力的完美平衡状态,需要建立以相关技能基线和培训计划的有效性为基础的基准。这种基准测试工作应侧重于三个关键领域:
了解开发人员的安全技能/意识和改进进度
建立有意义的目标,考虑组织需求,确保开发人员培训和评估符合业务要求
通过数据测量将整个开发团队的安全成功情况与其他行业成员和领导者进行比较,促进新的培训和学习方法
基准测试就是要重新掌控局面——通过测量,您可以全面了解开发团队的安全技能和实践,然后寻求持续改进。那么,您应该如何开始实施这个计划呢?我们认为以下三个步骤至关重要:
确定成功的标准。确定成功的标准以及如何在技能水平、培训频率、培训影响、减少脆弱性等方面衡量这些标准。首先收集信息,然后找出您的团队的进步与行业其他团队相比如何。
在采用这种方法时,您应该同时保持历史和未来视角。历史视角以团队如何开发代码为中心,并询问成员使用了哪些资源/工具以及他们是否引入了漏洞。风险评估在整个软件开发生命周期 (SDLC) 中发挥多大作用?
这种面向未来的观点着眼于内部,询问个人是否具备适当的技能,以及组织如何帮助提高和支持这些技能。
采取行动。如果没有人利用基准测试数据,那么它就毫无价值。首席信息安全官和其他组织领导者必须执行绩效标准。如果开发人员在“安全第一”实践方面落后,那么您可以限制他们对编写代码所需的某些存储库的访问。如果他们达到了既定目标,就用更大/更具吸引力的项目和职业发展机会来激励他们。如果他们没有达到预期,不要害怕说“不”,限制他们对某些代码存储库和语言框架的访问,直到他们达到既定的标准和结果。
确保技能提升。虽然团队可以量化应用程序中的风险,但如果没有基准测试,就很难确定被安排到特定项目的开发人员是否具备安全代码开发方面的知识和技能,以降低风险。评估个人知识,将合适的人安排到合适的项目上,这样他们的安全情报就处于适合其分配工作的风险水平。
在追求持续改进的过程中,您应该投资敏捷学习计划,为开发人员提供多种教育途径。例如,他们可以参加即时“微爆发”会议,以便立即在工作环境中学习、测试和应用知识,并更好地了解他们面临的“现实生活”威胁。与静态会议相反,敏捷方法鼓励不断的“边做边学”机会。
最后,一旦您启动了全面的基准测试计划,您就可以将其影响扩展到企业之外。毕竟,我们肩负着共同的责任,不仅要改善我们自己,还要改善我们整个行业。为了实现这一目标,我们需要齐心协力,分享成功案例和经验教训,以回答以下问题:“我们应该设定什么最低标准?”以及“我们如何建立并鼓励(如果不是强制执行)全行业标准?”
实施基准测试计划的组织正在为开发人员设定一条“指导路径”,将培训和最佳实践与每个人的技能水平和角色相匹配。通过确定成功的标准并采取具体、可行的步骤实现目标,同时利用敏捷学习全面提高开发团队的“安全智商”,您可以为软件生产做好最佳准备,以应对人工智能带来的复杂性以及可能引入新漏洞的任何其他技术进步。
当安全领导者将这些努力从企业级扩展到整个行业时,我们就会丰富整个软件开发。到目前为止,这种承诺已经超越了“正确的事情”——这是必须做的事情。