(インテル® Software Guard Extensions) アプリケーションで呼び出しインテル® SGXを防止し、セキュリティーの脆弱性を軽減します。
入れ子になった ecalls が有害である理由に関するドキュメントが見当たできません。入 れ子になった呼び 出しとは、1 人がオコールを呼び出し、オコールが ecall を呼び出す場合です。
開発者ガイド インテル® Software Guard Extensions (インテル® SGX) では、次の説明を行います。
OCall が作成される際に、ネストされた ECalls のドアが開くことに注意してください。攻撃者が飛び込み環境の外に出た場合、脆弱性を見つけようとした攻撃者が、ECall として公開されている ISV インターフェイスの機能を変更して、特別にエンクラスブに呼び出す可能性があります。OCall が必要な場合は、ネストされた ECalls を使用できない表面攻撃ブロック ISV インターフェイス機能を削減することができます。たとえば、エンclave内に状態情報 (進行中の OCall に対応する) を格納することができます。しかし、エンclave は OCall 中に特定の順序で生じるネストされた ECalls に依存することはできません。当初、ネストされた ECalls (OCall 中の ECalls) はエンclave内に予約されているスタックの量によってのみ制限され、許可されます。しかし、ISV はそのような構築物がエンclave上のセキュリティー分析を複雑に行う点に注意する必要があります。ネストされた ECalls が必要な場合、エンclave 書き込みプログラムは別の方法でアプリケーションのパーティションを作成する必要があります。ネストされた ECalls を回避できない場合、エンclave 書き込みプログラムは、厳密に必要なものにのみ、大きな上限で呼び出される ISV インターフェイス機能を制限する必要があります。