From 18219bdc08b178985a82060472510b916d7b0bc6 Mon Sep 17 00:00:00 2001 From: Iru Cai Date: Thu, 9 May 2019 11:50:11 +0800 Subject: upd --- chap/chap2.tex | 21 ++++++++++++++++++++- thesis.tex | 2 +- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/chap/chap2.tex b/chap/chap2.tex index 0dd4296..ae6ea92 100644 --- a/chap/chap2.tex +++ b/chap/chap2.tex @@ -15,6 +15,9 @@ Diffie-Hellman,RSA 等密码的私钥。\supercite{TimingAttack} 这是最早 \supercite{MOP2010}、电磁辐射\supercite{EMpower}、温度 \supercite{hutter}、噪声\supercite{acoustic}等。 +侧信道攻击的一个用途是用于构造隐蔽信道(covert channel)。隐蔽信道是指 +在系统安全策略定义之下,不被允许传输数据的双方,用于传输数据的信道。 + 现代计算机系统采用多种优化手段,优化可以作用于处理的数据的值、数据的位 置、数据存放位置的访问频率等,攻击者可以通过这些优化产生的效果,推断出 计算机系统处理的秘密数据的值。基于软件的微架构侧信道攻击 @@ -55,6 +58,22 @@ Meltdown 型攻击利用的是处理器异常产生的瞬时指令,这些指 \subsubsection{Meltdown} +为了将不同的进程相互隔离,处理器支持虚拟地址空间,它将虚拟地址翻译为物 +理地址。虚拟地址空间将内存划分为一系列的页,系统通过多级页表将虚拟页翻 +译为物理页。页表是一个多级的结构,存放虚拟页到物理页的映射,同时,它还 +保存了每个页的保护属性,用于处理器进行权限检查,例如可读、可写、可执行、 +用户可读等。操作系统中每一个运行中的进程有一个对应的页表,页表所在的位 +置存放在处理器中的一个特定寄存器中,在上下文切换时,操作系统会更新这个 +寄存器,从而切换到处理器的进程可以使用这个进程对应的页表。利用这个机制, +每个进程的虚拟地址空间映射到不同的物理区域,每个进程只能使用自己地址空 +间中的数据,从而达到进程间隔离的效果。 + +每个地址空间都可以分为用户地址空间和内核地址空间。正在运行的进程可以访 +问用户地址空间,而内核地址空间只有进入内核态后可以访问,操作系统通过在 +页表中设置内核地址空间的页为用户不可访问,来实现这个特性。内核地址空间 +除了包含内核所要使用的数据外,通常还保存了整个物理内存的映射、文件缓存 +等内容。 + 操作系统将内核地址空间映射至每个用户进程的地址空间中。处理器执行访存指 令时,在将虚拟地址翻译为物理地址的时候,检查地址对应的权限位,判断用户 是否可访问该地址。Meltdown攻击中,攻击者让处理器从用户不可访问的内核地 @@ -83,7 +102,7 @@ mov rbx, qword [rbx + rax] ; 访问探测数组 \subsubsection{Foreshadow} Foreshadow\supercite{foreshadow} 是一种可以读取 Intel SGX enclave 中秘 -密数据的Meltdown 型攻击。如果对 SGX 使用 Meltdown 攻击,攻击者读取未授 +密数据的 Meltdown 型攻击。如果对 SGX 使用 Meltdown 攻击,攻击者读取未授 权的 enclave 内存,不会产生异常,而是读出 abort page 值 -1. 但是 abort page 只在页权限检查通过后发生,攻击者可以将该页 present 位清除,即将该 页设为不存在,此时处理器便会产生异常,但由于一级缓存使用虚拟地址索引, diff --git a/thesis.tex b/thesis.tex index 5d58b50..01d36c2 100644 --- a/thesis.tex +++ b/thesis.tex @@ -34,7 +34,7 @@ % 设定文档的基本信息。 \pkuthssinfo{ cthesisname = {硕士研究生学位论文}, ethesisname = {Master Thesis}, - ctitle = {一种可抵抗推测式执行相关的侧信道攻击的微处理器的设计与实现}, etitle = {}, + ctitle = {针对推测式执行侧信道攻击的微处理器的优化设计}, etitle = {}, cauthor = {蔡思培}, eauthor = {Cai Sipei}, studentid = {1601214426}, -- cgit v1.2.3