新的NIST指南。为什么定制培训对创建安全软件至关重要

发布日期:2019年12月02日
作者:Pieter Danhieux
案例研究

新的NIST指南。为什么定制培训对创建安全软件至关重要

发布日期:2019年12月02日
作者:Pieter Danhieux
查看资源
查看资源

2019年6月11日,美国国家标准与技术研究所(NIST)发布了一份更新的白皮书,详细介绍了减少软件漏洞和网络风险的几个行动计划。题为 "通过采用安全软件开发框架(SSDF)减轻软件漏洞的风险",NIST为企业提供了坚实的指导方针,以避免数据泄露带来的讨厌的--更不用说昂贵的--后果。

需要注意的是,SSDF是有意为之的,它并不假定每个组织都有完全相同的软件安全目标,也不规定实现这些目标的确切机制。主要目标是实施安全最佳实践。正如作者Donna Dodson所说:"虽然我们希望每个安全生产者都能遵循所有适用的实践,但我们期望每个实践的实施程度都能根据生产者的安全假设而有所不同。这些实践为实施者提供了灵活性,但它们也很明确,以避免留下太多的解释余地。

当然,我特别感兴趣的是围绕开发人员的软件安全培训的具体内容。现在,我们已经知道,如果开发人员要从软件开发过程的一开始就保护一个组织,他们需要足够的培训......但到底什么是足够的?外面有很多不同的意见。然而,我认为,这个信封终于被推向了一个方向,将点燃重大的积极成果。

有一种安全培训......还有一种有效的安全培训。

我已经详细地谈到了软件安全培训需要更有效地实施、参与和定制,以满足开发者的需求。即使是现在,在许多组织中,这充其量只是一种 "打勾 "的做法。也许有几个小时的视频培训,甚至有宝贵的时间花在一些基于课堂的学习工具上。事实上,每隔一天就会有大规模的数据泄露事件发生,攻击者利用众所周知的(通常是很容易修复的)漏洞,这证明软件安全培训并没有达到应有的效果。而且,也许最重要的是,很少有地方可以验证培训是否有效:漏洞是否更快地被修复?人们是否真正完成了培训,还是仅仅点击了 "下一步 "就完成了培训?

开发人员都是忙碌的人,他们努力工作,在严格的截止日期前交付。安全问题在很多时候都是一种不便,而且他们很少在受教育期间获得成功降低网络风险的知识。当应用安全团队的成员指出他们工作中的缺陷时,"安全 "这个词通常会出现,这使得他们的关系变得相当冷淡和不正常。一个 "你的孩子是丑陋的,去修复它 "的场景。

这告诉我们什么?这是一个已经存在了几十年的红旗,我们没有做足够的工作来赢得开发人员的安全;他们没有动力来承担责任,也没有寻求他们所需要的工具来创建功能性的软件,但在制作过程中考虑到安全的最佳实践。

开发人员是聪明的,有创造力的,喜欢解决问题的。观看无休止的安全漏洞视频不太可能让他们兴奋,也不可能帮助他们保持参与感。在我担任SANS讲师期间,我很快就了解到,最好的培训是亲身实践,迫使他们分析并接受智力挑战,使用真实世界的例子来测试他们的大脑并建立在先前的学习之上。游戏化和友好竞争也是让大家接受新概念的有力工具,同时在应用中保持有用和实用。

NIST的指导方针规定。"为所有负责安全开发的人员提供特定角色的培训。定期审查特定角色的培训,并根据需要进行更新"。而后。"为网络安全人员、安全推行者、高级管理人员、软件开发人员、产品所有者和其他参与SDLC的人员确定角色和责任。"

这一声明虽然没有具体说明培训的类型,但仍有助于将组织向左转移,并帮助保持安全最佳实践的前沿。它把寻找有效的、更具体的培训解决方案的责任又推给了公司,这将有望使开发人员掌握正确的工具和知识,从而获得成功。

文化:缺失的环节。

即使企业将时间和资源用于培训开发人员和其他关键员工,强调他们在预防漏洞和减少安全风险方面的作用,但如果企业的安全文化仍然存在根本性的缺陷,那么这种努力往往会付诸东流。

当个人得到有效的培训,目标设定和期望值明确时,他们就会更容易理解自己在安全领域的位置,并在适当的时候承担责任。特别是对于开发人员来说,他们从一开始就被赋予了编写安全代码的工具和知识。然而,在一个积极的安全环境中,这是最好的安排,在这个环境中,没有双重处理、指责和孤立的项目工作。

安全问题必须成为整个组织的头等大事,并以支持和协作的方式致力于提供优秀、安全的软件。这将意味着有足够的预算来推出有趣的、有吸引力的培训,利用真实世界的代码漏洞,并在整个组织中得到认可,以保持这种势头。在这个不断发展的数字环境中,培训必须像交付一样持续进行。如果过去有人告诉你,"一次性 "或 "设定并忘记 "的合规性培训是足够的或有效的,这是一个谬论。

虽然这个新的NIST框架没有具体阐明培养积极的安全文化的要求,但成功地遵守他们的指导方针肯定需要一个安全文化。然而,他们确实注意到,组织应该,"定义政策,明确组织的软件需要满足的安全要求,包括开发人员需要遵循的安全编码实践"。

上述内容对于在团队中扩展和磨练安全技能至关重要,在评估你自己的政策和当前的AppSec环境时,考虑以下内容可能会有所帮助。

  • 软件安全准则和期望是否被明确定义?
  • 每个人都清楚他们在实现这些目标中所扮演的角色吗?
  • 培训是否经常进行并进行评估?
  • 你的开发人员是否意识到他们在消除常见的安全漏洞之前可以发挥的巨大作用?

现在,正如我所说,最后一部分在很大程度上取决于组织和他们选择的培训。它必须是相关的,必须是频繁的,必须是有吸引力的。找到一个可以应用于他们日常工作的解决方案,并结合实际情况建立他们的知识。

现在怎么办?

深入研究这些新准则很可能会让人不知所措;要以最安全的方式创建、验证和部署大多数企业所需的铁打的安全软件,确实需要一个村庄。这也不仅仅是培训的问题。在使用第三方软件时,需要考虑一些准则毕竟,使用有已知漏洞的组件仍然位于OWASP的前10名),围绕验证、渗透测试和代码审查的建议,以及安全记录保存、适当的工具链和其他一切的准则。在Gary McGraw博士的BSIMM模型中可以找到对整个情况的可操作的见解,该模型在NIST的文件中被引用。

然而,如果你的开发人员被赋予正确的工具和知识,从一开始就能真正成功地构建安全的软件,就能取得最快的胜利。对企业来说,阻止常见的漏洞在SDLC的后期阶段一次又一次地出现,成本会更低(总体上也更快)。发挥他们的优势,提供激励措施,让他们参与到组织的安全方面。这真的可以很有趣,他们可以成为你所需要的及时的英雄,以保持坏人的存在和我们的数据安全。

参考文献。

  1. 通过采用SSDF来降低软件漏洞的风险(2019年6月11日),第2页
  2. 通过采用SSDF来减轻软件漏洞的风险(2019年6月11日),第5页
  3. 通过采用SSDF来降低软件漏洞的风险(2019年6月11日),第4页
查看资源
查看资源

作者

皮特-丹休

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

想要更多吗?

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

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

查看博客
想要更多吗?

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

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

资源中心

新的NIST指南。为什么定制培训对创建安全软件至关重要

发布日期:2019年12月02日
作者:Pieter Danhieux

2019年6月11日,美国国家标准与技术研究所(NIST)发布了一份更新的白皮书,详细介绍了减少软件漏洞和网络风险的几个行动计划。题为 "通过采用安全软件开发框架(SSDF)减轻软件漏洞的风险",NIST为企业提供了坚实的指导方针,以避免数据泄露带来的讨厌的--更不用说昂贵的--后果。

需要注意的是,SSDF是有意为之的,它并不假定每个组织都有完全相同的软件安全目标,也不规定实现这些目标的确切机制。主要目标是实施安全最佳实践。正如作者Donna Dodson所说:"虽然我们希望每个安全生产者都能遵循所有适用的实践,但我们期望每个实践的实施程度都能根据生产者的安全假设而有所不同。这些实践为实施者提供了灵活性,但它们也很明确,以避免留下太多的解释余地。

当然,我特别感兴趣的是围绕开发人员的软件安全培训的具体内容。现在,我们已经知道,如果开发人员要从软件开发过程的一开始就保护一个组织,他们需要足够的培训......但到底什么是足够的?外面有很多不同的意见。然而,我认为,这个信封终于被推向了一个方向,将点燃重大的积极成果。

有一种安全培训......还有一种有效的安全培训。

我已经详细地谈到了软件安全培训需要更有效地实施、参与和定制,以满足开发者的需求。即使是现在,在许多组织中,这充其量只是一种 "打勾 "的做法。也许有几个小时的视频培训,甚至有宝贵的时间花在一些基于课堂的学习工具上。事实上,每隔一天就会有大规模的数据泄露事件发生,攻击者利用众所周知的(通常是很容易修复的)漏洞,这证明软件安全培训并没有达到应有的效果。而且,也许最重要的是,很少有地方可以验证培训是否有效:漏洞是否更快地被修复?人们是否真正完成了培训,还是仅仅点击了 "下一步 "就完成了培训?

开发人员都是忙碌的人,他们努力工作,在严格的截止日期前交付。安全问题在很多时候都是一种不便,而且他们很少在受教育期间获得成功降低网络风险的知识。当应用安全团队的成员指出他们工作中的缺陷时,"安全 "这个词通常会出现,这使得他们的关系变得相当冷淡和不正常。一个 "你的孩子是丑陋的,去修复它 "的场景。

这告诉我们什么?这是一个已经存在了几十年的红旗,我们没有做足够的工作来赢得开发人员的安全;他们没有动力来承担责任,也没有寻求他们所需要的工具来创建功能性的软件,但在制作过程中考虑到安全的最佳实践。

开发人员是聪明的,有创造力的,喜欢解决问题的。观看无休止的安全漏洞视频不太可能让他们兴奋,也不可能帮助他们保持参与感。在我担任SANS讲师期间,我很快就了解到,最好的培训是亲身实践,迫使他们分析并接受智力挑战,使用真实世界的例子来测试他们的大脑并建立在先前的学习之上。游戏化和友好竞争也是让大家接受新概念的有力工具,同时在应用中保持有用和实用。

NIST的指导方针规定。"为所有负责安全开发的人员提供特定角色的培训。定期审查特定角色的培训,并根据需要进行更新"。而后。"为网络安全人员、安全推行者、高级管理人员、软件开发人员、产品所有者和其他参与SDLC的人员确定角色和责任。"

这一声明虽然没有具体说明培训的类型,但仍有助于将组织向左转移,并帮助保持安全最佳实践的前沿。它把寻找有效的、更具体的培训解决方案的责任又推给了公司,这将有望使开发人员掌握正确的工具和知识,从而获得成功。

文化:缺失的环节。

即使企业将时间和资源用于培训开发人员和其他关键员工,强调他们在预防漏洞和减少安全风险方面的作用,但如果企业的安全文化仍然存在根本性的缺陷,那么这种努力往往会付诸东流。

当个人得到有效的培训,目标设定和期望值明确时,他们就会更容易理解自己在安全领域的位置,并在适当的时候承担责任。特别是对于开发人员来说,他们从一开始就被赋予了编写安全代码的工具和知识。然而,在一个积极的安全环境中,这是最好的安排,在这个环境中,没有双重处理、指责和孤立的项目工作。

安全问题必须成为整个组织的头等大事,并以支持和协作的方式致力于提供优秀、安全的软件。这将意味着有足够的预算来推出有趣的、有吸引力的培训,利用真实世界的代码漏洞,并在整个组织中得到认可,以保持这种势头。在这个不断发展的数字环境中,培训必须像交付一样持续进行。如果过去有人告诉你,"一次性 "或 "设定并忘记 "的合规性培训是足够的或有效的,这是一个谬论。

虽然这个新的NIST框架没有具体阐明培养积极的安全文化的要求,但成功地遵守他们的指导方针肯定需要一个安全文化。然而,他们确实注意到,组织应该,"定义政策,明确组织的软件需要满足的安全要求,包括开发人员需要遵循的安全编码实践"。

上述内容对于在团队中扩展和磨练安全技能至关重要,在评估你自己的政策和当前的AppSec环境时,考虑以下内容可能会有所帮助。

  • 软件安全准则和期望是否被明确定义?
  • 每个人都清楚他们在实现这些目标中所扮演的角色吗?
  • 培训是否经常进行并进行评估?
  • 你的开发人员是否意识到他们在消除常见的安全漏洞之前可以发挥的巨大作用?

现在,正如我所说,最后一部分在很大程度上取决于组织和他们选择的培训。它必须是相关的,必须是频繁的,必须是有吸引力的。找到一个可以应用于他们日常工作的解决方案,并结合实际情况建立他们的知识。

现在怎么办?

深入研究这些新准则很可能会让人不知所措;要以最安全的方式创建、验证和部署大多数企业所需的铁打的安全软件,确实需要一个村庄。这也不仅仅是培训的问题。在使用第三方软件时,需要考虑一些准则毕竟,使用有已知漏洞的组件仍然位于OWASP的前10名),围绕验证、渗透测试和代码审查的建议,以及安全记录保存、适当的工具链和其他一切的准则。在Gary McGraw博士的BSIMM模型中可以找到对整个情况的可操作的见解,该模型在NIST的文件中被引用。

然而,如果你的开发人员被赋予正确的工具和知识,从一开始就能真正成功地构建安全的软件,就能取得最快的胜利。对企业来说,阻止常见的漏洞在SDLC的后期阶段一次又一次地出现,成本会更低(总体上也更快)。发挥他们的优势,提供激励措施,让他们参与到组织的安全方面。这真的可以很有趣,他们可以成为你所需要的及时的英雄,以保持坏人的存在和我们的数据安全。

参考文献。

  1. 通过采用SSDF来降低软件漏洞的风险(2019年6月11日),第2页
  2. 通过采用SSDF来减轻软件漏洞的风险(2019年6月11日),第5页
  3. 通过采用SSDF来降低软件漏洞的风险(2019年6月11日),第4页

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

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