リング3で実行されるSGXエンクレーブを収集します。カーネルのデータ構造とファイルにアクセスするSGXエンクレーブ内のプログラムを実行したいと思います。私はこれを達成するための方法はありますか?インテルSGXエンクレーブはリング0で動作できますか?
つまり、sudoをroot権限で使用してSGXエンクレーブを実行できますか?
リング3で実行されるSGXエンクレーブを収集します。カーネルのデータ構造とファイルにアクセスするSGXエンクレーブ内のプログラムを実行したいと思います。私はこれを達成するための方法はありますか?インテルSGXエンクレーブはリング0で動作できますか?
つまり、sudoをroot権限で使用してSGXエンクレーブを実行できますか?
SGXエンクレーブは現在、リング3コードの実行のみを許可しています。 Intel SGXエンクレーブはリング3のみで動作し、カーネルモードは動作しません。 インテルSGXの目的は、リング3自体のアプリケーションを保護します。
ありがとうございました。 –
カーネルデータ構造にアクセスする方法は、おそらくOCALLを使用します。 エンクレーブ内でOCALLを呼び出し、信頼できないコード/ホスト・アプリケーションがシステム・コール関数を呼び出して、必要なデータをフェッチすることができます。
ありがとうございます。 OCALLって何ですか? –
@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 –
ルートはring0と同じではありません。ユーザー空間のルートプロセスは、 '/ dev/mem'とそのようなものを通してのみカーネルメモリにアクセスすることができ、特権命令を実行することはできません。 –