diff options
Diffstat (limited to 'chap/chap3.tex')
-rw-r--r-- | chap/chap3.tex | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/chap/chap3.tex b/chap/chap3.tex index 9ed3df5..742d095 100644 --- a/chap/chap3.tex +++ b/chap/chap3.tex @@ -137,6 +137,18 @@ Conditional Speculation\supercite{conditional-speculation} 是一种检测 在 gem5 模拟器中用 SPEC CPU2006 进行评测,平均性能开销为 6.8\%. +\subsubsection{SpectreGuard} + +SpectreGuard\supercite{spectreguard} 是一种软硬件结合防御 Spectre 攻击 +的方法。软件在页表中标记一个页是否存在秘密数据,如果一条指令在推测式执 +行中读取了带标记的页中的数据,处理器则禁止这条指令将读取的值转发至其他 +指令,直到这条指令之前的所有预测都已验证,确认推测式执行正确。 + +在 gem5 模拟器中用 SPEC CPU2006 评测,如果标记内存的所有页,则 +SpectreGuard 的平均性能开销为 20\%, 而如果标记堆区域,则性能开销减少至 +8\%. 在使用 OpenSSL 的合成基准测试中,如果只标记私钥为秘密数据,则性能 +可以接近原处理器的性能。 + % \begin{comment} % % MI6: Secure Enclave in a Speculative Out-of-Order processor |