谷歌发布新框架SLSA应对供应链攻击 包括4个渐进模式
共 1519字,需浏览 4分钟
·
2021-06-21 10:46
随着SolarWinds和Codecov安全事件的发生,软件供应链攻击成为人们关注的焦点,谷歌提出了一种解决方案,以确保软件包的完整性,并防止未经授权的修改。
称为“供应链各级软件神器”(SLSA,发音为“salsa”),端到端框架旨在确保软件开发和部署流水线即,源代码➞构建➞发布工作流程-并减轻了在链的每个环节上篡改源代码、构建平台和工件存储库所产生的威胁。
谷歌表示,SLSA的灵感来自于公司内部执行机制,即Borg二进制授权(Binary Authorization for Borg),这是一套验证代码来源并实现代码标识的审计工具,以确定部署的产品软件是否经过了适当的审查和授权。
谷歌开源安全团队称,在目前状态下,SLSA是一套由行业共识建立并逐步可采纳的安全指导方针。
在其最终形式中,SLSA在可执行性上将支持可审计元数据的自动创建,这些元数据可以被输入到策略引擎中,从而为特定的包或构建平台提供“SLSA认证”。
SLSA框架承诺端到端的软件供应链完整性,旨在实现增量和可操作性。它包括4个不同级别的渐进式软件安全复杂性,SLSA 4确保了软件没有被不当修改或破坏。
SLSA框架4个级别:
SLSA 1 — 要求构建过程完全脚本化/自动化并生成出处
SLSA 2 — 需要使用版本控制和托管构建服务来生成经过身份验证的来源
SLSA 3 — 要求源代码和构建平台满足特定的标准,以保证源代码的可审计性和来源的完整性
SLSA 4 — 要求两个人对所有更改进行评审,并要求一个密封的、可重复的构建过程
安全人员指出,更高的SLSA级别需要对构建平台进行更强的安全控制,这使得妥协和获得持久性更加困难。
虽然SLA 4代表了最终理想状态,但较低级别提供了增量的完整性保证,同时使恶意行为者难以长时间隐藏在受破坏的开发人员环境中。
谷歌还分享了关于需要满足的Source和Build需求的更多细节,并呼吁行业对系统进行标准和威胁模型,详细说明SLSA希望长期解决特定威胁。他们表示,尽管为大多数项目实现最高级别的SLSA可能是困难的,但较低的SLSA被认可并渐进式进行改进,也大大有助于提高开源生态系统的安全性。
供应链攻击
在供应链攻击中,攻击者主要搜索不安全的网络协议、未受保护的服务器基础结构和不安全的代码。它们在生成和更新过程中会中断、更改源代码并隐藏恶意软件。
由于软件由受信任的供应商生成和发布,因此这些应用和更新已经过签名和认证。在软件供应链攻击中,但供应商并不知道他们的应用程序或更新在公开发布时受到恶意代码感染,因此恶意代码以与应用相同的信任和权限运行。
针对SolarWinds事件有分析称,恶意代码的植入点在文件数字签名环节之前,因此有可能是在源代码开发阶段环境、编译环境和待签名的二进制发布环节。这也验证了安全左移的必要性,在编码阶段对代码进行静态安全检测可以发现已知及未知漏洞,杜绝缺陷代码产生。同时通过静态代码检测可以提前排查一些运行时出现的漏洞,加之动态应用测试及交互式应用测试,让安全贯穿整个开发及上线运行流程中。
软件供应链攻击也说明,任何一个环节出现安全问题都可能引发严重的连锁反应,因此对各级都应进行安全检测和审查,避免受到供应链攻击。
参读链接:
https://www.woocoom.com/b021.html?id=00af1070a8a440829d256b233990d251
https://thehackernews.com/2021/06/google-releases-new-framework-to.html