+ -
当前位置:首页 → 问答吧 → 【虎彡】RPL的疑问!!

【虎彡】RPL的疑问!!

时间:2011-02-15

来源:互联网

DPL >= max {CPL, RPL}

请问:RPL有啥意义?高权限访问不了 低的CPL就能访问。要他何用?

作者: znxllyuan   发布时间: 2011-02-15

RPL是请求者的特权级,目的是避免低特权利用高特权代码存取高特权段

比如应用程序请求操作系统内核读取某个数据段,把段选择子作为参数给内核代码,内核代码就可以把段选择子的RPL设置成应用程序的CPL,这样就可以以应用程序的权限访问数据段,避免被坏程序利用

作者: Lactoferrin   发布时间: 2011-02-15

例如级别2的代码访问不了级别1的数据,但级别0的有一段公用代码可以访问,这时候级别2的代码就调用级别0的代码请它帮忙访问级别1的数据,这样就间接绕过的权限控制,有了RPL之后级别0的程序会同时接收调用这级别,以上面例子来说就是会把RPL设置成2然后访问级别1的数据,这时候虽然CPL是0但由于RPL是2仍然不能访问级别1的数据。

作者: manfeng   发布时间: 2011-02-15

引用 2 楼 manfeng 的回复:
例如级别2的代码访问不了级别1的数据,但级别0的有一段公用代码可以访问,这时候级别2的代码就调用级别0的代码请它帮忙访问级别1的数据,这样就间接绕过的权限控制,有了RPL之后级别0的程序会同时接收调用这级别,以上面例子来说就是会把RPL设置成2然后访问级别1的数据,这时候虽然CPL是0但由于RPL是2仍然不能访问级别1的数据。

你这个例子我没看懂

作者: znxllyuan   发布时间: 2011-02-15

引用 2 楼 manfeng 的回复:
例如级别2的代码访问不了级别1的数据,但级别0的有一段公用代码可以访问,这时候级别2的代码就调用级别0的代码请它帮忙访问级别1的数据,这样就间接绕过的权限控制,有了RPL之后级别0的程序会同时接收调用这级别,以上面例子来说就是会把RPL设置成2然后访问级别1的数据,这时候虽然CPL是0但由于RPL是2仍然不能访问级别1的数据。

会把RPL设置成2然后访问级别1的数据,这时候虽然CPL是0但由于RPL是2仍然不能访问级别1的数据。
那不能访问那不是帮补上忙了???

作者: znxllyuan   发布时间: 2011-02-15