diff options
Diffstat (limited to 'chap/chap5.tex')
-rw-r--r-- | chap/chap5.tex | 22 |
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 中,推测式执行中的装载 |