一个关于进程隔离的小问题


IA-32架构的CPU在32位保护模式下使用 [选择子:偏移] 来得到线性地址,那么如果已知存在一个低权限的GDT表项,那是否意味着应用程序可以通过 [该GDT表项对应的选择子:偏移] 来对该段进行读写操作呢?还是有相应的机制来避免无关应用程序对其的访问?


比如恶意的破坏,在用户程序通过汇编执行指令


 mov ax,8
mov es,ax
mov [es:0],ebx

如果GDT的第一项刚好是个可写的数据段,那不是被破坏了?会出现这样的情况么?

操作系统 进程

Anaying 9 years, 4 months ago

GDT表项不是有尺寸限制么?除非你把它填错了,否则不会出现你说的现象。

chen6j answered 9 years, 4 months ago

Your Answer