summaryrefslogtreecommitdiff
path: root/chap/chap5.tex
diff options
context:
space:
mode:
Diffstat (limited to 'chap/chap5.tex')
-rw-r--r--chap/chap5.tex22
1 files changed, 11 insertions, 11 deletions
diff --git a/chap/chap5.tex b/chap/chap5.tex
index 2c83fe3..f4474ec 100644
--- a/chap/chap5.tex
+++ b/chap/chap5.tex
@@ -4,18 +4,18 @@
\section{评测环境}
-本文对 gem5 模拟器修改,对以下 5 种配置进行评测:Baseline, Fence,
+本文对 Gem5 模拟器修改,对以下 5 种配置进行评测:Baseline, Fence,
Fence+DIFT, IS, IS+DIFT. Baseline 表示受 Spectre 攻击影响的处理器模型,
Fence 和 IS 分别表示对所有推测式执行中的装载指令,推迟执行和用
-InvisiSpec的方案执行,Fence+DIFT 和 IS+DIFT 则是使用动态信息流追踪识别
+InvisiSpec 的方案执行,Fence+DIFT 和 IS+DIFT 则是使用动态信息流追踪识别
可能泄露秘密数据的装载指令,只对这些装载使用相应的安全的执行方案。
-表\ref{tab:gem5_conf}中列出了所有处理器配置的基本配置。
+表\ref{tab:Gem5_conf}中列出了所有处理器配置的基本配置。
\begin{table}
\centering
\caption{模拟的处理器的基本配置}
-\label{tab:gem5_conf}
+\label{tab:Gem5_conf}
\begin{tabular}{|c|c|}
\hline
参数 & 配置 \tabularnewline
@@ -69,12 +69,12 @@ L2 Cache & 2MB, 16路组相联, 8周期延迟\tabularnewline
体系结构设计运行基准程序,和 Baseline 的运行时间的比值,平均性能取这些
比值的几何平均数。
-\subsection{功能验证}
+\section{功能验证}
本文构造一个测试程序对每种配置的处理器进行安全性的测试,用于验证实现的
方案可以防御 Spectre 攻击。
-由于 gem5 的 Ruby 存储模型不支持 clflush 指令,因此测试程序使
+由于 Gem5 的 Ruby 存储模型不支持 clflush 指令,因此测试程序使
用Evict+Reload 的方式进行攻击。由于配置的系统末级缓存为 2MB,可以对一
个2MB 的存储区域进行访问,以清除缓存内原有内容,具体代码可
见附件\ref{lst:poc_for_gem5}。
@@ -95,8 +95,8 @@ L2 Cache & 2MB, 16路组相联, 8周期延迟\tabularnewline
集。所有的基准程序均用 GCC 8.3.0 编译,编译优化选项为 -O2,并且和
Glibc 2.24 静态链接。
-由于 gem5 模拟器运行 SPEC CPU2006 所需时间过长,因此评测时选取部分指令,
-方法是先用 gem5 的 AtomicSimpleCPU 运行 10000000000 条指令进行程序的预
+由于 Gem5 模拟器运行 SPEC CPU2006 所需时间过长,因此评测时选取部分指令,
+方法是先用 Gem5 的 AtomicSimpleCPU 运行 10000000000 条指令进行程序的预
热,再用待评测的处理器配置运行 1000000000 条指令,得出评测结果。
%% 表\ref{tab:spec2006}中列出每个 SPEC CPU2006 在 Baseline 模式下运行的指
@@ -156,7 +156,7 @@ Glibc 2.24 静态链接。
%% \label{tab:spec2006}
%% \end{table}
-图\ref{fig:is_spec06_result}是每种配置的处理器运行 SPEC CPU2006 相对于
+图 \ref{fig:is_spec06_result} 是每种配置的处理器运行 SPEC CPU2006 相对于
Baseline 的运行时间。其中 cactusADM 和 lbm 由于每种配置的相对运行时间
都接近 1,故未列入图中。
@@ -236,8 +236,8 @@ Baseline 的运行时间。其中 cactusADM 和 lbm 由于每种配置的相对
%% \end{table}
%%
为了观察使用基于信息流追踪的检测机制的效果,可以统计 IS 和 IS+DIFT 方
-案中 SpecLoad 请求的数量。图\ref{fig:specload}列出两种方案中,SpecLoad
-请求的数量和程序的总操作数(gem5 模拟后得出的 sim\_ops 结果)的比例。
+案中 SpecLoad 请求的数量。图 \ref{fig:specload} 列出两种方案中,SpecLoad
+请求的数量和程序的总操作数(Gem5 模拟后得出的 sim\_ops 结果)的比例。
可以看出,几乎所有的基准程序中,DIFT 可以过滤一半以上被认为不安全的装
载操作,其中 bwaves, GemsFDTD, libquantum, milc 中,推测式执行中的装载