定义安全代码

2022年10月20日发布
由Secure Code Warrior
案例研究

定义安全代码

2022年10月20日发布
由Secure Code Warrior
查看资源
查看资源

创建推动数字业务的软件、应用和程序的开发人员已经成为许多组织的生命线。如果没有有竞争力的应用程序和程序,或者没有24小时访问他们的网站和其他基础设施,大多数现代企业将无法(盈利地)运作。

然而,这些接触点往往也是黑客和其他邪恶用户用来窃取信息、发动攻击和跳转到其他犯罪活动(如欺诈和勒索软件)的门户。最新的Verizon数据泄露调查报告强调,今天针对企业和组织的威胁比历史上任何时候都更加危险和昂贵。

成功的攻击仍然普遍存在,尽管大多数组织在网络安全方面的支出大大增加,尽管像DevSecOps这样的运动正在将安全转移到那些作为当今商业命脉的开发者身上。

开发人员了解安全的重要性,绝大多数人都希望部署安全和高质量的代码,但软件漏洞仍然被利用。

为什么?

第二年,Secure Code Warrior ,2022年12月与埃文斯数据公司合作进行了《开发者驱动的安全状况》调查。我们在全球范围内调查了1200名开发人员,以了解他们在安全编码实践方面的技能、看法和行为,以及他们在软件开发生命周期(SDLC)中的影响和感知的相关性。

调查发现,对于什么是安全代码,没有一个明确的定义或理解。事实证明,在开发者认为的安全代码和实际的安全代码之间存在着巨大的差异。

编写高质量的代码是开发社区的首要任务,这并不奇怪。但当被问及具体的安全代码时,只有29%的人说,积极编写没有漏洞的代码的做法是优先考虑的。相反,开发人员将不太安全和不太可靠的做法与安全代码的创建联系起来。例如,仔细检查现有的代码(37%)和依靠外部来源的库来获得安全的代码(37%)是开发人员与安全编码相关的首要做法。重复使用已经被认为是安全的代码(32%)是另一个受欢迎的选择。编写没有漏洞的代码的积极做法排在第六位,29%的人说这是创建安全代码的首要做法。当被进一步询问时,缺乏时间和缺乏来自管理层的一致的方法被认为是创建安全代码的首要障碍。

对现有代码的依赖是增加软件被运出时存在可利用漏洞的风险的因素之一。解决这种关于什么是安全代码的脱节问题,对于开发人员创建高质量的代码是必要的,同时也是安全的。

事实证明,在开发者认为是安全的代码和实际是安全的代码之间存在着很大的差异。

各组织可以做什么来解决这个问题?

调查中最重要的信息之一是,开发者社区作为一个整体充满了专业的人,他们关心自己的工作。编写高质量的代码对他们这个群体来说是压倒性的重要。问题是,在许多情况下,他们工作的组织并没有确定产生安全代码所需的最佳实践,也没有投入足够的资源来培训或使他们的开发人员达到这些目标。

事实上,大多数开发人员表示,他们的组织甚至没有明确定义什么是安全代码。其中一个最令人担忧的例子是,28%的调查对象说,他们的组织认为,如果应用程序或程序被部署到生产环境中或向公众开放后,没有任何违规报告,那么代码就是安全的。

这可能不言而喻,但在当今复杂的威胁环境中,仅仅希望有好的结果,而不真正为之努力,可能会产生可预见的结果:甚至更多的安全漏洞。

值得庆幸的是,在这种情况下,至少可以比较容易地开始解决这个问题,然后开始努力实现安全代码的目标。第一步,也可以说是最重要的一步,就是组织要定义他们认为是安全的代码。而在这个定义之外的一切都需要被视为不安全。

安全编码应该被定义为熟练的开发人员从SDLC的开始就编写没有漏洞的代码的做法。只有当这种做法被定义后,开发者社区才能朝着这个目标努力。

使安全代码的目标成为现实

一旦确定了安全代码的定义,组织就需要准备好支持这些努力和他们的开发人员,他们将执行全面安全代码实践的目标。这种支持是至关重要的。没有它,在你的组织内安全代码的定义,虽然很重要,但也只是纸老虎而已。安全编码实践必须得到管理层的认可,并给予适当的考虑、授权和预算,以便取得成功。

这可能需要为开发人员制定新的基准目标,因为传统上他们是以编码速度来衡量的。事实上,在调查中,37%的开发人员报告说在他们的代码中留下了已知的漏洞,因为紧迫的最后期限不允许有必要的时间来修复它们,或者从一开始就正确编码。起初,这可能意味着增加最后期限,给开发人员更多的时间来正确编码,尽管在编码过程开始时的时间支出可能会在以后得到弥补,因为对程序修订、补丁和部署后工作的需求减少。而消除一次部署的漏洞的可能性,最终可以节省数百个小时和可能的数百万的收入损失、罚款和清理费用。

开发人员还需要相关的实践培训,特别是与他们可能遇到的特定漏洞有关的培训,并帮助学习如何识别和修复代码漏洞。特别是考虑到36%的调查对象说他们想从他们的代码中消除漏洞,但没有技能或知识来这样做。

调查中37%的开发者报告说,他们的代码中留下了已知的漏洞,因为紧迫的期限不允许有必要的时间来修复这些漏洞,或者从一开始就正确编码。

对这一主题的更多内容感兴趣吗?

白皮书。 改善软件安全的挑战(和机遇)。
报告。
开发者驱动的安全状况调查,2022年。

查看资源
查看资源

作者

Secure Code Warrior

Secure Code Warrior 通过向开发人员传授安全代码编写的技能,建立以安全为导向的开发人员文化。我们的旗舰产品敏捷Learning Platform 为开发人员提供了基于技能的相关途径、动手实践missions 以及上下文工具,帮助他们快速学习、构建和应用技能,从而快速编写安全代码。

想要更多吗?

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

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

查看博客
想要更多吗?

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

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

资源中心

定义安全代码

2022年10月20日发布
通过Secure Code Warrior

创建推动数字业务的软件、应用和程序的开发人员已经成为许多组织的生命线。如果没有有竞争力的应用程序和程序,或者没有24小时访问他们的网站和其他基础设施,大多数现代企业将无法(盈利地)运作。

然而,这些接触点往往也是黑客和其他邪恶用户用来窃取信息、发动攻击和跳转到其他犯罪活动(如欺诈和勒索软件)的门户。最新的Verizon数据泄露调查报告强调,今天针对企业和组织的威胁比历史上任何时候都更加危险和昂贵。

成功的攻击仍然普遍存在,尽管大多数组织在网络安全方面的支出大大增加,尽管像DevSecOps这样的运动正在将安全转移到那些作为当今商业命脉的开发者身上。

开发人员了解安全的重要性,绝大多数人都希望部署安全和高质量的代码,但软件漏洞仍然被利用。

为什么?

第二年,Secure Code Warrior ,2022年12月与埃文斯数据公司合作进行了《开发者驱动的安全状况》调查。我们在全球范围内调查了1200名开发人员,以了解他们在安全编码实践方面的技能、看法和行为,以及他们在软件开发生命周期(SDLC)中的影响和感知的相关性。

调查发现,对于什么是安全代码,没有一个明确的定义或理解。事实证明,在开发者认为的安全代码和实际的安全代码之间存在着巨大的差异。

编写高质量的代码是开发社区的首要任务,这并不奇怪。但当被问及具体的安全代码时,只有29%的人说,积极编写没有漏洞的代码的做法是优先考虑的。相反,开发人员将不太安全和不太可靠的做法与安全代码的创建联系起来。例如,仔细检查现有的代码(37%)和依靠外部来源的库来获得安全的代码(37%)是开发人员与安全编码相关的首要做法。重复使用已经被认为是安全的代码(32%)是另一个受欢迎的选择。编写没有漏洞的代码的积极做法排在第六位,29%的人说这是创建安全代码的首要做法。当被进一步询问时,缺乏时间和缺乏来自管理层的一致的方法被认为是创建安全代码的首要障碍。

对现有代码的依赖是增加软件被运出时存在可利用漏洞的风险的因素之一。解决这种关于什么是安全代码的脱节问题,对于开发人员创建高质量的代码是必要的,同时也是安全的。

事实证明,在开发者认为是安全的代码和实际是安全的代码之间存在着很大的差异。

各组织可以做什么来解决这个问题?

调查中最重要的信息之一是,开发者社区作为一个整体充满了专业的人,他们关心自己的工作。编写高质量的代码对他们这个群体来说是压倒性的重要。问题是,在许多情况下,他们工作的组织并没有确定产生安全代码所需的最佳实践,也没有投入足够的资源来培训或使他们的开发人员达到这些目标。

事实上,大多数开发人员表示,他们的组织甚至没有明确定义什么是安全代码。其中一个最令人担忧的例子是,28%的调查对象说,他们的组织认为,如果应用程序或程序被部署到生产环境中或向公众开放后,没有任何违规报告,那么代码就是安全的。

这可能不言而喻,但在当今复杂的威胁环境中,仅仅希望有好的结果,而不真正为之努力,可能会产生可预见的结果:甚至更多的安全漏洞。

值得庆幸的是,在这种情况下,至少可以比较容易地开始解决这个问题,然后开始努力实现安全代码的目标。第一步,也可以说是最重要的一步,就是组织要定义他们认为是安全的代码。而在这个定义之外的一切都需要被视为不安全。

安全编码应该被定义为熟练的开发人员从SDLC的开始就编写没有漏洞的代码的做法。只有当这种做法被定义后,开发者社区才能朝着这个目标努力。

使安全代码的目标成为现实

一旦确定了安全代码的定义,组织就需要准备好支持这些努力和他们的开发人员,他们将执行全面安全代码实践的目标。这种支持是至关重要的。没有它,在你的组织内安全代码的定义,虽然很重要,但也只是纸老虎而已。安全编码实践必须得到管理层的认可,并给予适当的考虑、授权和预算,以便取得成功。

这可能需要为开发人员制定新的基准目标,因为传统上他们是以编码速度来衡量的。事实上,在调查中,37%的开发人员报告说在他们的代码中留下了已知的漏洞,因为紧迫的最后期限不允许有必要的时间来修复它们,或者从一开始就正确编码。起初,这可能意味着增加最后期限,给开发人员更多的时间来正确编码,尽管在编码过程开始时的时间支出可能会在以后得到弥补,因为对程序修订、补丁和部署后工作的需求减少。而消除一次部署的漏洞的可能性,最终可以节省数百个小时和可能的数百万的收入损失、罚款和清理费用。

开发人员还需要相关的实践培训,特别是与他们可能遇到的特定漏洞有关的培训,并帮助学习如何识别和修复代码漏洞。特别是考虑到36%的调查对象说他们想从他们的代码中消除漏洞,但没有技能或知识来这样做。

调查中37%的开发者报告说,他们的代码中留下了已知的漏洞,因为紧迫的期限不允许有必要的时间来修复这些漏洞,或者从一开始就正确编码。

对这一主题的更多内容感兴趣吗?

白皮书。 改善软件安全的挑战(和机遇)。
报告。
开发者驱动的安全状况调查,2022年。

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

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