summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIru Cai <mytbk920423@gmail.com>2019-05-30 12:59:34 +0800
committerIru Cai <mytbk920423@gmail.com>2019-05-30 13:03:00 +0800
commitca4d6122f2f9183465e3b86d2c2ed294a40492d0 (patch)
tree7f9dc04124759dde3afd096b9f2a39b491cf561f
parentf5cb4f63528735b4e2306c3742fdc961d4057a2e (diff)
downloaddissertation-ca4d6122f2f9183465e3b86d2c2ed294a40492d0.tar.xz
rearrange paragraphs
-rw-r--r--chap/chap2.tex35
1 files changed, 15 insertions, 20 deletions
diff --git a/chap/chap2.tex b/chap/chap2.tex
index bcdd020..29a357b 100644
--- a/chap/chap2.tex
+++ b/chap/chap2.tex
@@ -63,9 +63,21 @@ Meltdown 型攻击利用的是处理器异常产生的暂态指令,这些指
其他程序或内核空间的内存区域。现代计算环境利用这种隔离,使得系统上可
以同时运行多个应用程序,和多个用户的进程。
-在现代处理器中,内核和用户进程之间的隔离,通常由处理器定义的一个权限位
-实现,它定义了内核的页是否可以被访问。这一位只能在进入内核态时设置,并
-在切换到用户态时清除。这个硬件特性使得操作系统可以将内核映射到每个进程
+为了将不同的进程相互隔离,处理器为操作系统提供了虚拟地址空间机制,它将
+虚拟地址翻译为物理地址。虚拟地址空间将内存划分为一系列的页,系统通过多
+级页表将虚拟页翻译为物理页。页表是一个多级的结构,存放虚拟页到物理页的
+映射,同时,它还保存了每个页的保护属性,用于处理器进行权限检查,例如可
+读、可写、可执行、用户可读等。操作系统中每一个运行中的进程有一个对应的
+页表,页表所在的位置存放在处理器的一个特定的寄存器中,在上下文切换时,
+操作系统更新这个寄存器,切换至处理器上的新进程可以使用这个进程对应的页
+表。利用这个机制,每个进程的虚拟地址空间映射到不同的物理内存区域,每个
+进程只能使用自己地址空间中的数据,从而达到进程间隔离的效果。
+
+每个地址空间都可以分为用户地址空间和内核地址空间。正在运行的进程可以访
+问用户地址空间,而内核地址空间只有进入内核态后可以访问,操作系统通过在
+页表中设置内核地址空间的页为用户不可访问,来实现这个特性。内核地址空间
+除了包含内核所要使用的数据外,通常还保存了整个物理内存的映射、文件缓存
+等内容。用户和内核地址空间的隔离,使得操作系统可以将内核映射到每个进程
的地址空间,在中断等事件发生时,可以在不改变内存地址映射的条件下,高效
地从用户进程切换至内核。
@@ -91,23 +103,6 @@ Intel 处理器,也可能可用于其他厂商的处理器。
击者在隐蔽信道的接收端,找出这个临时寄存器的值。因此,在微体系结构层次,
即实际的硬件实现中,存在可利用的安全性问题。
-% background: address spaces
-为了将不同的进程相互隔离,处理器为操作系统提供了虚拟地址空间机制,它将
-虚拟地址翻译为物理地址。虚拟地址空间将内存划分为一系列的页,系统通过多
-级页表将虚拟页翻译为物理页。页表是一个多级的结构,存放虚拟页到物理页的
-映射,同时,它还保存了每个页的保护属性,用于处理器进行权限检查,例如可
-读、可写、可执行、用户可读等。操作系统中每一个运行中的进程有一个对应的
-页表,页表所在的位置存放在处理器的一个特定的寄存器中,在上下文切换时,
-操作系统更新这个寄存器,切换至处理器上的新进程可以使用这个进程对应的页
-表。利用这个机制,每个进程的虚拟地址空间映射到不同的物理内存区域,每个
-进程只能使用自己地址空间中的数据,从而达到进程间隔离的效果。
-
-每个地址空间都可以分为用户地址空间和内核地址空间。正在运行的进程可以访
-问用户地址空间,而内核地址空间只有进入内核态后可以访问,操作系统通过在
-页表中设置内核地址空间的页为用户不可访问,来实现这个特性。内核地址空间
-除了包含内核所要使用的数据外,通常还保存了整个物理内存的映射、文件缓存
-等内容。
-
操作系统将内核地址空间映射至每个用户进程的地址空间中。处理器执行访存指
令时,在将虚拟地址翻译为物理地址的时候,检查地址对应的权限位,判断用户
空间的指令是否可访问该地址。在 Meltdown 攻击中,攻击者让处理器从用户不