2016-08-18 6 views
1

リング3で実行されるSGXエンクレーブを収集します。カーネルのデータ構造とファイルにアクセスするSGXエンクレーブ内のプログラムを実行したいと思います。私はこれを達成するための方法はありますか?インテルSGXエンクレーブはリング0で動作できますか?

つまり、sudoをroot権限で使用してSGXエンクレーブを実行できますか?

+0

ルートはring0と同じではありません。ユーザー空間のルートプロセスは、 '/ dev/mem'とそのようなものを通してのみカーネルメモリにアクセスすることができ、特権命令を実行することはできません。 –

答えて

1

SGXエンクレーブは現在、リング3コードの実行のみを許可しています。 Intel 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 –

関連する問題