Intel Software Guard Extensions ( SGX ) は、一部のIntel中央処理装置(CPU)に組み込まれている、信頼できる実行環境を実装する命令コードのセットです。SGX を使用すると、ユーザーレベルおよびオペレーティング システムコードで、エンクレーブと呼ばれる保護されたプライベート メモリ領域を定義できます。[1] [2] SGX は、安全なリモート コンピューティング、安全なWeb ブラウジング、デジタル著作権管理(DRM)の実装に役立つように設計されています。[3]その他の用途には、独自のアルゴリズムや暗号化キーの隠蔽が含まれます。[4]
SGXは、CPUによるメモリの一部(エンクレーブ)の暗号化を伴う。エンクレーブで生成されたデータとコードはCPU内で即座に復号化され、 [4]他のコードによる検査や読み取りから保護される。[4]これには、オペレーティングシステムや基盤となるハイパーバイザーなどのより高い権限レベルで実行されるコードが含まれる。[1] [4] [2]これにより多くの種類の攻撃を軽減できるが、サイドチャネル攻撃からは保護されない。[5]
2021年のIntelの方針転換により、第11世代および第12世代Intel CoreプロセッサーからSGXが廃止されましたが、クラウドおよびエンタープライズでの使用に向けたIntel Xeonの開発は継続されています。[6] [7]
詳細
SGX は、 Skylakeマイクロアーキテクチャに基づく第 6 世代Intel Coreマイクロプロセッサとともに 2015 年に初めて導入されました。
CPUにおけるSGXのサポートはCPUID「構造化拡張機能リーフ」EBXビット02で示されるが[8] 、アプリケーションでSGXを利用するにはBIOS / UEFIのサポートとオプトインの有効化が必要であり、CPUIDビットには反映されない。これによりアプリケーションの機能検出ロジックが複雑になる。[9]
SGXのエミュレーションは、2014年にQEMUシステムエミュレータの実験バージョンに追加されました。[10] 2015年にジョージア工科大学の研究者は「OpenSGX」というオープンソースシミュレータをリリースしました。[11]
セキュリティ分野でSGXが使用されている例としては、暗号化アルゴリズムにSGXを使用しているwolfSSL [12]のデモアプリケーションが挙げられます。
Intel Goldmont Plus(Gemini Lake)マイクロアーキテクチャにはIntel SGXのサポートも含まれています。[13]
第11世代および第12世代のIntel Coreプロセッサでは、SGXは「非推奨」としてリストされており、「クライアントプラットフォーム」プロセッサではサポートされていません。 [6] [14] [15]これにより、 PowerDVDなどの正式にライセンスされたソフトウェアでUltra HD Blu-rayディスクを再生するサポートが削除されました。[16] [17] [18]
SGX の脆弱性のリスト
プライム+プローブ攻撃
2017年3月27日、オーストリアのグラーツ工科大学の研究者らは、キャッシュDRAMサイドチャネルを悪用するために、きめ細かいタイマーの代わりに特定のCPU命令を使用することで、同じシステム上で実行されているSGXエンクレーブから5分以内にRSAキーを 取得できる概念実証を開発しました。[19] [20]この種の攻撃に対する1つの対策は、2017年のUSENIXセキュリティシンポジウム でDaniel Grussらによって発表され、公開されました。[21]公開されている他の対策の中で、この種の攻撃に対する1つの対策は、2017年9月28日に公開されたコンパイラベースのツールDR.SGXです。[22]これは、他の提案されたソリューションの実装の複雑さを排除し、優れたパフォーマンスを発揮すると主張しています。
スペクターのような攻撃
インペリアル・カレッジ・ロンドンのLSDSグループは、スペクター投機的実行セキュリティ脆弱性をセキュアエンクレーブ攻撃に応用できるという概念実証を示した。[23] 2018年8月に公開された フォアシャドウ攻撃は、投機的実行とバッファオーバーフローを組み合わせてSGXをバイパスする。[24]この攻撃に対するセキュリティアドバイザリと緩和策はL1ターミナルフォールトとも呼ばれ、2018年8月14日に最初に発行され、2021年5月11日に更新された。[25]
エンクレーブ攻撃
2019年2月8日、オーストリアのグラーツ工科大学の研究者らは、場合によってはエンクレーブ自体から悪意のあるコードを実行できることを示す調査結果を発表しました。[26]このエクスプロイトでは、プロセスメモリをスキャンしてペイロードを再構築し、システム上でコードを実行できます。論文では、エンクレーブの機密性と保護性のため、ウイルス対策ソフトウェアがエンクレーブ内に存在するマルウェアを検出して削除することは不可能であると主張しています。インテルは声明を発表し、この攻撃はSGXの脅威モデルの範囲外であり、ユーザーが実行するコードが信頼できるソースからのものであることを保証できないと述べ、消費者は信頼できるコードのみを実行するよう促しました。[27]
MicroScope リプレイ攻撃
現代のコンピュータアーキテクチャを悩ませているサイドチャネル攻撃が急増しています。これらの攻撃の多くは、コード実行におけるわずかで非決定的な変動を測定するため、攻撃者は秘密を知るために多くの測定(おそらく数万)を必要とします。しかし、MicroScope攻撃では、悪意のあるOSがプログラムの実際の構造に関係なく任意の回数コードを再生できるため、数十のサイドチャネル攻撃が可能になります。[28] 2022年7月、IntelはAEX-Notifyと呼ばれるLinuxパッチを提出し、SGXエンクレーブプログラマがこれらのタイプのイベントのハンドラーを記述できるようにしました。[29]
プランダーボルト
セキュリティ研究者は、エンクレーブ内の実行にタイミング固有の障害を注入することができ、その結果、情報が漏洩しました。この攻撃はリモートで実行できますが、プロセッサの電圧と周波数の特権制御にアクセスする必要があります。[30]この攻撃に対するセキュリティアドバイザリと緩和策は、2018年8月14日に最初に発行され、2020年3月20日に更新されました。[31]
56年
ロードバリューインジェクション[32] [33]は、メモリからロードされた値を置き換えることを目的としてプログラムにデータを挿入し、そのデータを短時間使用してから間違いを発見してロールバックし、その間にLVIがデータと制御フローを制御します。この攻撃に対するセキュリティアドバイザリと緩和策は、2020年3月10日に最初に発行され、2021年5月11日に更新されました。[34]
SGAxe
SGAxe [35]は、 2020年に公開されたSGXの脆弱性であり、キャッシュに対する投機的実行攻撃を拡張し、 [36]エンクレーブの内容を漏洩します。これにより、攻撃者はリモート認証に使用される秘密CPUキーにアクセスできます。[37]言い換えれば、脅威アクターはIntelの対策を回避してSGXエンクレーブの機密性を侵害できます。SGAxe攻撃は、Intelによって署名されたSGXの秘密引用エンクレーブから認証キーを抽出することによって実行されます。その後、攻撃者は任意のSGX認証引用に署名することで、正当なIntelマシンになりすますことができます。[38]この攻撃に対するセキュリティアドバイザリと緩和策は、プロセッサデータ漏洩またはキャッシュエビクションとも呼ばれ、2020年1月27日に最初に発行され、2021年5月11日に更新されました。[39]
ÆPIC リーク
2022年、セキュリティ研究者は、Advanced Programmable Interrupt Controller(APIC)の脆弱性を発見しました。この脆弱性により、ルート/管理者権限を持つ攻撃者は、L1およびL2キャッシュからのデータ転送を検査することで、APICを介して暗号化キーにアクセスできます。[40]この脆弱性は、 x86 CPUで発見された最初のアーキテクチャ攻撃です。これは、ノイズサイドチャネルを使用するSpectreやMeltdownとは異なります。このエクスプロイトは現在、Intel Core第10、11、12世代、およびXeon Ice Lakeマイクロプロセッサに影響を与えています。[41] [42]
秘密鍵の抽出
コード署名は、エンクレーブ内にのみ存在する秘密鍵で生成されます。秘密鍵は、チップ上の「ヒューズ」要素を介してエンコードされます。このプロセスでは、ビットが焼き尽くされ、バイナリ値 0 になります。この秘密鍵はハードウェアにエンコードされているため、抽出できません。Mark Ermolov、Maxim Goryachy、Dmitry Sklyarov は、https://github.com/chip-red-pill/glm-ucode# で、SGX コンセプトの信頼性の主張に反論しました。
SGXマルウェアの議論
SGXが優れたマルウェアの作成を可能にするかどうかについては、長い間議論されてきました。オックスフォード大学の研究者は、2022年10月に、SGXをマルウェア開発に悪用することによる攻撃者の潜在的な利点と欠点を検討した記事を発表しました[43]。研究者は、SGXエコシステムには悪用される一時的なゼロデイ脆弱性があるかもしれないが、信頼できる実行環境(TEE)のコア原則と設計機能により、マルウェアは野生のマルウェアよりも弱くなり、TEEはマルウェアにそれ以外の大きな貢献をしないと結論付けています。
参照
参考文献
- ^ ab "Intel SGX for Dummies (Intel SGX 設計目標)"。intel.com。2013年 9 月 26 日。
- ^ ab johnm (2017-08-08). 「アプリケーションで Intel® Software Guard Extensions (Intel® SGX) を適切に検出する」. software.intel.com . 2019-02-15に閲覧。
- ^ 「Intel SGX の詳細」。intel.com . 2017-07-05。
- ^ abcd 「研究者が Intel SGX を使用してマルウェアをウイルス対策ソフトウェアの届かないところへ追い込む - Slashdot」。it.slashdot.org。2019 年 2 月 12 日。
- ^ 「Intel SGX とサイドチャネル」。intel.com . 2020-02-28。
- ^ ab 「新しい Intel チップは SGX の廃止により Blu-ray ディスクを再生できない」 。2022年 1 月 17 日閲覧。
- ^ anrilr (2022-01-20). 「課題に立ち向かう — Intel Confidential Computing によるデータ セキュリティ」. community.intel.com . 2022-04-20に閲覧。
- ^ Intel アーキテクチャ命令セット拡張プログラミング リファレンス、Intel、2015 年 8 月、36 ページ「構造化拡張機能リーフ EAX=07h、EBX ビット 02: SGX」
- ^ 「アプリケーションで Intel ソフトウェア ガード拡張機能を適切に検出する」intel.com . 2016 年 5 月 13 日。
- ^ 「QEMU を使用した Intel SGX エミュレーション」(PDF) tc.gtisc.gatech.edu . 2018 年 11 月 2 日閲覧。
- ^ "sslab-gatech/opensgx". GitHub . 2016年8月15日閲覧。
- ^ 「wolfSSL At IDF」. wolfssl . 2016-08-11.
- ^ 「Intel® Pentium® Silver J5005 プロセッサー」 。2020年 7 月 10 日閲覧。
- ^ 「第11世代Intel Coreプロセッサーのデータシート」。2022年1月15日閲覧。
- ^ 「第12世代Intel Coreプロセッサーのデータシート」。2022年1月15日閲覧。
- ^ Mary Stone (2022年1月21日). 「Intel、最新PCチップでUHD Blu-rayディスクのサポートを中止」. whathifi .
- ^ 「CyberLink サポート センター」。
- ^ 「CyberLink サポートセンター」www.cyberlink.com 。2024年9 月 11 日閲覧。
- ^ Chirgwin, Richard (2017年3月7日). 「科学者らがIntelのSGXが暗号鍵を漏洩する可能性があることを実証」 The Register . 2017年5月1日閲覧。
- ^ Schwarz, Michael; Weiser, Samuel; Gruss, Daniel; Maurice, Clémentine; Mangard, Stefan (2017). 「マルウェアガード拡張機能: SGX を使用してキャッシュ攻撃を隠蔽する」. arXiv : 1702.08719 [cs.CR].
- ^ 「ハードウェア トランザクション メモリを使用した強力で効率的なキャッシュ サイドチャネル保護」(PDF)。USENIX 。2017年 8 月 16 日。
- ^ Brasser, Ferdinand; Capkun, Srdjan; Dmitrienko, Alexandra; Frassetto, Tommaso; Kostiainen, Kari; Müller, Urs; Sadeghi, Ahmad-Reza (2017-09-28). DR.SGX: データ位置のランダム化によるキャッシュ攻撃に対する SGX エンクレーブの強化. ACSAC '19: 2019年 12 月開催の第 35 回年次コンピューター セキュリティ アプリケーション カンファレンスの議事録。pp. 788–800。arXiv : 1709.09917。doi : 10.1145 /3359789.3359809。S2CID 19364841 。
- ^ Intel SGXエンクレーブに対するSpectreのような攻撃を示すサンプルコード。2021年12月19日
- ^ Peter Bright - 2018年7月10日午後9時UTC (2018-07-10)。「新しいSpectreのような攻撃は投機的実行を使用してバッファをオーバーフローさせる」。Ars Technica 。2018年11月2日閲覧。
{{cite web}}: CS1 maint: 数値名: 著者リスト (リンク) - ^ 「CVE - CVE-2018-3615」。cve.mitre.org 。 2022年10月17日閲覧。
- ^ Schwarz, Michael; Weiser, Samuel; Gruss, Daniel (2019-02-08). 「Intel SGX を使用した実用的な Enclave マルウェア」. arXiv : 1902.03256 [cs.CR].
- ^ Bright, Peter (2019-02-12). 「研究者はIntel SGXを使用してマルウェアをウイルス対策ソフトウェアの手の届かないところに置く」Ars Technica 。2019年2月15日閲覧。
- ^ Skarlatos, Dimitrios; Yan, Mengjia; Gopireddy, Bhargava; Sprabery, Read; Torrellas, Josep; Fletcher, Christopher W. (2019). 「MicroScope」。第46回国際コンピュータアーキテクチャシンポジウム議事録。Isca '19。アリゾナ州フェニックス:ACM Press。pp. 318–331。doi :10.1145 /3307650.3322228。ISBN 978-1-4503-6669-4。
- ^ 「[PATCH] x86/sgx: エンクレーブが非同期終了通知を使用できるようにする」lore.kernel.org . 2022年10月17日閲覧。
- ^ 「Plundervolt が暗号化アルゴリズムからキーを盗む」Rambus ブログ2019 年 12 月 11 日2020 年 3 月 20 日閲覧。
- ^ 「CVE - CVE-2019-11157」。cve.mitre.org 。 2022年10月17日閲覧。
- ^ 「LVI: Load Value Injection による一時的な実行のハイジャック」lviattack.eu . 2020 年 3 月 12 日閲覧。
- ^ 「Load Value Injection」。software.intel.com 。 2020年3月12日閲覧。
- ^ 「CVE - CVE-2020-0551」。cve.mitre.org 。 2022年10月17日閲覧。
- ^ 「SGAxe」. sgaxe.com .
- ^ 「CacheOut」. cacheoutattack.com .
- ^ 「Intel SGX における拡張プライバシー ID (EPID) ベースのリモート認証の正式化に向けて」。
- ^ 「SGAxe と CrossTalk 攻撃: Intel SGX の新たな脆弱性によりデータが漏洩」。ハッキングレポート。2020 年 6 月 12 日。2020年 6 月 12 日閲覧。
- ^ 「CVE - CVE-2020-0549」。cve.mitre.org 。 2022年10月17日閲覧。
- ^ 「Intel SGX: 結局のところ、ÆPIC のリークはそれほど安全ではない」The New Stack 2022-08-16 2022-08-29閲覧。
- ^ Wilson, Jason R. (2022-08-11). 「ÆPIC リークは、第 10 世代、第 11 世代、および第 12 世代 Intel Core CPU に影響を与えるアーキテクチャ CPU バグです」。Wccftech。2022年8 月 29 日閲覧。
- ^ 「ÆPIC Leak」. aepicleak.com . 2022年8月29日閲覧。
- ^ Küçük, Kubilay Ahmet; et, al. (2022年10月). 「SoK: 次世代TEEマルウェアを設計しない方法」. セキュリティとプライバシーのためのハードウェアおよびアーキテクチャサポート (HASP) 2022 . 2023年4月17日閲覧。
外部リンク
- インテル ソフトウェア ガード エクステンション (インテル SGX) / ISA エクステンション、インテル
- Intel Software Guard Extensions (Intel SGX) プログラミング リファレンス、Intel、2014 年 10 月
- IDF 2015 - 技術チャット: Intel ソフトウェア ガード拡張機能の入門、Intel (ポスター)
- ISCA 2015 の Intel SGX チュートリアル スライド、Intel、2015 年 6 月
- McKeen, Frank 他 (Intel)、「分離実行のための革新的な命令とソフトウェア モデル」// セキュリティとプライバシーのためのハードウェアおよびアーキテクチャ サポートに関する第 2 回国際ワークショップの議事録。ACM、2013 年。
- ジャクソン、アロン(博士論文)。信頼は見る人の鍵の中にある:SGX の自律性と匿名性の拡張、2017 年 5 月。
- Joanna Rutkowska、Intel の今後のソフトウェア ガード拡張機能に関する考察 (パート 1)、2013 年 8 月
- SGX: 良い点、悪い点、そしてまったくひどい点 / ショーン・ダベンポート、リチャード・フォード (フロリダ工科大学) / ウイルス速報、2014-01-07
- Victor Costan と Srinivas Devadas、「Intel SGX Explained」、2016 年 1 月。
- wolfSSL、2016年10月。
- キー保護とデータプライバシーアプリケーションのための Intel SGX のセキュリティ / Yehuda Lindell 教授 (Bar Ilan University & Unbound Tech)、2018 年 1 月
- Intel SGX テクノロジーとプロセッサ サイドチャネル攻撃の影響、2020 年 3 月
- 機密コンピューティングがパーソナライズされたショッピング体験を実現する方法、2021 年 1 月
- プライバシーを保護しながらデータの可能性を実現する、EyA と Conclave による R3、2021 年 12 月
- Intel ソフトウェア ガード拡張機能の紹介、2020 年 6 月
