2016-08-18 55 views
1

我收集到SGX飛地在第3環運行。我想在SGX飛域內運行一個程序,它將要訪問內核數據結構和文件。有什麼辦法可以做到這一點?英特爾SGX飛地可以在ring 0運行嗎?

換句話說,我們可以用root權限使用sudo來運行SGX enclaves嗎?

+0

根與ring0不同。用戶空間根進程只能通過'/ dev/mem'和類似的東西訪問內核內存,並且不能運行特權指令。 –

回答

1

SGX Enclaves目前僅允許執行Ring 3代碼。 英特爾SGX飛地只運行在環3,沒有內核模式。英特爾SGX目標是確保環3本身的應用安全。

+0

謝謝你的回答。 –

0

希望通過OCALL訪問內核數據結構的方式。 您可以在區域內調用OCALL,並讓不受信任的代碼/主機應用程序調用某些系統調用函數來獲取所需的數據。

+0

謝謝你的建議。你能否詳細說明OCALL是什麼? –

+0

@cout_display_name 這是使用SGX的基本概念。 OCALL是當飛地內的一個應用程序調用函數離開飛地時,並且可能返回一些信息。 ECALL是在飛地之外的主機應用程序調用飛地。 您可能需要閱讀英特爾SGX手冊,以便您更好地瞭解它們是什麼以及如何使用它。 https://download.01.org/intel-sgx/linux-1.5/docs/Intel_SGX_SDK_Developer_Reference_Linux_1.5_Open_Source_Beta.pdf –