宣布了 发布更新框架的新版本 1.0, 更好地称为 TUF,其特点是作为一个框架,提供了一种安全检查和下载更新的方法。
该项目的主要目标是保护客户端免受典型攻击 到存储库和基础设施,包括打击攻击者在获得密钥以生成数字签名或破坏存储库后创建的虚假更新的推广。
关于 TUF
萨尔瓦多PROYECTO 开发了许多库、文件格式和实用程序 可以很容易地集成到现有的应用程序更新系统中,在软件开发人员泄露密钥的情况下提供保护。 要使用 TUF,只需将必要的元数据添加到存储库并集成 TUF 中提供的程序以加载和验证客户端代码中的文件。
TUF 框架 接管检查更新的任务,下载更新 并验证其完整性。 更新安装系统不直接与附加元数据相交,由TUF验证并上传。
为了与应用程序集成和更新安装系统,提供了用于访问元数据的低级 API 和高级客户端 API ngclient 的实现,可用于应用程序集成。
在 TUF 可以应对的攻击中 是 版本替换 以更新为幌子阻止对软件漏洞的修复或将用户恢复到以前的易受攻击的版本,以及 推广恶意更新 使用泄露的密钥正确签名,对客户端执行 DoS 攻击,例如用无休止的更新填充磁盘。
防止基础设施受损 软件供应商通过维护存储库或应用程序状态的单独可验证记录来实现。
MGI TUF 验证的元数据包括关键信息 可以信任的、用于评估文件完整性的加密哈希、用于验证元数据的附加数字签名、版本号信息和记录生命周期信息。 用于验证的密钥具有有限的生命周期,需要不断更新以防止使用旧密钥进行签名。
通过使用拆分信任模型来降低破坏整个系统的风险,在该模型中,每一方都仅限于其直接负责的区域。
系统使用具有自己键的角色层次结构, 例如,根角色签署了负责存储库中元数据的角色的密钥,有关更新和目标构建时间的数据,反过来,负责构建的角色签署与认证相关联的角色交付的文件。
为了防止密钥泄露, 使用快速密钥撤销和替换机制. 每个单独的密钥只集中最小必要的权力,并且公证操作需要使用多个密钥(单个密钥的泄漏不允许立即对客户端进行攻击,并且要破坏整个系统,有必要捕获密钥所有参与者)。
客户端只能接受晚于先前接收的文件创建的文件,并且仅根据认证元数据中指定的大小下载数据。
发布的版本 TUF 1.0.0 提供了一个完全重写的参考实现 TUF 规范的稳定版本,您可以在创建自己的实现或集成到项目中时将其用作开箱即用的示例。
新的实施 包含明显更少的代码 (1400 行而不是 4700 行),它更易于维护并且可以轻松扩展,例如,如果您需要添加对特定网络堆栈、存储系统或加密算法的支持。
该项目是在 Linux 基金会的赞助下开发的 用于提高 Docker、Fuchsia、Automotive Grade Linux、Bottlerocket 和 PyPI 等项目中更新交付的安全性(预计很快会在 PyPI 中包含下载验证和元数据)。
最后,有兴趣可以多了解一点,可以查阅详情 在下面的链接中。