SgxSpectreと呼ばれる最新のSpectre攻撃は、リスクのあるSGXエンクレーブに保存されている機密データを公開する可能性があります
Spectre-MeltdownCPUの欠陥[1] 2018年の初めに検出されたものは、Microsoft、Intel、およびその他の大手テクノロジー企業が予想していたよりも多くの課題をもたらします。 IntelやAMDチップから、Skylake、Kaby Lake、CoffeeLakeチップにまで拡張できただけではありません。 これにより、ハッカーは複数のマルウェア配布キャンペーンを開始できました[2] およびソフトウェアベースの攻撃。
2018年3月の初めに、オハイオ州立大学の6人のIT研究者のグループが、次のように吹き替えられたSpectre攻撃の新しい亜種を検出しました。 SgxSpectreは、機密性の高いものの分離を担当するIntelのSoftware Guard Extensions(SGX)エンクレーブのクラッキングに使用できます。 コンポーネント。 実際、オペレーティングシステムのコンポーネントはエンクレーブで保護されたデータと対話することが許可されていないため、これらのエンクレーブによって保護されているデータはおそらく最も機密性が高くなります。
キャロライン・トリッペルとダニエル・ルスティグ、プリンストン大学の研究者、マーガレット・マルトノシ Nvidiaから、そのような攻撃の可能性を予見し、科学的研究でシナリオの概要を説明しました と呼ばれる 「MeltdownPrimeとSpectrePrime:自動的に合成された攻撃を悪用します。 無効化ベースのコヒーレンスプロトコル。」[3] これらは、機密データが攻撃される可能性のある最新のMeltdownおよびSpectreの脆弱性です。
以前のMeltdownおよびSpectreの脆弱性は、SGXによって保護された機密データにアクセスできませんでした
IntelのSoftwareGuard Extensions(SGX)は比較的新しい機能であり、最新のIntelのプロセッサで利用できます。 これにより、非常に機密性の高いデータとコーディング情報を処理する、ソフトウェア保護用のいわゆるエンクレーブを作成できます。
SGXに対する以前のSpectreおよびMeltdown攻撃の後遺症は明らかではありませんでした。 それにもかかわらず、SGXエンクレーブの耐性は、最初から多くの疑問を投げかけました。 これらの脆弱性はどちらもSGX保護を破ることができる特性を示していないことが判明しましたが、ハッカーはエンクレーブ内のデータを標的にしているようです。 それがSgxSpectreが進化した理由です。
SgxSpectreの脆弱性研究者によると、[4] この脆弱性により、 「注入され、投機的に実行されたメモリ参照間の競合状態。これにより、サイドチャネルで監視可能なキャッシュトレースが発生し、ブランチ解決の遅延が発生します。」 現在、この脆弱性はIntel SGX、SDK、Rust-SGX、およびGraphene-SDXに影響を与える可能性があります。
ソフトウェアライブラリの特定のコードパターンが有効になっている場合、システムが影響を受ける可能性があります。 エンクレーブ内に保持されている情報を標的とする攻撃者は、投機的実行を採用し、キャッシュサイズの小さな変動を探すことでエンクレーブコードの予測を実行します。 研究者によって説明されたように、
分岐ターゲットを予測するためにエンクレーブモードで使用される分岐予測ユニットは、エンクレーブの入り口で完全にクレンジングされていません。 したがって、ターゲットエンクレーブの外側のコード(保護されていないメモリ領域または別のエンクレーブで実行されている)は、ターゲットエンクレーブ内の分岐予測のターゲットを操作できます。
Intelは脆弱性スキャンツールをリリースしました
ITの世界に巻き込まれていない人にとっては、全体の手順は難しいように思われるかもしれません。 一言で言えば、MeltdownとSpectreの脆弱性の助けを借りて、ハッカーはSDXコードパターンの弱点を悪用する方法を見つけました。 これらの脆弱性により、ハッカーはSDKランタイムライブラリを変更し、Intelの公式SGXSDKで開発されたシステムを攻撃することができます。
IntelとMicrosoftは、検出されたMeltdownとSpectreの脆弱性に即座に対応し、パッチのリリースを開始しました。 残念ながら、すべてが機能しているわけではないため、この脆弱性に関するニュースをフォローする必要があります。
間接分岐制限投機(IBRS)は、Intelが代表する修正の1つです。 それは、適応されたマイクロコードの提供でスペクターバリアントに対処します。 ただし、このパッチはSGXSDKの脆弱性を対象としていません。
SgxSpectreパッチのリリース日の締め切りは2018年3月16日です。 アプリ開発者は、IntelがSGXベースのアプリにリリースしようとしているものに古いSDKバージョンを変更する必要があります。
PCに脆弱なコードが含まれているかどうかを確認したい場合は、専門家が脆弱性スキャンツールを作成しました。[5] エンクレーブプログラムを検証し、コードパターンをチェックします。 SgxPectreのエクスプロイトが検出された場合、ユーザーは警告を受け、Intelが開発したツールキットとSGXアプリケーションプロバイダー向けの古いソフトウェア開発ツールキットをインストールするように促されます。