diff options
Diffstat (limited to 'chap/chap4.tex')
-rw-r--r-- | chap/chap4.tex | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/chap/chap4.tex b/chap/chap4.tex index 90ab366..406655a 100644 --- a/chap/chap4.tex +++ b/chap/chap4.tex @@ -30,9 +30,20 @@ CSF\supercite{context-sensitive-fencing} 中的译码级信息流追踪框架 DI 断是否需要插入 fence 微码。OISA\supercite{oisa} 在指令系统的定义中即包 含了 DIFT 技术,用于追踪一个数据是否为秘密数据。 -本文使用 DIFT 检测 Spectre 组件中泄露数据的 load 指令。 - -%TODO +本文使用 DIFT 检测 Spectre 组件中泄露数据的 load 指令。详细设计如下: + +\begin{itemize} +\item 为每个物理寄存器添加一位标记,表示这个寄存器的数据是否来自于推测 + 式执行中从内存读取的数据 +\item 如果在推测式执行中,一条指令从内存中读取了数据,则设置这条指令的 + 目的寄存器的标志为1 +\item 对于非访存指令,如果存在标记为1的源寄存器,则设置这条指令的目的 + 寄存器标志为1,否则设置标志为0 +\item 当一条指令之前所有分支指令执行完成,确认推测式执行正确后,设置这 + 条指令的目的寄存器标志为0 +\item 在推测式执行的过程中执行 load 指令时,如果存在标记为1的源寄存器, + 则这条指令为不安全的 load +\end{itemize} \section{InvisiSpec的详细设计} |