安全软件生命周期的调整
敏捷软件开发和开发运营
-
1. 提供培训。如第2.1.1节第1点所述,培训必须包括操作工程师。训练应包括通过部署管道提供的攻击媒介。
-
2. 定义需求。请参阅第2.1.1节第2点。
-
3. 定义指标和合规性报告。请参阅第2.1.1节第3点。
-
4. 使用软件组合分析(SCA)和治理。在选择商业和开源第三方组件时,团队应了解组件中的漏洞可能对系统的整体安全性产生的影响,并考虑在使用它们之前执行更彻底的评估。软件组合分析(SCA)工具(如WhiteSource23)可以帮助许可暴露,提供准确的组件清单,并报告引用组件的任何漏洞。另见第2.1.1节第7点。
-
5. 执行威胁建模。见第2.1.1节第4点。威胁建模可能被视为减慢了快速的DevOps步伐。但是,在DevOps部署流程下快速部署的产品应具有定义的整体架构,DevOps流程在其中进行更改并添加功能。该体系结构应进行威胁建模,当团队需要更改体系结构时,还应更新威胁模型。对体系结构没有影响的新功能表示对威胁模型的空更改。
-
6. 使用工具和自动化。见第2.1.1节项目符号8、9和10。团队应仔细选择可集成到工程师的集成开发环境(IDE)和工作流中的工具,以便它们造成的中断最小。使用这些工具的目标是检测缺陷和漏洞,而不是让工程师在日常工程经验之外使用太多工具或异形流程。用作安全DevOps工作流一部分的工具应遵循以下原则:
(a)工具必须集成到持续集成/持续交付(CI/CD)管道中。
(b)工具不得要求超出培训所传授的安全专业知识。
(c)工具必须避免报告问题的高误报率。
-
7. 确保凭据安全。在预提交期间,必须扫描源文件中的凭据和其他敏感内容,以降低通过CI/CD过程(例如通过基础结构即代码或其他部署脚本)传播敏感信息的风险。CredScan24等工具可以识别凭据泄漏,例如源代码和配置文件中的凭据泄漏。一些常见的凭据类型包括默认密码、硬编码密码、SQL连接字符串和带私钥的证书。
-
8. 使用持续学习和监控。快速部署的系统通常通过仪器监控应用程序、基础设施和网络的运行状况,以确保系统“正常”运行。此监视还有助于发现偏离正常行为的安全和性能问题。监视也是支持纵深防御策略的重要组成部分,可以减少组织的平均识别时间(MTTI)和平均遏制时间(MTTC)攻击。
原文始发于微信公众号(河南等级保护测评):安全软件生命周期之安全软件生命周期的调整:敏捷软件开发和开发运营
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论