SEC11-BP01 应用程序安全性培训
为您的团队提供有关安全开发和操作实践的培训,这有助于他们构建安全、高质量的软件。这种做法有助于您的团队在开发生命周期的早期预防、检测和修复安全问题。考虑开展涵盖威胁建模、安全编码实践以及使用服务进行安全配置和操作等方面的培训。通过自助服务资源为您的团队提供培训机会,并定期收集他们的反馈以实现持续改进。
期望结果:您为团队配备必要的知识和技能,让他们从一开始设计和构建软件时就考虑安全性。通过开展威胁建模和安全开发实践方面的培训,您的团队对潜在的安全风险以及如何在软件开发生命周期(SDLC)中缓解此类风险有了深刻的了解。这种积极主动的实现安全性的方法是团队文化的一部分,您可以尽早发现和修复潜在的安全问题。因此,您的团队可以更高效地交付高质量、安全的软件和功能,从而加快整体交付时间。您的组织内部有一种协作和包容的安全文化,在这种文化中,安全的所有权由所有构建者共享。
常见反模式:
-
您等到安全审查阶段,才考虑系统的安全属性。
-
您将所有安全决策都交给中心安全团队。
-
您没有传达在 SDLC 中做出的决策如何与组织的总体安全期望或策略相关联。
-
您过迟参与安全审查过程。
建立此最佳实践的好处:
-
在开发周期的早期更好地了解组织对安全性的要求。
-
能够更快地识别和修复潜在的安全问题,从而更快地交付功能。
-
提高软件和系统的质量。
在未建立这种最佳实践的情况下暴露的风险等级:中
实施指导
要构建安全且高质量的软件,请向您的团队提供培训,使其了解有关安全开发和运行应用程序的常见实践。这种实践有助于您的团队在开发生命周期的早期预防、检测和修复安全问题,从而加快交付时间。
要实现这一实践,可以考虑使用 Threat Modeling Workshop
明确定义并传达组织的安全审查流程,并概述您的团队、安全团队和其它利益相关方的职责。发布自助服务指南、代码示例和模板,演示如何满足您的安全要求。可以使用诸如 AWS CloudFormation
定期收集团队对安全审查流程和培训体验的反馈,并利用这些反馈不断改进。开展 GameDay 或漏洞狂欢活动,以识别和解决安全问题,同时提高团队的技能。
实施步骤
-
确定培训需求:通过调查、代码审查或与团队成员展开讨论,评测团队中有关安全开发实践的当前技能水平和知识差距。
-
规划培训:根据确定的需求,制定涵盖诸如威胁建模、安全编码实践、安全测试和安全部署实践等相关主题的培训计划。利用 Threat Modeling Workshop
、AWS 培训和认证 以及行业或 AWS 合作伙伴培训计划等资源。 -
安排和提供培训:为您的团队安排定期的培训课程或讲习会。这些课程可以由讲师指导或自定进度,具体取决于团队的偏好和空闲时间。鼓励动手练习和实际示例来增强学习效果。
-
定义安全审查流程:与您的安全团队和其他利益相关者合作,来为您的应用程序明确定义安全审查流程。记录参与该流程的每个团队或个人的责任,包括您的开发团队、安全团队和其他相关的利益相关者。
-
创建自助服务资源:开发自助服务指南、代码示例和模板,演示如何满足组织的安全要求。可以使用诸如 CloudFormation
、AWS CDK Constructs 和 Service Catalog 之类的 AWS 服务来提供预先批准的安全配置,并减少对自定义设置的需求。 -
沟通和社交化:有效地向您的团队传达安全审查流程和可用的自助服务资源。举办培训课程或讲习会,让他们熟悉这些资源,并验证他们是否了解如何使用这些资源。
-
收集反馈并改进:定期收集团队对安全审查流程和培训体验的反馈。利用这些反馈来确定需要改进的领域,并不断完善培训材料、自助服务资源和安全审查流程。
-
开展安全练习:组织 GameDay 或漏洞狂欢活动,以识别和解决应用程序中的安全问题。这些练习不仅有助于发现潜在的漏洞,还可以为您的团队提供实践学习机会,来增强他们在安全开发和运营方面的技能。
-
持续学习和改进:鼓励您的团队及时了解最新的安全开发实践、工具和技术。定期审核和更新您的培训材料和资源,以反映不断变化的安全形势和最佳实践。
资源
相关最佳实践:
相关文档:
相关视频:
相关示例:
相关服务: