开源实现与安全分析:Triad的TEE可信时间协议
许多协议的逻辑依赖于时间测量。然而,在诸如英特尔SGX之类的可信执行环境(TEE)中,时间源位于可信计算基之外:托管TEE的恶意系统可以操纵该TEE的时间概念,例如跳跃时间或影响感知时间速度。
先前的工作如Triad提出了协议,以使TEE能够维护可信赖的时间源。然而,在本文中,基于我们贡献的Triad公共实现,我们实证展示了该协议的漏洞。例如,控制操作系统并因此控制调度算法的攻击者可以任意操纵其本地TEE的时钟速度。更糟糕的是,在恶意时钟速度更快的情况下,单台受感染机器上的攻击者可能将攻击传播到参与Triad可信时间协议的诚实机器,导致它们跳转到任意远的未来时间戳。然后,受感染的诚实机器本身将时间跳跃传播到与其交互的其他诚实机器。
我们讨论了Triad的协议变更,以增强对此类攻击的韧性。