From 256aad6ceba41c3a65d9076021599545df3ed9b6 Mon Sep 17 00:00:00 2001
From: Iru Cai <mytbk920423@gmail.com>
Date: Thu, 16 May 2019 10:02:30 +0800
Subject: upd

---
 chap/chap3.tex | 22 ++++++++++++----------
 1 file changed, 12 insertions(+), 10 deletions(-)

(limited to 'chap/chap3.tex')

diff --git a/chap/chap3.tex b/chap/chap3.tex
index a755996..90e8133 100644
--- a/chap/chap3.tex
+++ b/chap/chap3.tex
@@ -193,7 +193,7 @@ SafeSpec 原则可以用于在推测式执行中保护缓存和 TLB，方法是
 
 InvisiSpec \supercite{invisispec} 使推测式执行产生的副作用在数据缓存中
 不可见，从而可以防御利用推测式执行的攻击。它的目标是阻止由推测式执行的
-装载操作产生的微架构侧信道和隐蔽信道，如缓存占用、缓存行替换算法信息、
+装载操作产生的微体系结构侧信道和隐蔽信道，如缓存占用、缓存行替换算法信息、
 缓存一致性状态等。和 SafeSpec 不同，InvisiSpec 支持多处理器。
 
 Spectre 等攻击由暂态指令引起，为了定义 InvisiSpec 的攻击模型，
@@ -229,7 +229,7 @@ Speculative Store Bypass & 装载指令和更早的存储指令地址别名\tabu
 \centering
 \end{table}
 
-InvisiSpec 的微架构基于两种机制。第一个机制中，不安全的推测式执行的装载
+InvisiSpec 的微体系结构基于两种机制。第一个机制中，不安全的推测式执行的装载
 操作将数据读入至推测式执行缓冲区（Speculative Buffer，SB）中，而不读入
 缓存，从而不修改缓存存储层次的状态。由于缓冲区中的数据不产生缓存一致性
 事务，因此可能造成内存一致性违例。第二个机制解决这个问题，当推测式执行
@@ -404,7 +404,7 @@ InvisiSpec 会增大存储系统中各个缓存之间，和缓存和主存之间
 Meltdown 和 Spectre 提供了新了构造数据通道的方式。通过利用错误的推测式
 执行，攻击者可以使处理器执行通常无法访问的代码路径。在 Meltdown 中，攻
 击者推测式执行一段代码，作为数据通道，它可以非法访问秘密数据，并在异常
-发生之前通过微架构副作用传输至接受者。在 Spectre 中，攻击者使分支预测器
+发生之前通过微体系结构副作用传输至接受者。在 Spectre 中，攻击者使分支预测器
 预测错误，使处理器沿着攻击者选择的路径推测式执行，这在受害者中形成了数
 据通道。因此，构建数据通道有三种方法：
 
@@ -439,7 +439,9 @@ DAWG 的目标是阻止任何攻击者和受害者安全域之间的基于缓存
 的路之内。在此之上，缓存所带的元数据，如替换策略的状态，也要在保护域内
 定义，并安全地划分。
 
-图\ref{fig:dawg-cache}展示了 DAWG 缓存的结构。
+图\ref{fig:dawg-cache}展示了 DAWG 缓存的结构。处理器中增加几个 MSR，用
+于记录处理器当前所在的保护域，和保护域的策略。每个逻辑核在访问存储器时
+均带有一个域标识字段。
 
 除了硬件修改之外，DAWG 还需要软件的支持，用于管理程序的保护域，和每个
 域对应的安全策略。
@@ -535,7 +537,7 @@ Conditional Speculation \supercite{conditional-speculation} 是一种检测
 推测式执行中的潜在的泄露数据的访存指令，并阻止其执行的方法。为了检测可
 能在推测式执行中泄露数据的指令，此工作提出安全依赖（security
 dependence）的概念，类似于数据依赖和控制依赖，这种新的依赖性用于描述泄
-漏微架构信息具有潜在安全风险的推测性执行的指令。对于信道 $c$，指令 $j$
+漏微体系结构信息具有潜在安全风险的推测性执行的指令。对于信道 $c$，指令 $j$
 安全依赖于指令 $i$，如果：
 
 \begin{itemize}
@@ -702,12 +704,12 @@ SpectreGuard\supercite{spectreguard} 是一种以数据为中心的软硬件结
 的Spectre 防御方案。这种方案考虑到对于软件开发人员来说，识别程序中的秘
 密数据（如密钥）比识别可能受到攻击的 Spectre 组件代码容易。因
 此，SpectreGuard 在操作系统中提供接口，使程序可以标记敏感的内存区域，硬
-件上只需要简单的微架构扩展，就可以阻止 Spectre 攻击。和已有的防御方案相
+件上只需要简单的微体系结构扩展，就可以阻止 Spectre 攻击。和已有的防御方案相
 比，它不需要依靠编译器识别程序中可能受攻击的代码，也不需要复杂的硬件修
 改。
 
 Spectre 攻击需要分为三个步骤：从存储系统装载秘密数据，将秘密数据转发至
-依赖于这个数据的指令，执行依赖于这个数据的指令，通过微架构隐蔽信道泄露
+依赖于这个数据的指令，执行依赖于这个数据的指令，通过微体系结构隐蔽信道泄露
 秘密。数据的泄露在第二、三步进行，如果秘密数据被装载，但不被转发，秘密
 也不会泄露给攻击者。
 
@@ -716,7 +718,7 @@ Spectre 攻击需要分为三个步骤：从存储系统装载秘密数据，将
 内存区域时，才需要延迟转发。当秘密数据不经常访问时，总体开销可以忽略。
 
 敏感数据的标记通过在页表中添加一个位实现，在软件中可以扩展操作系统
-的mmap, mprotect 等接口，或通过运行库、编译器、连接器实现。在微架构中，
+的mmap, mprotect 等接口，或通过运行库、编译器、连接器实现。在微体系结构中，
 指令执行后，执行结果将转发至后续依赖于这个指令的指令，而如果指令是访问
 了敏感区域的指令，则推迟它的转发。
 
@@ -735,7 +737,7 @@ Spectre 攻击需要分为三个步骤：从存储系统装载秘密数据，将
 %   Data Oblivious ISA(OISA)是一种 ISA 扩展，用于阻止信息通过侧信道泄露。
 %   设计原则：
 %   \begin{itemize}
-%   \item ISA的安全性和微架构无关
+%   \item ISA的安全性和微体系结构无关
 %   \item ISA不会阻止现代微处理器的优化技术
 %   \end{itemize}
 % 
@@ -755,7 +757,7 @@ Spectre 攻击需要分为三个步骤：从存储系统装载秘密数据，将
 由于 Meltdown 型攻击和 Spectre 型攻击利用的暂态指令不同，因此防御方案
 也不同。
 
-对于 Meltdown 型攻击，防御方法相对简单。只要使产生异常的指令在微架构层
+对于 Meltdown 型攻击，防御方法相对简单。只要使产生异常的指令在微体系结构层
 次上无法访问体系结构层次上无法访问的数据，即可以阻止 Meltdown 型攻击。
 在现有的处理器中，需要使用 KAISER 等防御方案，会造成一定性能的损失。
 
-- 
cgit v1.2.3

