Hasty Briefsbeta

双语

Bringing Rust to the Pixel Baseband

7 days ago
  • #Pixel Security
  • #Rust Integration
  • #Memory Safety
  • 谷歌通过在Pixel 9的调制解调器固件中减少内存安全漏洞,增强了设备的安全性。
  • 针对Pixel 10,谷歌将内存安全的Rust DNS解析器集成到调制解调器固件中,以降低安全风险。
  • 调制解调器固件面临日益增长的威胁;例如,Project Zero项目实现了对Pixel调制解调器的远程代码执行攻击。
  • DNS对于蜂窝网络操作至关重要,如果实现不安全,可能导致类似CVE-2024-27227的漏洞。
  • 由于维护性、测试覆盖率和社区采用度,hickory-proto被选作Rust DNS库。
  • 为适应裸机环境,hickory-proto添加了no_std支持,这也有利于其他项目。
  • hickory-proto的代码体积未针对嵌入式使用进行优化,但由于Pixel的内存限制,仍可接受。
  • Rust集成涉及定义单元测试,并使用rustc与Pigweed以实现构建系统的可扩展性。
  • 通过FFI实现了分配器和恐慌处理器,以便与现有的C/C++调制解调器固件集成。
  • 链接Rust代码需要提取目标文件,并解决与compiler_builtin相关的弱符号问题。
  • 创建了一个Rust函数process_dns_response,用于解析DNS响应并回调到C函数。
  • 使用Cargo-gnaw生成GN构建规则来管理依赖项,确保正确性和维护便利性。
  • 该项目为在蜂窝基带中集成未来内存安全代码奠定了基础。