有一个问题是需要每个开发者问的,无论你是毕业生还是老手。而答案很重要。在敏捷的世界里,这个问题变得更加重要,因为它将直接影响你在软件工程方面的成功,以及你对你的下一个雇主的价值。
这是一个百万美元的问题。事实上,这是个价值几百万美元的问题!
你是否致力于帮助我安全地编码?
现在,数据泄露的平均成本为360万美元。你的公司今年被入侵的几率高达四分之一。鉴于这些事实,我和许多人一样感到沮丧,因为开发人员从大学毕业时并没有将安全编码和安全能力植入他们的DNA中。
为什么?软件工程仍然是一个相对年轻的职业。重点是教人们如何快速构建代码,使其优雅和实用,但对使代码安全的关注非常有限。方法论、技术、语言和机会的变化速度只会加剧这些关键技能的差距。
我们不可能迅速改变学术体系,所以开发者和公司都应该期望,开发者需要在工作中学习安全的编码技能。在一些职业中,你可以通过犯错来学习,但对其他职业来说,这不是一个选项。网络安全也是如此。
事实表明,我们的在职开发人员安全培训也没有做得很好。世界上大多数重大的安全漏洞都是由于编码错误,使黑客获得了计算机网络的权限,使他们能够访问和收获有价值的数据。2017年Verizon数据泄露调查报告(DBIR),显示30%的泄露事件是由网络应用程序安全的弱点直接造成的,这个结论自2013年以来在DBIR报告中是一致的。
2017年8月发布的2017年全球DevSecOps技能调查,证实了我们已经知道的事情:虽然65%的DevOps专业人士认为在进入IT行业时,拥有DevSecOps的知识非常重要,但70%的人认为他们没有通过正规教育接受必要的培训,无法在当今的DevSecOps世界中取得成功。
近40%的受访招聘经理表示,最难找到的员工是具有足够安全测试知识的全能型高端开发人员。70%的受访者表示,他们所接受的安全教育并不能满足他们目前的职位需要。事实上,只有不到4%的人说他们根本没有得到机会。
当我花了近十年时间与多个专业白帽黑客团队合作时,我亲眼看到了这一点。我们以悲剧性的规律闯入大型企业、初创企业和政府部门;总是发现同样的弱点。
这就是为什么开发人员需要在你被雇用的时候说出来。如果你的未来雇主没有认真对待你的开发者安全培训,你应该考虑一下你正在考虑加入什么样的公司。
你应该问的第二个问题是他们计划如何提供。它是亲身实践和互动的吗?使用幻灯片、视频、可点击动画或抽象讨论的开发人员安全培训不可能直接帮助你进行编码。他们是否能确保你能持续地了解最新的漏洞?是否有一个安全公会或社区可以让你学习?如果你需要帮助,是否有安全专家可以帮助你?
对你的安全编码技能的承诺需要通过特定编码框架的实践挑战来持续学习,让你在多个场景中面对不同的漏洞。你根本无法通过一个例子来学习SQL注入。你需要接触不同类型的多个例子,这样你才能学会识别这些危险的编码模式。
我们的一个客户要求他们的开发人员在两个月内每天进行一次挑战(5分钟)。它在培训期前后测试了他们的技能,并观察到在数百名开发人员中,安全编码能力提高了60%。这意味着在生命周期的后期,花在寻找和修复安全漏洞上的资源更少,并可长期节省大量资金。这意味着黑客不会利用你的代码来破坏你公司的数据。
根据IDC的研究,2014年世界上有1100万专业开发人员。2015年,Burning Glass发现有多达700万个工作职业需要编码技能,并且编程工作的平均增长速度比市场快12%。
外面有很多软件工作。因此,要表明立场,选择那些致力于照顾他们的安全、你的安全和他们客户的安全的雇主。 推而广之,选择那些投资于你的公司。
有一个问题是需要每个开发者问的,无论你是毕业生还是老手。而答案很重要。在敏捷的世界里,这个问题变得更加重要,因为它将直接影响你在软件工程方面的成功,以及你对你的下一个雇主的价值。
这是一个百万美元的问题。事实上,这是个价值几百万美元的问题!
你是否致力于帮助我安全地编码?