A UEFI System with SPDM to Protect Against Unauthorized Device Connections
本文提出并评估了一种开源UEFI系统,该系统利用安全协议与数据模型(SPDM)对PCIe和USB设备进行认证,成功阻止了未经授权的外设连接,且其启动开销可接受,指令开销约为13%,CPU周期开销约为8%。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象你的电脑是一座高安全级别的城堡。多年来,城堡的守门人(BIOS)有些过时且不一致;每当出现一种新型锁具,守门人就需要打补丁才能理解它。为了解决这个问题,城堡换上了一位名为UEFI的现代化、标准化的守门人。这位新守门人更快、更智能,但它仍有一个盲点:它信任任何手持看似有效徽章进入大门的人,即使该徽章属于一名间谍。
本文提出了一种全新的超安全系统,其中守门人不仅检查徽章,还会对每一台试图连接城堡的设备(从 USB 闪存盘到内部硬盘)进行严格、实时的背景调查。
以下是作者如何构建并测试该系统的简明说明:
1. 问题所在:“特洛伊木马”USB
攻击者可以通过插入恶意 USB 驱动器或篡改内部组件潜入电脑。一旦连接,这些设备便能在操作系统(如 Windows 或 Linux)启动之前安装病毒、窃取数据或接管系统。作者希望通过让电脑在允许任何设备执行任何操作之前验证其身份,来阻止此类攻击。
2. 解决方案:“秘密握手”(SPDM)
作者使用了一种名为SPDM(安全协议与数据模型)的协议。将 SPDM 想象成一种复杂且无法破解的秘密握手。
- 旧方式:电脑说“你好”,设备回答“嗨,我是鼠标”。电脑便信以为真。
- 新方式:电脑说“你好”。设备必须用加密证明(数字证书)回应,内容为“我是鼠标,这是制造商签署的我的身份证”。电脑会将此身份证与受信任颁发机构的列表进行核对。如果身份证是伪造的、过期的或缺失的,电脑会说“禁止进入”,并立即将该设备拒之门外。
3. 测试:数字沙盒
由于目前尚难找到支持这一新安全标准的真实硬件,作者构建了一台虚拟计算机(使用名为 QEMU 的工具)来测试其构想。
- 他们创建了一个“概念验证”(可运行的原型),其中虚拟计算机的守门人(UEFI)能够使用这种秘密握手与虚拟 USB 驱动器和虚拟硬盘进行通信。
- 他们还设置了一个“可信平台模块”(TPM),它相当于电脑内部的一个安全金库,用于存储主密钥并记录这些检查的结果。
4. 游戏规则
作者定义了“坏人”可能扮演的角色:
- 狡猾的员工:拥有电脑物理访问权限并插入恶意 USB 驱动器的人。
- 供应链破坏者:在电脑发货给客户之前,将合法硬盘替换为假冒硬盘的人。
- 内部人员:在组装过程中安装隐藏间谍芯片的工厂工人。
他们的系统旨在阻止所有这些情况。即使坏人替换了某个组件,新组件也不会拥有正确的数字签名,因此电脑将拒绝与其通信。
5. 结果:值得等待吗?
安全往往伴随着代价:速度。作者想知道:“由于所有这些检查,电脑启动会变慢多少?”
他们运行了虚拟计算机 10,000 次以获取准确数据。
- 代价:电脑启动(引导)时间增加了约8%,执行这些检查所使用的处理资源(指令)增加了约13%。
- 结论:作者认为,为了获得巨大的安全收益,这是一个非常小的代价。这就像在机场安检排队时多等几秒钟,以确保无人走私武器。这种延迟仅在开机时发生一次,而非每次使用时都出现。
6. 当出现问题时会发生什么?
作者测试了四种场景:
- 完美世界:一切均获授权。电脑正常启动。
- 固件被篡改:电脑自身的守门人代码被修改。系统立即停止并拒绝启动。
- 虚假签名:守门人代码完好,但数字签名错误。系统停止。
- 恶意设备:电脑尝试连接一个没有正确 ID 的 USB 驱动器。系统阻止该特定设备并拒绝加载它,从而有效中和威胁。
总结
简而言之,作者构建了一个原型,将电脑的启动过程转变为一个严格的安全检查站。利用名为 SPDM 的新标准,电脑强制所有连接设备在获准工作之前证明其身份。虽然这会使启动过程增加一点点时间(约 8%),但它为试图通过 USB 驱动器或篡改硬件潜入的黑客筑起了一道强大的屏障。作者已将其代码开源,以便其他安全专家利用它构建更强大的系统。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。