本文档主要关注支持在软件供应链中的流程和系统中保护软件的最佳实践。还介绍了如何在 Google Cloud 上实施一些做法。
如需保护整个软件生命周期中的软件,或者是支持软件供应链安全的基础开发实践,还有一些其他注意事项。例如:
- 控制对系统的物理访问和远程访问。
- 实施审核、监控和反馈机制,以便能够快速识别并应对威胁和违反政策的行为。
- 基础编码实践,包括设计、输入验证、不可信系统的输出、数据处理、代码分析和加密。
- 本文档未提及的基础 DevOps 实践,包括技术方法、团队流程和组织文化。
遵守软件许可条款,包括直接依赖项和传递依赖项的开源许可。
某些开源许可具有限制性的许可条款,这会给商业软件带来问题。特别是,某些许可要求您按照与您重复使用的开源软件相同的许可发布源代码。如果您希望确保源代码的私密性,请务必了解您使用的开源软件的许可条款。
通过为员工提供培训来提高信息安全意识。 根据《2021 年信息安全现状》第 2 部分对信息安全专业人员进行的调查,社会工程学攻击是最常见的攻击类型。调查受访者还表示,信息安全培训和意识计划对员工意识产生了一些积极影响 (46%) 或强烈的积极影响 (32%)。
如需详细了解这些主题,请参阅以下部分中的资源。
Google Cloud 上的安全性
参阅 Google Cloud 企业基础蓝图(Google Cloud 安全性最佳实践中心内的指南之一),了解如何设置组织结构、身份验证和授权、资源层次结构、网络、日志记录、检测控制等。
您可以使用以下 Google Cloud 服务集中查看有关漏洞和潜在风险的信息:
- 使用 Security Command Center 查看有关整个 Google Cloud 组织中的漏洞和威胁的信息。
- 使用 Recommender 获取有关服务使用情况的信息,包括可以帮助您降低风险的建议。例如,您可以识别具有多余的权限的 IAM 主帐号或无人值守的 Google Cloud 项目。
如需详细了解 Google Cloud 上的安全性,请参阅 Google Cloud 网站的“安全”部分。
DevOps 和软件开发实践
请参阅 DevOps 功能文档,详细了解有助于加快软件交付以及提高软件可靠性和安全性的 DevOps 做法。
此外,还有设计、开发和测试适用于所有编程语言的基本做法。您还需要评估软件分发方式以及所有依赖项中的软件许可条款。Linux 基金会提供有关以下主题的免费在线培训:
- 开发安全软件:软件供应链安全性方面的基础软件开发做法。本课程重点介绍设计、开发和测试代码方面的最佳实践,还涵盖处理漏洞披露、保证案例以及软件分发和部署方面的注意事项等主题。该培训由开源安全基金会 (OpenSSF) 创建。
- 面向开发者的开源许可基础知识 了解开源项目的许可和版权。
- 开源许可合规性管理简介 了解如何为您的组织构建开源合规性计划。
制定您的政策
在逐步实施最佳实践时,请记录贵组织的政策,并将政策验证纳入到开发、构建和部署流程中。例如,您的公司政策可能包含使用 Binary Authorization 实现的部署条件。
- 最低可用安全产品:用于为产品建立基准安全状况的控制措施安全核对清单。您可以使用该核对清单确立最低安全控制要求,并评估第三方供应商提供的软件。
- NIST 面向信息系统和组织的安全和隐私控制出版物 (SP 800-53)。