前情回顾·谷歌安全王国之路
安全内参10月12日消息,谷歌云宣布推出软件供应链端到端保护产品Software Delivery Shield,旨在加强企业应对激增的软件供应链攻击的能力。
Software Delivery Shield可以在整个开发生命周期加强软件供应链安全,包括增强开发环境的应用安全、提升应用的映像和依赖项安全、加强CI/CD管道安全、保护应用运行时安全、在安全开发生命周期(SDLC)内实施基于信任的安全策略等。
回应软件供应链安全的呼声
多年以来,谷歌一直与开发者社区、公共部门及各合作伙伴携手,建立起多种行业范围内的标准与框架,并凭借软件工件供应链级别(SLSA)等成果努力增强软件供应链安全性。去年,作为谷歌公司百亿美元推进网络安全倡议的一部分,该公司承诺为各类被全球公共基础设施及企业广泛应用的关键开源组件提供保护。
为了进一步帮助用户提高软件供应链安全性,谷歌正式推出了Software Delivery Shield。这是一套完全托管的软件供应链安全解决方案,包含一组模块化功能,可以为开发者、DevOps及安全团队配备构建安全云应用所必需的各类工具。
Software Delivery Shield涵盖开发者工具、GKE、Cloud Code、Cloud Build、Cloud Deploy、Artifact Registry、Binary Authorization等一系列谷歌云服务,从开发者工具到运行时选项无所不包。
Software Delivery Shield包含的功能横跨五大领域,旨在解决软件供应链中的种种安全问题。这五大领域分别为:应用程序开发、软件供应环节、持续集成与持续交付(CI/CD)、生产环境、策略。
Software Delivery Shield还允许用户逐步落地其实施路径,因此组织可以根据自身特定需求进行方案定制,根据现有环境和安全优先级先选择一部分关键工具。
快速安全搞开发
为了从开发起步阶段就协助保护软件,Google Cloud Next的预览版中引入了一项新服务:Cloud Workstations,这是一套立足谷歌云的完全托管开发环境。借助Cloud Workstations,开发者们可以随时随地通过浏览器访问到安全、快速且可定制的开发环境,并获得一致的配置与定制化工具。同时,IT和安全管理员可以轻松配置、扩展、管理和保护这些运行在谷歌云基础设施上的开发环境。
作为Software Delivery Shield产品的关键组件,Cloud Workstations负责增强应用程序开发环境的安全态势,因而在“安全左移”上发挥着关键作用。借助VPC服务控制、无源代码本地存储、私有入口/出口、强制镜像更新和IAM访问策略等内置安全措施,Cloud Workstations有助于解决代码泄露、隐私风险、配置不一致等各类常见的本地开发安全痛点。
除了通过Cloud Workstations帮助保护开发环境之外,谷歌还为开发者提供工具,让他们在自己的笔记本电脑上快速安全进行编码。Cloud Code是谷歌的IDE插件系列,目前已经提供Source Protect插件的预览版。Source Protect能够在IDE中为开发者实时提供安全反馈,识别易受攻击的依赖项,报告许可证信息等。这种快速、可操作的反馈能帮助开发者及时更正当前代码,尽可能削减成本高昂的事后修复需求。
保卫软件“供应”
提高软件供应链安全性的另一个关键步骤,当数保卫软件供应——也就是构建工具与应用程序依赖项。随着开源软件的快速普及,这个问题正变得越来越棘手。
在与广泛社区合作建立指导方针和框架,借以提高整体开源安全性的同时,谷歌还提供更多服务以帮助直接克服这一挑战。今年5月,谷歌推出了可信开源软件(Assured OSS)服务,目前尚处于预览阶段。
Assured OSS是谷歌的首个“策划”开源项目,相当于在大家熟知的免费和“原样”开源之上添加了一个问责层。作为Software Delivery Shield解决方案中的关键组成部分,Assured OSS提供已经由谷歌完成挑选和审查的开源软件包。这些软件包被部署在安全管道之内,并定期接受漏洞扫描、分析和模糊测试。
使用Assured OSS,安全团队将可以肯定其开发人员使用的开源依赖项已经通过了审查。该服务目前涵盖250个Java及Python精选包,且全部经过验证。它会自动生成软件物料清单(SBOM),即应用程序开发和交付中所涉及的一切组件和依赖项清单,用以识别存在潜在风险的各类元素。
借助Software Delivery Shield,DevOps团队能够在Artifact Registry中存储、管理和保护各类构建工件,还能通过Container Analysis提供的多语言包集成扫描主动检测漏洞。除了扫描基础镜像之外,Container Analysis(目前为预览版)现在还能对Maven及Go容器,以及非容器化Maven包执行推送时扫描。
锁定CI/CD管道
恶意黑客可能会破坏CI/CD管道以攻击软件供应链。因此,谷歌才一直努力加强完全托管CI平台Cloud Build和CD平台Cloud Deploy。作为Software Delivery Shield解决方案中的关键组件,这两大平台都包含内置安全功能,包括粒度IAM控制、VPC服务控制、隔离与临时环境、审批闸道等,可帮助DevOps团队更好地管理构建与部署流程。
Cloud Build现在还正式支持SLSA L3 builds,即默认实施SLSA L3级最佳实践。除了提供临时和隔离的构建环境之外,Cloud Build现在还能为容器化应用程序和非容器化Maven/Python软件包生成经过身份验证、不可篡改的构建源,并显示关于所构建应用程序的安全细节信息。
协助保护生产中的应用程序
软件供应链保护中的另一个关键环节,就是加强运行时环境的安全态势。Google Kubernetes Engine (GKE) 和 Cloud Run是谷歌打造的领先容器化应用程序运行时平台,二者均包含内置的安全功能,可为运行中的应用程序给予协助保护。
我们很高兴地宣布,GKE此次也迎来新的内置安全状态管理功能(现为预览阶段),可用于识别并解决GKE集群和工作负载中的安全问题。基于行业标准和GKE团队的安全专业知识,GKE现可提供详尽的风险严重性等级评估与结果,并就集群和工作负载的安全状况提供建议,包括对于操作系统漏洞和工作负载配置的洞察发现。
GKE仪表板现可清晰指明哪些工作负载会受到安全问题影响,而后提供可操作的指导性解决方案。除仪表板之外,GKE还能将安全问题记录至Cloud Logging,这部分安全事件信息随后可通过Pub/Sub(公布/订阅)被路由至工单系统或安全信息与事件管理(SIEM)系统等服务端。
对于Cloud Run无服务器平台的客户,谷歌正着手为Cloud Run安全面板引入新的增强功能。现在此面板能够显示软件供应链的安全见解,例如SLSA构建层面的合规性信息、构建源以及正在运行的服务中发现的漏洞(现为预览阶段)。
Software Delivery Shield的各项服务间协同工作,为用户软件供应链带来从开发到生产的全流程保护。
通过策略建立信任链
除了在软件交付生命周期的各个阶段增强安全态势之外,Software Delivery Shield还提供基于信任的策略引擎,帮助用户为整个供应链建立、维护和验证相应的信任链。
Binary Authorization是一款部署时安全控件,可以保证GKE或Cloud Run上仅部署受信任的容器镜像。借助Binary Authorization,DevOps或安全团队可以在开发过程中要求受信权威机构对镜像进行签名,而后在部署时强制执行签名验证。通过这种强制验证,各团队即可确保构建与发布流程中仅使用经过验证的镜像,从而更严格地控制容器环境。
软件供应链的安全保护是一项复杂挑战。Software Delivery Shield提供的端到端解决方案有助于保护软件完整性,使其免受软件供应链中各种形式攻击的影响。借助谷歌云服务承载的丰富工具集合,组织可以立即体验并根据现有环境/安全优先级逐步采用最合适的安全措施(无论大小),稳健提升软件供应链的整体安全水平。
参考资料:cloud.google.com