Hasty Briefsbeta

双语

To update blobs or not to update blobs

3 months ago
  • #firmware
  • #security
  • #open-source
  • 硬件通常运行非自由软件(称为固件),可存储于ROM、闪存或在运行时加载。
  • 多数固件是非自由的,有时经过加密签名或加密处理,导致替换或分析困难。
  • 关键考量包括固件更新是否引入恶意功能、安全漏洞或后门程序。
  • 由于缺乏透明度且无法验证源代码,对固件供应商的信任变得复杂。
  • 存储在ROM中的固件若存在恶意代码则无法修复,会构成长期风险。
  • 硬件厂商可能在固件中植入后门,更新也可能引入新漏洞。
  • 将固件更新权限仅限厂商被视为限制性措施且反用户权益。
  • 固件漏洞可能极其严重(如SSD漏洞绕过加密),必须通过更新修复。
  • 逆向工程固件可行,但比审计源代码更具挑战性。
  • 固件漏洞可能危及操作系统安全,尤其在缺乏强力IOMMU保护时。
  • 用非自由固件替换另一非自由版本不会减少活跃的非自由组件数量。
  • 用户必须权衡对CPU厂商的信任与使用其硬件的必要性。
  • CPU微码更新可修复缺陷或缓解漏洞,但可能带来新风险。
  • 固件更新应设为可选,允许用户自定义安全模型。
  • 自由固件能促进用户改进并增强硬件功能。