激励开发者是改善安全实践的关键

发表于2021年10月19日
作者:Pieter Danhieux
案例研究

激励开发者是改善安全实践的关键

发表于2021年10月19日
作者:Pieter Danhieux
查看资源
查看资源

网络威胁的情况正变得越来越复杂。攻击者不断扫描网络,寻找易受攻击的应用程序、程序和云实例,而这个月的最新口味是API,由于其安全控制往往很松散,人们普遍认为它很容易获胜。他们是如此顽固,以至于新的应用程序有时可以在部署后几小时内被破坏和利用。Verizon 2021年数据泄露调查报告非常清楚地表明,今天针对企业和组织的威胁比历史上任何时候都要危险

越来越清楚的是,真正加固正在创建的软件的唯一方法是确保其建立在安全代码之上。换句话说,阻止威胁行为者入侵的最好方法是首先不让他们在你的应用程序中找到立足点。一旦你开始打这场战争,大部分的优势就会向攻击者倾斜。

这种情况首先产生了敏捷开发和DevOps,后来又产生了整个DevSecOps运动,在这个运动中,安全是参与创建软件的每个人从开发到部署过程中的共同责任。但是,这个金字塔的底部,也可以说是最重要的部分,是开发人员。虽然大多数开发人员都想尽自己的职责,编写安全的代码,但他们工作的许多组织却不太支持这样一个优先级的重大转变所需要的变化。

被设计的失败

多年来,开发人员被告知,他们在组织中的主要角色是在一个快节奏的环境中快速构建和部署应用程序,在这个环境中,业务从未停止,客户从未睡觉。开发人员编写代码的速度越快,能够部署的功能越多,他们在绩效评估方面的价值就越大。

安全问题是事后才想到的,甚至根本没有考虑。相反,所有这些都留给了应用安全(AppSec)团队来解决。大多数开发者不喜欢应用安全团队,因为他们经常把已经完成的应用送回开发中,以应用安全补丁或重写代码来补救漏洞。开发人员在已经 "完成 "的应用程序上花费的每一个小时,都是他们没有创造新的应用程序和功能的时间,从而降低了他们的性能(以及他们的价值,在一个特别惩罚性的公司眼中)。

而后,威胁环境改变了大多数公司对安全的重视和优先考虑。根据IBM和Ponemon研究所最近发布的《数据泄露成本报告》,现在每起网络安全泄露事件的平均成本约为380万美元,尽管这几乎是上限。仅一家公司在其网络被入侵后就造成了13亿美元的损失。今天的公司想要DevSecOps提供的安全性,但遗憾的是,他们对响应这一号召的开发人员的奖励却很缓慢。

仅仅告诉开发团队要考虑安全问题是行不通的,特别是如果他们仍然仅仅根据速度来进行激励。事实上,在这样的系统中,那些花时间学习安全知识并确保其代码安全的开发人员实际上可能会失去更好的绩效评估和有利可图的奖金,而他们那些安全意识不强的同事却能继续获得。这几乎就像公司在不知不觉中为自己的安全失误操纵了系统,这又回到了他们对开发团队的看法上。如果他们不把他们视为安全前线,那么利用他们的劳动力的可行计划就很难实现。

而这甚至还没有考虑到缺乏培训的问题。一些非常熟练的开发人员有几十年的编码经验,但在涉及到安全问题时却很少......毕竟,从来没有人要求他们这样做。除非公司为他们的熟练程序员提供良好的培训计划,否则很难指望他们的开发人员突然获得新的技能,并以一种有意义的方式将它们付诸行动,积极减少漏洞。

奖励开发者的良好安全实践

好消息是,绝大多数开发人员做他们的工作是因为他们发现它既有挑战又有回报,而且他们喜欢他们的职位所带来的尊重。终身职业编码员Michael Shpilt最近写了所有激励他和他的编码同事从事开发工作的事情。是的,他在这些激励中列出了金钱报酬,但令人惊讶的是,它在名单上排得很靠后。相反,他把创造新事物的快感、学习新技能和知道自己的工作将直接用于帮助他人的满足感放在首位。他还谈到希望在他的公司和社区中感到被重视。简而言之,开发人员就像很多优秀的人一样,对自己的工作感到自豪。

像Shpilt和其他开发者不希望威胁者破坏他们的代码,并利用它来伤害他们的公司,或他们试图帮助的用户。但是,他们不能在没有支持的情况下突然将他们的优先事项转向安全。否则,这几乎就像系统会对他们不利。

为了帮助开发团队提高他们的网络安全能力,首先必须向他们传授必要的技能。利用支架式学习和即时培训(JiT)等工具可以使这个过程不那么痛苦,并有助于在正确的背景下建立现有的知识。 

JiT的原则是在正确的时间向开发者提供正确的知识,例如,如果JiT开发者培训工具检测到一个程序员正在创建一段不安全的代码,或者不小心在他们的应用程序中引入了一个漏洞,它可以激活并向开发者展示他们如何能够解决这个问题,以及如何在未来编写更安全的代码来执行同样的功能。

随着对提高技能的承诺的到位,过去那种只根据速度来评估开发人员的方法需要被淘汰。相反,编码员应该根据他们创建安全代码的能力得到奖励,最好的开发人员会成为安全冠军,帮助团队其他成员提高他们的技能。而这些冠军需要得到公司声誉和金钱报酬的奖励。同样重要的是要记住,开发人员通常在安全方面没有积极的经验,通过积极的、有趣的学习和激励措施来提高他们的兴趣,将大大有助于确保知识的保留和继续培养技能的愿望。

公司仍然可以将编码速度作为开发人员评估的一部分,但期望开发安全应用程序可能需要更长的时间,特别是在编码人员学习这些新技能的时候。

DevSecOps可以成为抵御日益危险的威胁环境中的黑暗艺术的终极防御。只是不要忘记,这个新世界的拥护者,那些不断创造新代码的开发者,需要得到尊重,并为他们的工作得到补偿。


想让你的安全技能与世界各地的其他开发者一决高下吗?请看 Secure Code Warrior’s 2021年开发奥林匹克运动会,你可以在我们的全球tournaments ,获得一个重大奖项!

查看资源
查看资源

作者

皮特-丹休

Pieter Danhieux是全球公认的安全专家,拥有超过12年的安全顾问经验,并在SANS担任首席讲师8年,教授如何针对和评估组织、系统和个人的安全弱点的攻击性技术。2016年,他被评为澳大利亚最酷的科技人士之一(Business Insider),被授予年度网络安全专业人士(AISA - 澳大利亚信息安全协会),并持有GSE、CISSP、GCIH、GCFA、GSEC、GPEN、GWAPT、GCIA认证。

想要更多吗?

在博客上深入了解我们最新的安全编码见解。

我们广泛的资源库旨在增强人类对安全编码技术提升的方法。

查看博客
想要更多吗?

获取关于开发者驱动的安全的最新研究

我们广泛的资源库充满了有用的资源,从白皮书到网络研讨会,让你开始使用开发者驱动的安全编码。现在就去探索它。

资源中心

激励开发者是改善安全实践的关键

发表于2021年10月19日
作者:Pieter Danhieux

网络威胁的情况正变得越来越复杂。攻击者不断扫描网络,寻找易受攻击的应用程序、程序和云实例,而这个月的最新口味是API,由于其安全控制往往很松散,人们普遍认为它很容易获胜。他们是如此顽固,以至于新的应用程序有时可以在部署后几小时内被破坏和利用。Verizon 2021年数据泄露调查报告非常清楚地表明,今天针对企业和组织的威胁比历史上任何时候都要危险

越来越清楚的是,真正加固正在创建的软件的唯一方法是确保其建立在安全代码之上。换句话说,阻止威胁行为者入侵的最好方法是首先不让他们在你的应用程序中找到立足点。一旦你开始打这场战争,大部分的优势就会向攻击者倾斜。

这种情况首先产生了敏捷开发和DevOps,后来又产生了整个DevSecOps运动,在这个运动中,安全是参与创建软件的每个人从开发到部署过程中的共同责任。但是,这个金字塔的底部,也可以说是最重要的部分,是开发人员。虽然大多数开发人员都想尽自己的职责,编写安全的代码,但他们工作的许多组织却不太支持这样一个优先级的重大转变所需要的变化。

被设计的失败

多年来,开发人员被告知,他们在组织中的主要角色是在一个快节奏的环境中快速构建和部署应用程序,在这个环境中,业务从未停止,客户从未睡觉。开发人员编写代码的速度越快,能够部署的功能越多,他们在绩效评估方面的价值就越大。

安全问题是事后才想到的,甚至根本没有考虑。相反,所有这些都留给了应用安全(AppSec)团队来解决。大多数开发者不喜欢应用安全团队,因为他们经常把已经完成的应用送回开发中,以应用安全补丁或重写代码来补救漏洞。开发人员在已经 "完成 "的应用程序上花费的每一个小时,都是他们没有创造新的应用程序和功能的时间,从而降低了他们的性能(以及他们的价值,在一个特别惩罚性的公司眼中)。

而后,威胁环境改变了大多数公司对安全的重视和优先考虑。根据IBM和Ponemon研究所最近发布的《数据泄露成本报告》,现在每起网络安全泄露事件的平均成本约为380万美元,尽管这几乎是上限。仅一家公司在其网络被入侵后就造成了13亿美元的损失。今天的公司想要DevSecOps提供的安全性,但遗憾的是,他们对响应这一号召的开发人员的奖励却很缓慢。

仅仅告诉开发团队要考虑安全问题是行不通的,特别是如果他们仍然仅仅根据速度来进行激励。事实上,在这样的系统中,那些花时间学习安全知识并确保其代码安全的开发人员实际上可能会失去更好的绩效评估和有利可图的奖金,而他们那些安全意识不强的同事却能继续获得。这几乎就像公司在不知不觉中为自己的安全失误操纵了系统,这又回到了他们对开发团队的看法上。如果他们不把他们视为安全前线,那么利用他们的劳动力的可行计划就很难实现。

而这甚至还没有考虑到缺乏培训的问题。一些非常熟练的开发人员有几十年的编码经验,但在涉及到安全问题时却很少......毕竟,从来没有人要求他们这样做。除非公司为他们的熟练程序员提供良好的培训计划,否则很难指望他们的开发人员突然获得新的技能,并以一种有意义的方式将它们付诸行动,积极减少漏洞。

奖励开发者的良好安全实践

好消息是,绝大多数开发人员做他们的工作是因为他们发现它既有挑战又有回报,而且他们喜欢他们的职位所带来的尊重。终身职业编码员Michael Shpilt最近写了所有激励他和他的编码同事从事开发工作的事情。是的,他在这些激励中列出了金钱报酬,但令人惊讶的是,它在名单上排得很靠后。相反,他把创造新事物的快感、学习新技能和知道自己的工作将直接用于帮助他人的满足感放在首位。他还谈到希望在他的公司和社区中感到被重视。简而言之,开发人员就像很多优秀的人一样,对自己的工作感到自豪。

像Shpilt和其他开发者不希望威胁者破坏他们的代码,并利用它来伤害他们的公司,或他们试图帮助的用户。但是,他们不能在没有支持的情况下突然将他们的优先事项转向安全。否则,这几乎就像系统会对他们不利。

为了帮助开发团队提高他们的网络安全能力,首先必须向他们传授必要的技能。利用支架式学习和即时培训(JiT)等工具可以使这个过程不那么痛苦,并有助于在正确的背景下建立现有的知识。 

JiT的原则是在正确的时间向开发者提供正确的知识,例如,如果JiT开发者培训工具检测到一个程序员正在创建一段不安全的代码,或者不小心在他们的应用程序中引入了一个漏洞,它可以激活并向开发者展示他们如何能够解决这个问题,以及如何在未来编写更安全的代码来执行同样的功能。

随着对提高技能的承诺的到位,过去那种只根据速度来评估开发人员的方法需要被淘汰。相反,编码员应该根据他们创建安全代码的能力得到奖励,最好的开发人员会成为安全冠军,帮助团队其他成员提高他们的技能。而这些冠军需要得到公司声誉和金钱报酬的奖励。同样重要的是要记住,开发人员通常在安全方面没有积极的经验,通过积极的、有趣的学习和激励措施来提高他们的兴趣,将大大有助于确保知识的保留和继续培养技能的愿望。

公司仍然可以将编码速度作为开发人员评估的一部分,但期望开发安全应用程序可能需要更长的时间,特别是在编码人员学习这些新技能的时候。

DevSecOps可以成为抵御日益危险的威胁环境中的黑暗艺术的终极防御。只是不要忘记,这个新世界的拥护者,那些不断创造新代码的开发者,需要得到尊重,并为他们的工作得到补偿。


想让你的安全技能与世界各地的其他开发者一决高下吗?请看 Secure Code Warrior’s 2021年开发奥林匹克运动会,你可以在我们的全球tournaments ,获得一个重大奖项!

我们希望得到您的许可,向您发送有关我们产品和/或相关安全编码主题的信息。我们将始终以最谨慎的态度对待您的个人资料,绝不会将其出售给其他公司用于营销目的。

提交
要提交表格,请启用 "分析 "cookies。完成后,请随时再次禁用它们。