背景介绍
Envestnet, Inc. 是一家金融科技上市公司,拥有 5.3 万亿美元资产和超过 1850 万个投资者账户。Envestnet 的使命是通过创新的技术、解决方案和智能,增强顾问和金融服务提供商的能力,让每个人都能实现财务健康。Envestnet 已成为财富管理技术领域的市场领导者之一,其旗舰咨询平台整合了全球财富管理领域财务顾问所使用的服务和软件。
Envestnet 致力于数据管理最佳实践,包括通过持续的基于风险的合规措施对其财富管理平台进行持续监控,从而能够快速识别和修复任何合规问题或潜在故障。Envestnet 在提供服务时采用世界一流的安全措施,在保护客户数据方面处于领先地位。
了解 Envestnet 产品安全主管、《应用程序安全手册》作者 Derek Fisher 如何与Secure Code Warrior 合作,为其开发人员团队开发一种通过敏捷安全代码启用减少漏洞的整体方法。Derek 从事应用安全工作已有十多年,亲眼目睹了无数安全方面的成功和失败,并将其独特的专业知识用于为 Envestnet 的开发人员开发安全代码学习环境。
情况
德里克刚开始担任应用安全职位时,他希望能够超越 OWASP 十佳培训和基本合规性培训。他们有一些安全 SDLC 流程,但主要集中在查找漏洞上,不一定能从源头上解决这些问题。
德里克说:"我们都非常熟悉任何组织的年度合规培训。这通常就是我所说的'Powerpoint 之死',一堆幻灯片,最后可能还有一个assessment ......非常低效且耗时。我们有培训,但通常是基于合规性的培训,还有一些基于幻灯片/录音的特定安全培训。我们注意到,开发人员并没有很好地参与进来,也没有从这些材料中学习到什么,因此我们必须改变策略。
这种简单地通过被动的、以 OWASP 为重点的合规性培训来培训开发人员的传统策略让 Derek 和他的团队特别痛苦,因为他们无法衡量培训的效果,因此他们发现自己越来越多地把时间花在了漏洞管理上。
德里克认识到,必须从漏洞的源头--开发人员在生产中使用的不安全代码--入手,而仅仅使用更多的工具并不能解决问题。
相反,德里克和他的团队在 2020 年将重点转移到了漏洞缓解上,目标是从一开始就编写更安全的代码。德里克和他的团队采用了 "左移 "策略,在 SDLC 的更早阶段解决和修复漏洞,因为此时修复漏洞的成本要低得多。
但首先,他们需要解决开发人员对现有 App Sectraining 的参与度一直很低的问题。他希望在安全代码学习策略中避免仅仅实施 "复选框 "思维,而是为 Envestnet 的开发人员提供更有效、更敏捷的安全代码学习体验。
"当我看到 SCW 及其功能时,我就知道我们应该采用更注重实践、互动性更强的方法。 我希望工程师和开发人员从培训中走出来时,能对实际问题有更多的实际了解。 我们希望建立一种肌肉记忆,即'这是我以前在培训中见过的东西,我知道如何解决我看到的这个编码问题'。Secure Code Warrior 平台使我们能够提供这种环境,让工程师和开发人员能够进入其中,真正了解哪些是良好的安全编码实践,哪些是糟糕的实践,以及如何快速解决漏洞。
Derek Fisher,Envestnet 产品安全主管
行动
Derek 特别希望实施一项通过认证奖励安全代码高级技能的带薪战略。这个四级计划的重点是为安全意识打下坚实的基础(第一级和第二级),然后为开发人员成为安全卫士铺平道路(第三级和第四级)。这就解决了无法衡量开发人员如何保留安全代码概念的问题,同时确保具有安全意识的开发人员有一个职业发展途径,以提高他们的技能,应对更复杂的安全挑战。
他们在一个小型试点中进行了测试,并征求了参与测试的开发人员的反馈意见。反馈非常积极。德里克指出
"你并不总是能从这些事情中得到积极的反馈--我怎么强调都不为过--任何时候你在培训中得到积极的反馈都是不寻常的。这是一个很好的指标,说明这是一个正确的工具"。
Envestnet 在 2021 年春季举办了首次tournament ,并从开发人员参与的角度取得了更积极的成果。随后,Derek 为数据库、前端、API 和云开发人员推出了一系列集成到其 LMS 中的courses 。到 2021 年秋季 Envestnet 举办第二次tournament 时,参与的开发人员总数翻了一番。
据 Derek 称,Envestnet 通过tournaments 获得了巨大的吸引力,因为、
"我们都知道,竞争是一种动力。我们都希望确保我们的同行认可我们在某些方面做得有多好,这确实能激励人们参与并做好这些tournaments 。这一点以及与我们开发工具的整合让我们真正看到了Secure Code Warrior 的价值"。
Derek 和团队还努力将Secure Code Warrior 与 Jira 集成,这样当某些漏洞反复出现时,开发人员就可以直接在 Jira 票据中获取即时补救建议,而无需离开熟悉的环境。这就为开发人员提供了宝贵的上下文以及即时、按需的教育,让他们了解如何在需要时、在影响点解决该漏洞。Derek 的团队还与Secure Code Warrior 合作赞助了安全日活动,从而获得了更广泛的首席执行官支持,并加强了工程和安全在 Envestnet 成功中的重要性。有了这种高管和开发人员的支持,Envestnet 得以将其计划扩展到今天的规模。现在,Envestnet 已将其确定的所有安全冠军纳入该计划,整个团队中有 60% 的人已完成 1 级或 2 级认证。
成果
Envestnet 衡量成功与否的方法之一是考察那些经历过 SCW 学习经历的团队,衡量他们是否减少了漏洞的产生和/或更快地修复了漏洞。他们的发现令人印象深刻:
- 接受过南卡罗来纳大学教育的开发人员修复的漏洞比同龄人多 2.7 倍
- 100 名接受过 SCW 教育的开发人员在短时间内修复了 450 个漏洞
- 1 200 名接受过 SCW 教育的开发人员使 Envestnet 在各自队列中的补救措施增加了 120
- 在两个产品线的一年时间里,接受过 SCW 教育的开发人员以每人 4.5 个漏洞的比率解决了问题,而他们的同行仅以每人 1.82 个漏洞的比率解决了问题
- 2022 年,所有 "安全卫士 "都通过了他们的认证计划
- 有 60% 的安全意识开发人员通过了 1 级和 2 级培训,而且人数还在不断增加
主要收获
德里克向那些刚刚开始安全代码学习之旅的人提出了这样的建议:
"我们在安全方面的工作就是降低组织的风险。 这是我们的'真北',也是我们一直努力的方向。关键漏洞可能不是最高风险或对组织影响最大的问题。它可能是几个中级漏洞、一个低级漏洞和一个高级漏洞拼接在一起,形成一个影响更大的链条。随着时间的推移,累积的漏洞越多,风险就越大。通过Secure Code Warrior ,您可以保持领先地位,并采取积极主动的方法,通过敏捷的安全代码学习来减少潜在的漏洞链。"
- 不要只专注于测试漏洞和报告漏洞--这样做最终只会给开发人员制造噪音
- 相反,AppSec 应该成为开发人员的合作伙伴,并确保在实施安全代码学习策略之前得到他们的支持
- 罗马不是一天建成的。您的计划需要随着风险状况的变化、公司的变化以及技术和工具的变化而变化
- 最有效的长期战略是提高周围人的安全智商,以减少产生的漏洞总数