summaryrefslogtreecommitdiff
path: root/chap/chap3.tex
diff options
context:
space:
mode:
Diffstat (limited to 'chap/chap3.tex')
-rw-r--r--chap/chap3.tex12
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