< 返回版块

苦瓜小仔 发表于 2025-08-21 13:38

Tags:日报

Rusted Firmware-A (RF-A):基于 Rust 的 Arm A 类处理器现代化固件解决方案

这篇文章介绍了 Rusted Firmware-A (RF-A),这是一个由 Arm 和 Google 工程师合作开发的开源项目,旨在用 Rust 语言重新实现 Trusted Firmware-A (TF-A),为 Arm A 类处理器提供一个基于 Rust 的现代化固件解决方案。它专注于内存安全、模块化设计和现代安全标准。

项目介绍

  • Rusted Firmware-A (RF-A) 是一个基于 Rust 的重新设计的 TF-A 实现,目标是为最新的 Arm A 类处理器提供一个更安全、更现代的固件解决方案。
  • 特点
    • 内存安全:利用 Rust 的特性确保内存安全。
    • 无遗留代码:丢弃了传统的遗留支持,使代码库更易于维护。
    • 清晰和模块化设计:利用 Rust 的丰富类型系统和错误处理机制。
    • 编译时捕获更多错误:减少敏感固件环境中的风险。
    • 符合现代安全指导:与监管机构和安全标准机构的指导方针保持一致。

项目背景

  • TF-A 的局限性:尽管 TF-A 多年来可靠地服务于 Arm 生态系统,但它积累了大量的遗留代码和进化产物。RF-A 提供了一个重新设计的机会,以解决这些限制。
  • C TF-A 的未来:C TF-A 将继续得到支持和维护,包括长期支持(LTS)版本,这些版本将在未来多年内保持一级支持状态。然而,RF-A 是面向未来的实现。

项目范围和目标

  • 目标:RF-A 从零开始设计,仅针对最新的 Arm A 类处理器,不支持旧的架构版本和扩展。
    • 仅支持 AArch64。
    • 需要更现代的特性,如 GICv3、DSU 和硬件辅助一致性。
    • 某些接口不会在 RF-A 中重新实现。
    • 作为未来产品发布的参考实现。
    • 初期计划在 Arm FVP 和 QEMU 平台上使用。

项目状态和路线图

  • 当前状态:目前正在进行早期原型开发,并发布了 v0.1 版本,用于公开反馈。
  • 开发里程碑
    • 初始设计和架构审查
    • Rust 核心固件框架
    • 早期平台支持(FVP、QEMU)
    • 开放 CI 集成
    • v0.1 公开预览
    • 关于迁移路径和功能集的 RFC
    • 朝向 v1.0:稳定化
  • 时间线:计划在未来几年内将 RF-A 产品化。在此之前,预计会有快速迭代和社区驱动的演变。

迁移策略

  • 迁移路径:项目成熟后,将提供从 TF-A 到 RF-A 的迁移路径。新固件开发最终将在 RF-A 中进行。
  • C TF-A 的支持
    • C TF-A 不会立即被弃用或结束生命周期。
    • C TF-A 的 LTS 分支将完全支持其 7 年的生命周期。
    • 合作伙伴和供应商可以继续使用 C TF-A 用于现有和即将推出的产品。

常见问题解答

  1. 为什么用 Rust 编写 RF-A?
    • 确保内存安全,减少遗留负担,提高可维护性,并利用 Rust 的类型系统更早地捕获错误。
  2. C TF-A 有缺陷吗?
    • 绝对没有。它一直为我们服务得很好。RF-A 是一个现代化的重新实现机会。
  3. 两个版本会并行开发吗?
    • 目前会。但从长期来看,保持功能对等是不可持续的。最终,RF-A 将成为新开发的默认选择。
  4. 如果 RF-A 缺少我需要的功能怎么办?
    • RF-A 不会支持 TF-A 当前支持的所有功能。如果需要这些功能,请继续使用 C TF-A。
  5. 在哪里可以找到 RF-A 的路线图和状态?
    • 我们将很快发布路线图。在此期间,可以通过 GitHub Issues 跟踪我们的进展。
  6. 是否有计划将其他 Trusted Firmware 项目迁移到 Rust?
    • 目前没有计划将其他 Trusted Firmware 项目迁移到 Rust。现有项目将继续在其当前实现语言中积极维护。

仓库:https://git.trustedfirmware.org/RF-A/rusted-firmware-a

阅读:https://www.trustedfirmware.org/blog/rf-a-blog

Reddit:https://www.reddit.com/r/rust/comments/1mug923/introducing_rusted_firmwarea_rfa_a_rustbased/

ECScape:劫持 Amazon ECS 中的 IAM 角色

我最近在 Black Hat USA 和 fwd:cloudsec 上展示了 ECScape。

PoC 展示了 EC2 上的低权限 ECS 任务如何通过模拟 ECS 代理来劫持同一主机上其他容器的 IAM 凭据。

相应的博客文章:

仓库:https://github.com/naorhaziz/ecscape

Envswitch:管理多组环境变量的工具

envswitch 是一个简单的工具,用于管理多组环境变量。它允许用户通过配置文件快速切换不同的环境变量设置,适用于需要在不同开发环境(如本地、测试、生产)之间切换的场景。

配置文件使用 TOML 格式,支持嵌套环境。用户可以通过命令行工具 es 快速设置或取消设置环境变量,并且可以查看当前激活的环境。

它支持 bash、fish 和 zsh,并提供安装指南和与 Starship 等工具的集成方式。

仓库:https://github.com/paholg/envswitch

--

From 日报小组 苦瓜小仔

社区学习交流平台订阅:

评论区

写评论

还没有评论

1 共 0 条评论, 1 页