summaryrefslogtreecommitdiff
path: root/chap/chap6.tex
blob: 518c02f3b9913434c6d62d90865365ba33aec3b8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
\chapter{总结与展望}\label{sec:conclusion}

本章首先总结本文的工作,并对后续工作作出展望。

\section{本文工作总结}

计算机系统的安全越来越受到重视,基于软件的微架构侧信道攻击是对计算机系
统安全的威胁之一,它不依赖于软件漏洞,难以被检测与防
范。Meltdown 和 Spectre 利用暂态指令形成的侧信道,展示了一种新的攻击方式。
其中 Spectre 利用了现代微处理器的推测式执行机制,而推测式执行是提高指令
级并行性的重要手段,如何在防御 Spectre 的同时保持推测式执行带来的性能提
升,是一个值得研究的问题。只通过软件的修改难以防御多种类型的 Spectre
攻击,因此需要通过改进微架构的设计,以解决 Spectre 攻击的问题。本文主
要工作如下:
\begin{enumerate}
\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 攻击的防御,再评估此模型的性能开销。

此外,本工作只在模拟器中进行模拟,而未在真实的处理器中实现。后续的工作
可以在 RISC-V BOOM\supercite{boom} 等真实处理器上实现这种微架构设计,
以评估这种设计在实现中的可行性,和对真实处理器性能、功耗的影响。