我听说针对芯片块之间(例如CPU和功能块/内存块之间)总线的攻击是可能的。总线成为硬件安全的薄弱环节。 然后可以从总线中读取二级密钥等秘密。
这种攻击真的是有人实现的还是仅仅停留在理论阶段?
如果已经是实际攻击,那么如何从总线上读出秘密,有没有什么有效的方法可以防止呢?芯片制造商如何降低这种风险?
我听说针对芯片块之间(例如CPU和功能块/内存块之间)总线的攻击是可能的。总线成为硬件安全的薄弱环节。 然后可以从总线中读取二级密钥等秘密。
这种攻击真的是有人实现的还是仅仅停留在理论阶段?
如果已经是实际攻击,那么如何从总线上读出秘密,有没有什么有效的方法可以防止呢?芯片制造商如何降低这种风险?
您是指芯片之间的总线,还是单个芯片内的总线?
如果是第一种情况,是的,它非常实用。例如,Andrew "bunnie" Huang 在他的书Hacking the Xbox的第 8 章中详细描述了这样做。
在第二种情况下,这要困难得多。您需要在不破坏芯片的情况下对芯片进行解封装,然后探测芯片内的导线。这可以并且已经完成,但要贵得多。可以使用(非常小的)物理线、电子束探针或通过观察芯片上的 PN 结发出的红外光来探测芯片。
是否可以?是的。将示波器、逻辑探头或类似仪器连接到内存总线,您可以在数据经过时读取数据。
实用吗?并不真地。它需要物理访问计算机,以及一些相当昂贵的设备。如果攻击者具有该级别的访问权限,则通常有更简单的方法来获取他们所追求的数据。
是的,这样的攻击是可能的和实际的。听起来您正在考虑DMA 攻击,其中攻击者将电缆连接到机器并从 RAM 中读取某些字节。攻击者通常以加密密钥为目标,例如那些可能正在加密硬盘驱动器的密钥。
由于启动机器需要密钥,因此它们在用户被提示登录之前很久就存在于 RAM 中。并且 DMA 设备几乎从它们接收电源的那一刻起就处于活动状态。
防止总线攻击的最佳方法是物理保护您的设备。