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

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


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

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

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

阅读 2.8k
1 个回答

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进