【发布时间】:2015-03-22 18:40:12
【问题描述】:
我最近正在研究使用Intel Software Guard Extensions (SGX) 设施进行编程。 SGX 的想法是创建一个飞地,在其中加载和执行安全敏感代码。最重要的是,对该飞地的内存访问(以及许多其他限制)是由硬件强制执行的。
在其manual 中,我发现syscall 指令在飞地内是非法的(参见表3-1),以及许多其他指令可能会更改特权级别。我想知道这意味着什么。由于像open、socket 这样的内核服务最终会引发系统调用,这是否意味着禁止syscall 指令实际上会禁止enclave 内的代码来自任何内核服务,如文件和套接字?这对我来说听起来很不可信,因为这样一来,飞地可以做的事情将受到严重限制。所以我认为要么我误解了,要么有一些解决方法。
【问题讨论】:
标签: kernel intel system-calls