当地时间10月24日,美国网络安全和基础设施安全局 (CISA)、联邦调查局 (FBI) 和澳大利亚信号局的澳大利亚网络安全中心联合发布了指导意见,以支持软件制造商建立安全部署实践。
该指导意见确保软件的可靠性和安全性,同时促进快速问题检测、持续改进和敏捷开发。它有助于提供适应不断变化的需求和技术的高质量软件。此外,它还协助制造商实施安全的软件部署流程,并提供全面的测试和测量组件,以提高产品及其部署环境的安全性和质量。
该指南题为“安全软件部署:软件制造商如何确保客户的可靠性”(Safe Software Deployment:How Software Manufacturers Can Ensure Reliability for Customers),概述了安全软件部署的六个关键阶段。它强调创建和维护剧本,详细说明每个部署阶段的明确指导方针、最佳实践和应急计划。作为 CISA安全设计活动的一部分,该技术指南假定了基本的网络安全知识,并提出了在软件开发生命周期 (SDLC) 内有效部署的策略。强大的部署过程可提供新功能、更高的安全性和可靠性,最大限度地减少意外中断。CISA 建议软件和服务制造商审查该指南,评估其部署流程,并寻求持续改进举措。
背景和目的
软件制造商和服务提供商通过部署软件和配置更新来增强功能和修复安全漏洞,以此提升产品的安全性和客户的利益。然而,软件及其部署系统的复杂性不断增加,使得安全更新的部署变得充满挑战。因此,实施一个包含严格测试和测量流程的安全软件部署计划显得尤为重要。该计划不仅能够增强产品的安全性和质量,还能够确保软件的可靠性和安全性。本指南由美国网络安全和基础设施安全局(CISA)和联邦调查局(FBI)等机构联合编写,旨在鼓励软件制造商将安全部署程序纳入软件开发生命周期(SDLC),以实现软件的高质量、安全性和可靠性,同时适应不断变化的技术要求和客户需求。该安全部署过程的目标包括:确保软件产品的高质量和一致性,管理成本和影响,实现受控和测量的部署,进行全面测试,持续改进,优化敏捷性,以及建立安全的软件开发生态系统。
软件安全部署过程的六个关键阶段
规划阶段:在编码前,需要明确目标、构建需求、理解客户需求、评估潜在威胁,并设定成功标准。这一阶段是整个部署过程的基础,确保团队在进入开发阶段前对范围、风险和成本有清晰的认识。
开发和测试阶段:涉及编码和持续测试,包括单元测试、集成测试和自动化测试,以早期发现问题。代码应在模拟典型客户环境的条件下进行测试,以确保准确性和可靠性。
内部推广(Dogfood)阶段:内部团队应首先使用新软件版本,以在软件对外发布前发现并解决问题。这一阶段的“内部试用”有助于在真实环境中测试产品,从而提高产品的稳定性和性能。
部署和金丝雀测试阶段:客户部署应以受控方式进行,包括小规模的金丝雀部署,以便在全面推广前监控性能和解决问题。对于SaaS产品,可能涉及对服务器的小部分更新或有限流量的更新组件。
控制性推广阶段:在确认金丝雀部署成功后,逐步扩大新版本的部署范围。这种控制性推广可以防止突然的大规模失败,并允许根据新版本的稳定性逐渐扩大部署范围。
反馈进入规划阶段:整个过程中,尤其是发布后,持续反馈至关重要。来自客户的反馈、开发和质量团队的见解、系统日志、异常系统行为的示例和性能指标应直接反馈到下一个开发周期的规划阶段,以实现持续改进。
Playbook-剧本
剧本是确保安全软件部署流程得到良好记录、可重复和弹性的重要工具。它们提供了清晰的指导方针、最佳实践和应急计划,以帮助团队导航部署的每个阶段。在错误处理部分,剧本应包括可接受的错误率阈值、员工响应和指挥链升级。在紧急响应协议部分,剧本应包括详细的步骤,以处理软件部署期间或之后的紧急情况,包括详细的恢复任务。在客户通知计划部分,剧本应确保在发生关键问题时有计划通知客户和合作伙伴,包括确定适当的通信渠道和消息定时,并提供关于问题、其影响和预期解决时间的清晰信息。剧本还应包括定期培训和模拟事故测试,以确保团队在真正的系统故障和潜在的客户问题发生之前,已经掌握了如何应对。
结论
安全和安全事件通常是由多个因素共同作用的结果,包括人员、流程和技术元素在一个可能变得不一致的系统中协同工作。一个安全软件部署过程应该与组织的SDLC、质量计划、风险容忍度以及对客户环境和运营的理解相集成。通过采用系统思维方法,团队可以降低其部署过程超出安全边界的可能性。组织应正式评估其软件部署流程,并制定计划通过持续改进程序来解决这些问题。一个设计良好的软件部署流程可以确保客户及时获得新功能、安全性和可靠性,同时最小化计划外的中断。此外,通过培养无责任回顾(也称为“事后检讨”)文化,以及将“近乎错过”的事件视为真实事件来分析,组织可以建立一个持续改进的文化,从而加强安全性和运营弹性。
附录:安全软件部署:软件制造商如何确保客户的可靠性原文
参考资源
1、https://industrialcyber.co/cisa/cisa-fbi-acsc-release-joint-guidance-for-secure-software-deployment-practices/
2、https://www.cisa.gov/resources-tools/resources/safe-software-deployment-how-software-manufacturers-can-ensure-reliability-customers
声明:本文来自网空闲话plus,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。