SGX内存访问控制和Enclave虚拟内存视图

SGX内存访问控制

下图是Foreshadow Slide里面的图,EPCM是EPC内存访问控制的其中一环,EPC访问控制(广义上如此。狭义上的EPC访问控制应该就只是单纯的EPCM所作的访问控制了)还包含了页表访问控制、PRM的访问控制等。

这张图说明了,首先查走页表,如果走页表出问题,那么就#PF。

然后检查如果不是Enclave模式,那么就不允许访问PRM(PRM是系统软件也无权访问的地方,Abort Page)。

如果是Enclave模式使用了非ELRANGE的内存,那么确保物理地址不在PRM中,不然无权访问(Abort Page)。

如果是Enclave模式,并且VA在ELRANGE中,那么就要求PA在EPC中,不然就#PF。如果PA在EPC中,就需要和EPCM之前记录在册的VA-PA等信息进行匹配,匹配了才放行。

所以EPC的访问控制包含了页表访问控制、PRM访问控制、EPCM访问控制这三大类。

多了一层虚拟机的内存访问控制如下图所示(来自于Foreshadow NG,多了一层EPT,即虚拟机所用到的GPA->HPA的Extended Page Table),下图中相较于上图部分细节省略了。

下图是AsyncShock中画的图,比上面两张图简略。

Enclave虚拟内存视图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值