1

是否可以编写一个linux内核模块并在模块中创建一个飞地。以及如何做到这一点。

4

2 回答 2

2

不,所有飞地操作(由飞地而不是由创建飞地的内核执行的操作)都必须在用户模式下执行。如果在内核模式下执行,它们将失败。

然而,在一篇科学论文中,他们使用了一个内核模块,该模块通过 Netlink 连接与用户空间 SGX 飞地进行通信。

于 2017-04-01T15:33:08.700 回答
0

我还没有尝试过,但我看不出内核模块无法加载飞地的原因。无论如何,加载和初始化飞地的所有“实际工作”都是由系统软件完成的。您甚至应该能够调用英特尔提供的 PSW 来为您完成工作,就像用户应用程序所做的那样。

然而,加载到 enclave 中的代码必须处于用户模式。

于 2017-03-28T00:46:50.137 回答