深入剖析LPC总线劫持:原理、方法与实验验证
1. 芯片技术中的安全启动机制
在平台的控制器中心(南桥)中,不同厂商采用了不同的技术来实现安全启动。英特尔的可信执行技术(TXT)使用特殊的处理器指令“SINIT”来加载和启动由英特尔提供的经过认证的代码模块(ACM)。这个代码模块是唯一能够使用局部性4地址范围与可信平台模块(TPM)进行通信的实体。CPU会使用公钥签名来验证ACM的完整性,而用于签名验证的公钥则通过存储在平台芯片组南桥中的哈希值进行认证。
AMD的安全虚拟机(SVM)提供了类似的SKINIT处理器指令,可用于调用动态远程证明模块(D - RTM)启动序列。与英特尔的SINIT指令不同,当使用AMD的SKINIT指令启动“安全加载器”代码块时,CPU不会执行数字签名验证。从这个意义上说,AMD对D - RTM的实现更加“开放”,因为它不强迫平台用户信任芯片组供应商签名的二进制代码块。
2. 低引脚数(LPC)总线概述
LPC总线旨在取代基于PCI总线的PC平台上的旧有总线标准。其设计的主要目标之一是在保留旧总线标准(如ISA总线)功能的同时,尽量减少所需的总线线路数量。LPC总线通过一种简单的双向架构和复用的地址/数据线有效地实现了这一设计目标。在最小配置下,LPC总线仅需要四条双向地址/数据线、一个帧起始信号、一个复位信号和一个时钟信号。此外,还可以通过增加一些额外的总线线路来提供对中断和直接内存访问(DMA)操作的可选支持。
在当前的台式PC主板中,LPC总线主要用于将平台的南桥控制器与固件闪存芯片、超级I/O控制器以及其他对数据传输带宽要求较低的外围设备进行连接。从本文的角度来看,最值得关注的LPC总线用户是可信平台
超级会员免费看
订阅专栏 解锁全文
3450

被折叠的 条评论
为什么被折叠?



