summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIru Cai <mytbk920423@gmail.com>2019-05-04 16:03:57 +0800
committerIru Cai <mytbk920423@gmail.com>2019-05-04 16:03:57 +0800
commite57580860d51909920dd8cb9a36e79747d9fdbc9 (patch)
tree479358cb533312ac6bff996434c482eca4aaa824
parentff3297acbf051d784769890bc307ac84aa058bf6 (diff)
downloaddissertation-e57580860d51909920dd8cb9a36e79747d9fdbc9.tar.xz
update
-rw-r--r--chap/chap1.tex50
-rw-r--r--chap/chap2.tex2
-rw-r--r--chap/chap3.tex2
-rw-r--r--chap/chap4.tex2
-rw-r--r--chap/chap5.tex2
-rw-r--r--chap/chap6.tex2
6 files changed, 54 insertions, 6 deletions
diff --git a/chap/chap1.tex b/chap/chap1.tex
index 9ffc65d..e4ec1f6 100644
--- a/chap/chap1.tex
+++ b/chap/chap1.tex
@@ -1,10 +1,39 @@
% Copyright (c) 2014,2016,2018 Casper Ti. Vector
% Public domain.
-\chapter{绪论}
+\chapter{绪论}\label{sec:intro}
\section{选题背景与研究意义}
+现代微处理器使用了超标量流水线、乱序执行等设计,通过利用程序内的指令级
+并行性,掩盖指令的延迟的方法,提高处理器的指令执行效率。乱序执行是处理
+器对指令进行动态调度的技术,它允许一条指令在满足数据依赖后即可进入执行
+单元执行,而无需等待程序序列之前的指令。超标量处理器设计多条执行流水线,
+使得处理器每一周期可以执行多条指令。由于程序中大量出现转移指令,计算转
+移方向和目标之前可能有较长延迟,影响流水线的利用率,因此处理器使用了转
+移预测和推测式执行技术。处理器可以根据转移预测得出的分支方向和转移目标,
+从预测的目标地址处或取指令并执行。
+
+由于处理器在执行程序的过程中,处理器可能接收外部中断,指令执行可能产生
+异常,因此乱序执行的处理器使用一个称为重排序缓冲的队列,按程序序列保存
+流水线中的指令,在产生中断或异常后,将产生异常的指令及其之后执行的指令
+产生的效果撤销。在使用推测式执行的处理器中,处理器在预测错误时,由该预
+测产生的推测式执行的指令,也需要类似的错误恢复机制撤销。处理器中的错误
+恢复机制使得处理器在体系结构层次上的状态保持正确,从而程序正确运行。
+
+2018年公布的 Meltdown\supercite{meltdown} 和
+Spectre\supercite{spectre} 攻击使人们发现,虽然处理器在执行指令产生异
+常,或推测式执行错误后,通过恢复可以使体系结构层次上的状态保持正确,但
+是这些错误执行的指令在微架构中产生了副作用,并且可能泄露系统中的秘密数
+据,破坏了系统的安全。从 Meltdown 和 Spectre 被发现之后,Intel、AMD、
+ARM等处理器设计厂商,和Google、Microsoft等软件厂商,均提出了软件补丁或
+处理器微码更新,用于减轻 Meltdown 和 Spectre 的威胁。Intel 在后续的处
+理器中,也在硬件上对一些攻击做出了防御。
+
+已有的基于软件的解决方法,存在性能开销大,防御的攻击种类单一等缺点。因
+此也有研究,尝试通过微架构的设计,低开销地防御 Meltdown 和 Spectre 攻
+击。本文的目标是设计并实现一种微架构,防御 Spectre 攻击。
+
\section{研究平台与环境}
本文使用 gem5 模拟器\supercite{gem5}作为研究平台。gem5 提供了多种 CPU
@@ -18,4 +47,23 @@ DRAM、crossbar等组件,通过使用Ruby存储系统,还可以模拟自定
\section{论文组织结构}
+本文的组织结构如下:
+
+第\ref{sec:intro}章~\nameref{sec:intro}。阐述本文的选题背景和研究意义、研究平台与环境,并简述论文
+的组织结构。
+
+第\ref{sec:attack}章~\nameref{sec:attack}。分析已经发现的 Meltdown 和
+Spectre 攻击的各个变体。
+
+第三章~\nameref{sec:defense}。对已经提出的 Meltdown 和
+Spectre 攻击的软硬件防御进行分析。
+
+第四章~\nameref{sec:mywork}。提出本文所设计的防御
+Spectre 攻击的方法,并描述在 gem5 模拟器上的实现。
+
+第五章~\nameref{sec:eval}。对本文设计的 Spectre 防御方案,进行安全性的
+验证和性能分析。
+
+第六章~\nameref{sec:conclusion}。总结本文的主要工作和研究意义,并对未来工作进行展望。
+
% vim:ts=4:sw=4
diff --git a/chap/chap2.tex b/chap/chap2.tex
index 0326ef9..d2bcecf 100644
--- a/chap/chap2.tex
+++ b/chap/chap2.tex
@@ -1,7 +1,7 @@
% Copyright (c) 2014,2016 Casper Ti. Vector
% Public domain.
-\chapter{Meltdown和Spectre攻击}
+\chapter{Meltdown和Spectre攻击}\label{sec:attack}
本章首先介绍侧信道攻击,之后对已有的 Meltdown 和 Spectre 攻击的各种变
体进行分类讲解,最后简单地介绍已有攻击的其他使用形式。
diff --git a/chap/chap3.tex b/chap/chap3.tex
index bc4ce99..9ed3df5 100644
--- a/chap/chap3.tex
+++ b/chap/chap3.tex
@@ -1,7 +1,7 @@
% Copyright (c) 2014,2016,2018 Casper Ti. Vector
% Public domain.
-\chapter{Meltdown和Spectre攻击的防御方案分析}
+\chapter{Meltdown和Spectre攻击的防御方案分析}\label{sec:defense}
Meltdown 和 Spectre 及其多种变体被发现后,研究者提出了多种减轻这些攻击
的防御方法,它们需要对软件或硬件进行修改。也有研究者提出通过修改现有的
diff --git a/chap/chap4.tex b/chap/chap4.tex
index f47c8ad..90ab366 100644
--- a/chap/chap4.tex
+++ b/chap/chap4.tex
@@ -1,4 +1,4 @@
-\chapter{可抵抗Spectre攻击的微架构的设计与实现}
+\chapter{可抵抗Spectre攻击的微架构的设计与实现}\label{sec:mywork}
本章讲解本文提出的一种防御 Spectre 攻击的方法,该方法使用动态信息流追
踪的方法,检测 Spectre 组件指令流中可能泄露秘密数据的访存指令,并使用
diff --git a/chap/chap5.tex b/chap/chap5.tex
index df3e01b..c79fa9e 100644
--- a/chap/chap5.tex
+++ b/chap/chap5.tex
@@ -1,4 +1,4 @@
-\chapter{评测}
+\chapter{评测}\label{sec:eval}
\section{评测环境}
diff --git a/chap/chap6.tex b/chap/chap6.tex
index 4dbaa5e..be70854 100644
--- a/chap/chap6.tex
+++ b/chap/chap6.tex
@@ -1,4 +1,4 @@
-\chapter{总结与展望}
+\chapter{总结与展望}\label{sec:conclusion}
\section{本文工作总结}