激励开发人员是更好的安全实践的关键

专业开发人员希望采用DevSecOps并编写安全的代码,但如果他们希望这种努力得到发展,他们的组织需要支持这种改变。
网络威胁形势日益复杂。攻击者不断扫描网络,寻找易受攻击的应用程序、程序、云实例,本月的最新版本是API,由于其往往松懈的安全控制,人们普遍认为这是一个轻松的胜利。
它们是如此持久,以至于新的应用程序有时会在部署数小时内遭到破坏和利用。Verizon 2021数据泄露调查报告很清楚地指出,对企业和组织的威胁比以往任何时候都更危险。
越来越清楚的是,真正加强正在创建的软件的唯一方法是确保它建立在安全代码的基础上。换句话说,阻止威胁参与者入侵的最佳方法是首先拒绝他们进入您的应用程序。一旦你开始打那场战争,大部分优势都会向攻击者倾斜。
这种情况首先引发了敏捷开发和DevOps,后来又引发了整个DevSecOps运动,在这场运动中,从开发到部署的软件创建过程中,安全是每个人的共同责任。但金字塔的基础,也可以说是最重要的部分,是开发者。虽然大多数开发人员都想尽自己的一份力,编写安全的代码,但他们工作的许多组织不太支持优先级的重大转变所需要的更改。
被设计击败
多年来,开发人员一直被告知,他们在组织中的主要角色是在快节奏的环境中快速构建和部署应用程序,在这种环境中,业务永远不会停止,客户永远不会睡觉。开发人员编写代码的速度越快,部署的功能越多,他们在性能评估方面的价值就越大。
如果考虑到安全问题的话,这是事后才想到的。相反,所有这些都留给应用程序安全(AppSec)团队来解决。大多数开发人员都不喜欢AppSec团队,因为他们通常会将已完成的应用程序发送回开发中,以应用安全补丁或重写代码来修复漏洞。开发者花在已经“完成”的应用上的每一个小时,都意味着他们没有创建新的应用和功能,从而降低了它们的性能(以及它们的价值,在一家特别惩罚性的公司看来)。
然后,威胁环境改变了大多数公司安全的重要性和优先级。根据IBM和Ponemon Institute最近发布的一份数据泄露报告的成本,目前网络安全泄露事件的平均成本约为380万美元,尽管这几乎不是上限。仅一家公司在其网络遭到破坏后就遭受了13亿美元的损失。今天的公司想要DevSecOps提供的安全性,但遗憾的是,他们一直在缓慢地奖励响应这一号召的开发人员。
简单地告诉开发团队考虑安全性是行不通的,特别是如果他们仍然基于速度单独被激励。事实上,在这样一个系统中,花时间学习安全性和保护代码的开发人员实际上可能会失去更好的性能评估和利润丰厚的奖金,而这些都是他们安全意识较差的同事继续获得的。这几乎就像公司在无意中操纵系统来应对自己的安全故障,这又回到了他们对开发团队的看法。如果他们不把他们视为安全前线,那么利用他们劳动力的可行计划就不太可能实现。
这甚至不能解释缺乏培训的原因。一些非常熟练的开发人员有几十年的编码经验,但在安全方面经验很少…;毕竟,他们从来没有被要求这样做。除非一家公司为其熟练的程序员提供良好的培训计划,否则它很难指望其开发人员突然获得新技能,并以有意义的方式将其付诸行动,从而积极减少漏洞。
奖励开发人员良好的安全实践
好消息是,绝大多数开发人员都在做他们的工作,因为他们觉得这既有挑战性又有回报,而且因为他们享受他们的职位所带来的尊重。
终身职业程序员Michael Shilt最近写了所有激励他和他的编码同事进行开发工作的事情。是的,他在这些激励措施中列出了金钱补偿,但出人意料的是,它远远落在了后面。相反,他把创造新事物的兴奋感、学习新技能和知道自己的工作将被直接用于帮助他人的满足感放在首位。他还谈到希望在公司和社区中感受到价值。简言之,开发人员就像许多优秀的人一样,他们为自己的工作感到自豪。
像Shpilt和其他开发者不希望威胁参与者破坏他们的代码,并用它来伤害他们的公司,或者他们试图帮助的用户。但是,他们不能在没有支持的情况下突然将重点转移到安全上。否则,系统几乎会对他们不利。
为了帮助开发团队提高他们的网络安全能力,必须首先向他们传授必要的技能。利用支架式学习和准时制(JiT)培训等工具可以大大减少这一过程的痛苦,并有助于在正确的背景下建立现有知识。
JiT的原则是,在正确的时间向开发人员提供正确的知识,例如,如果JiT开发人员培训工具检测到程序员正在创建不安全的代码,或者意外地将漏洞引入到他们的应用程序中,它可以激活并向开发人员展示如何修复该问题,以及如何编写更安全的代码以在将来执行相同的功能。
随着对提高技能的承诺到位,需要消除仅基于速度评估开发人员的旧方法。相反,程序员应该根据他们创建安全代码的能力获得奖励,最好的开发人员应该成为安全冠军,帮助团队的其他成员提高他们的技能。这些冠军需要获得公司声誉和金钱补偿。同样重要的是要记住,开发人员通常不会对安全性有积极的体验,通过积极、有趣的学习和符合他们兴趣的激励措施来提高他们的安全性,这将大大有助于确保知识的保留和保持构建技能的愿望。
公司仍然可以将编码速度作为开发人员评估的一部分,但开发安全应用程序可能需要更长的时间,尤其是在编码人员正在学习这些新技能的情况下。
DevSecOps可以成为对抗日益危险的威胁环境中的黑魔法的终极防御。只是不要忘记,这个新世界的拥护者,那些不断创造新代码的开发人员,需要得到尊重,并为他们的工作获得补偿。