summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIru Cai <mytbk920423@gmail.com>2019-05-28 13:53:34 +0800
committerIru Cai <mytbk920423@gmail.com>2019-05-28 14:01:23 +0800
commitca0fd420d458c71d78413306b6a565bead149c62 (patch)
tree2e2712230928e01a5e3a38bd16d8c55f6dec2308
parent3f83b8392ec40b23374b3005b4f08c5b39f1c8c1 (diff)
downloaddissertation-ca0fd420d458c71d78413306b6a565bead149c62.tar.xz
more fixing
-rw-r--r--chap/abs.tex2
-rw-r--r--chap/chap3.tex8
-rw-r--r--chap/chap6.tex46
3 files changed, 29 insertions, 27 deletions
diff --git a/chap/abs.tex b/chap/abs.tex
index 81b1b10..fee0882 100644
--- a/chap/abs.tex
+++ b/chap/abs.tex
@@ -8,7 +8,7 @@
可能带来安全性的问题。其中 Spectre 攻击利用处理器的推测式执行,通过
暂态指令的执行构造隐蔽信道,将程序中的秘密信息泄露给攻击者,破坏了程
序的安全保证和系统的隔离性。由于推测式执行是微处理器设计中提升性能的
- 重要手段,在防御 Spectre攻击的同时,减少防御手段带来的性能下降,是一
+ 重要手段,在防御 Spectre 攻击的同时,减少防御手段带来的性能下降,是一
个重要的问题。
本文基于模拟平台,针对推测式执行侧信道攻击设计实现了一种防御结构。主
diff --git a/chap/chap3.tex b/chap/chap3.tex
index 19b358e..a5fe00c 100644
--- a/chap/chap3.tex
+++ b/chap/chap3.tex
@@ -137,7 +137,7 @@ SafeSpec\supercite{safespec}提出了一种设计原则保护处理器免受推
\label{fig:safespec}
\end{figure}
-虽然SafeSpec原则上很简单,但必须解决许多与其安全性,复杂性和性能相关的
+虽然 SafeSpec 原则上很简单,但必须解决许多与其安全性,复杂性和性能相关的
问题。
将状态从影子状态移动到提交状态有两种选择。第一种选择是等待分支(Wait
@@ -663,8 +663,8 @@ Matrix[X,Y] {}={} & (IQ[X].opcode == Memory) \\
也是攻击者推断出秘密数据的要求。
\end{enumerate}
-在 TPBuf 过滤器中,以上行为模式称为 S-pattern. 如果观察到推测式执行的
-指令序列具有以下特征,则认为它具有 S-pattern:
+在 TPBuf 过滤器中,以上行为模式称为S-模式。如果观察到推测式执行的
+指令序列具有以下特征,则认为它具有S-模式:
\begin{enumerate}
\item 至少有两个指令 A 和 B 访问不同的内存页
@@ -689,7 +689,7 @@ TPBuf 的结构如图 \ref{fig:tpbuf} 所示。TPBuf 的条目和装载存储队
它的条目分配、提交等操作和 LSQ 一起进行。TPBuf 包含了所有进行中的推测式
的访存指令。为了避免攻击者访问未授权的数据,并将其传播到自己的地址空间,
需要先用 TLB 获得访问的物理地址,将其写入 TPBuf 中该访问对应的一
-项。TPBuf 检测 S-pattern,并将结果再传至缓存命中过滤器,决定是否阻止一
+项。TPBuf 检测S-模式,并将结果再传至缓存命中过滤器,决定是否阻止一
个可疑推测式执行的请求。
% 分配:当在LSQ中分配存储器访问指令时,它们也在TPBuf中分配并且A位被置位。并且根据TPBuf中的A位生成掩码。
diff --git a/chap/chap6.tex b/chap/chap6.tex
index f49d8fd..518c02f 100644
--- a/chap/chap6.tex
+++ b/chap/chap6.tex
@@ -1,39 +1,41 @@
\chapter{总结与展望}\label{sec:conclusion}
+本章首先总结本文的工作,并对后续工作作出展望。
+
\section{本文工作总结}
计算机系统的安全越来越受到重视,基于软件的微架构侧信道攻击是对计算机系
统安全的威胁之一,它不依赖于软件漏洞,难以被检测与防
-范。Meltdown 和Spectre 利用暂态指令形成的侧信道,展示了一种新的攻击方式。
-其中 Spectre利用了现代微处理器的推测式执行机制,而推测式执行是提高指令
+范。Meltdown 和 Spectre 利用暂态指令形成的侧信道,展示了一种新的攻击方式。
+其中 Spectre 利用了现代微处理器的推测式执行机制,而推测式执行是提高指令
级并行性的重要手段,如何在防御 Spectre 的同时保持推测式执行带来的性能提
升,是一个值得研究的问题。只通过软件的修改难以防御多种类型的 Spectre
攻击,因此需要通过改进微架构的设计,以解决 Spectre 攻击的问题。本文主
要工作如下:
\begin{enumerate}
-\item 首先调研已有的 Meltdown 和 Spectre 的攻击变体,包括
- 对 Meltdown 和 Spectre 的分类,各类攻击的原理,和它们的利用方式。
-\item 调研已有的 Meltdown 和 Spectre 的防御方法,包括软件防御、硬件防御
- 和软硬件结合的防御方法。其中最重要的是硬件防御方法,主要介
- 绍InvisiSpec 和 Conditional Speculation 两种,并分析了各种防御方案设
- 计特点,可防御的攻击种类,和它们的优缺点。
-\item 设计一种防御防御 Spectre 攻击的微架构,并在 Gem5 中进行实现。这种
- 防御方案利用动态信息流追踪技术检测指令流中可能被用于 Spectre 攻击泄露
- 数据的装载指令,并采用 InvisiSpec 方案执行检测为不安全的装载指令。
-\item 最后对实现的 Spectre 防御方案进行评估,首先构造了一个能用于 Gem5
- 的概念性验证程序,用于测试所实现的微架构的安全性。为了评估这种微架构
- 的性能开销,使用 SPEC CPU2006 评测了这种微架构的性能,和原有的不安全
- 的处理器相比,性能开销为 8.5\%,优于只用 InvisiSpec 执行推测式执行的
- 指令或阻止检测出的不安全指令的方法。
+\item 首先调研已有的 Meltdown 和 Spectre 的攻击变体,包括对 Meltdown
+ 和 Spectre 的分类,各类攻击的原理,和它们的利用方式。
+\item 调研已有的 Meltdown 和 Spectre 的防御方法,包括软件防御、硬件防
+ 御和软硬件结合的防御方法,重点研究硬件防御方法,并分析了各种防御方案
+ 的设计思想、实现方法、安全性和开销。
+\item 设计一种针对 Spectre 的微体系结构,并在 Gem5 模拟平台中进行实现。
+ 这种防御方案动态追踪信息流,检测指令流中可能被用于 Spectre 攻击泄露
+ 数据的装载指令并进行标记。对于有风险的数据装载,使用安全的数据装载方
+ 案,避免在高速缓存状态中留下暂态执行的痕迹。
+\item 最后对实现的 Spectre 防御方案进行评估,构造了一个能用于 Gem5 的
+ 概念性验证程序,验证了该微体系结构设计可以防御测试中的攻击。为了评估
+ 这种微架构的性能开销,使用 SPEC CPU2006 评测了这种微架构的性能,和原
+ 有的不安全的处理器相比,性能开销为 8.5\%,减少了需要安全执行的推测式
+ 数据读取,降低了防御的性能开销。
\end{enumerate}
\section{未来工作展望}
-本文实现了一种 Spectre 攻击中泄露数据指令的检测技术,并结合已有
-的InvisiSpec 方案,实现了一种可防御 Spectre 攻击的微架构。当前的工作只
-考虑了利用控制流推测式执行的 Spectre 攻击,后续的工作可以加入
-对 Spectre-STL 攻击的防御,再评估此模型的性能开销。
+本文实现了一种 Spectre 攻击中泄露数据指令的检测技术,并结合已有的
+InvisiSpec 方案,实现了一种可防御 Spectre 攻击的微架构。当前的工作只考
+虑了利用控制流推测式执行的 Spectre 攻击,后续的工作可以加入对
+Spectre-STL 攻击的防御,再评估此模型的性能开销。
此外,本工作只在模拟器中进行模拟,而未在真实的处理器中实现。后续的工作
-可以在 RISC-V BOOM 等真实处理器上实现这种微架构设计,以评估这种设计在
-实现中的可行性,和对真实处理器性能、功耗的影响。
+可以在 RISC-V BOOM\supercite{boom} 等真实处理器上实现这种微架构设计,
+以评估这种设计在实现中的可行性,和对真实处理器性能、功耗的影响。