Hacker News 中文摘要

RSS订阅

利用签名引导程序绕过UEFI安全启动 -- Exploiting signed bootloaders to circumvent UEFI Secure Boot

文章摘要

文章介绍了如何利用已签名的引导程序绕过UEFI安全启动机制。UEFI安全启动旨在防止未经签名的恶意程序运行,但要求厂商必须通过微软的代码审核才能获得签名。作者探讨了通过合法签名引导程序实现自定义启动的方法。

文章总结

标题:利用签名引导程序绕过UEFI安全启动机制

核心内容: 本文揭示了如何通过已签名的引导程序绕过UEFI安全启动(Secure Boot)保护机制的技术细节。自2013年推出的这项安全技术本应阻止未授权代码的执行,但研究者发现存在可利用的漏洞。

技术背景: 1. 安全启动要求所有引导程序必须经过微软认证签名 2. Linux系统通过shim引导程序(含微软签名)作为中介加载GRUB2 3. 卡巴斯基救援盘使用特殊签名的GRUB引导程序

突破方法: 研究者开发了两种解决方案: 1. Super UEFIinSecureBoot Disk: - 组合使用Fedora的shim、修改版PreLoader和GRUB2 - 首次启动需通过MokManager添加证书 - 之后可加载任意未签名EFI文件

  1. Silent UEFIinSecureBoot Disk:
  • 利用卡巴斯基救援盘中存在缺陷的签名引导程序
  • 通过修改chainloader模块实现静默加载
  • 无需用户交互即可执行未授权代码

安全影响: 这种技术既可用于系统维护(如企业IT管理),也可能被恶意利用安装bootkit。预计相关签名证书将被加入UEFI吊销列表。

项目资源: - Super UEFIinSecureBoot Disk:GitHub开源项目 - Silent版本:仅通过ZeroNet分布式网络发布

注:ZeroNet是一个基于BitTorrent技术的去中心化网络平台,支持动态网站功能。作者选择通过该平台发布静默版,旨在推广这一技术。

(全文在保持技术细节完整性的基础上,删减了部分重复性说明和推广性内容,重点突出安全机制漏洞的发现过程和实现原理)

评论总结

以下是评论内容的总结:

  1. 安全启动的弱点

    • 主要观点:第三方供应商提供的"不安全"引导程序是安全启动的最大弱点,验证每个数据签名的工作量很大。
      引用:"The biggest weakness...especially on the PC platform."
      引用:"第三方供应商提供'不安全'引导程序是最大弱点"
  2. 微软与Linux桌面的关系

    • 主要观点:微软试图通过安全启动限制Linux桌面,但因杀毒软件供应商的安全漏洞而失败,Linux桌面得以延续。
      引用:"Microsoft's attempt...failed because...antivirus vendor partners couldn't write secure software"
      引用:"Linux桌面的延续完全依赖杀毒软件供应商编写不安全的软件"
  3. 主板密钥管理的争议

    • 主要观点:质疑主板是否仅信任微软密钥,指出多数主板允许用户添加自己的密钥,但笔记本电脑可能不同。
      引用:"I haven’t seen a motherboard that didn’t let me enroll my own keys"
      引用:"大多数主板允许用户添加自己的密钥"
  4. 用户控制与硬件设计建议

    • 主要观点:应赋予硬件所有者更多控制权,建议硬件供应商提供多方可信证书,并让用户选择启用哪些证书。
      引用:"Empowering the 'User'...should have always been the focus"
      引用:"用户应被询问启用哪些证书,且不应默认启用任何证书"
  5. PC平台的安全问题

    • 主要观点:PC平台因碎片化导致安全问题,相比之下更信任苹果的安全性。
      引用:"The security story of the PC platform is such a mess due to fragmentation"
      引用:"PC平台的安全问题因碎片化而混乱,更信任苹果"