SWAPGS (Spectre バリアント 1とも呼ばれる)は、最新のマイクロプロセッサで使用されている分岐予測を利用するコンピュータ セキュリティの脆弱性です。[ 1 ] [ 2 ] [ 3 ]最新のプロセッサのほとんどは、投機的実行の一種を使用しており、プロセッサはタスクが必要かどうかを知る前にタスクの処理を開始します。タスクが必要なかったと判断された場合でも、この投機によってキャッシュに痕跡が残る可能性があります。攻撃者は、Spectreのサイドチャネル攻撃と同様に、タイミング攻撃を使用してこれらの痕跡を抽出できます。[ 4 ]
SWAPGSは、オペレーティングシステムの特権キャッシュメモリにアクセスするために同様のサイドチャネル脆弱性を使用したSpectre-V1脆弱性と密接に関連しています。この脆弱性はBitdefenderのAndrei Vlad Lutasによって発見され、Intelに報告されました。Intelは業界パートナーと連携して、ソフトウェアレベルでこの問題に対処しました。 [ 6 ] SWAPGSの最初のパッチは、Microsoft Patch Tuesdayの一環として2019年7月9日にリリースされました。しかし、脆弱性に関する詳細は2019年8月6日まで公開されませんでした。[ 7 ]
SWAPGS自体は、 GSBaseレジスタをMSRに格納されている値と入れ替える命令です。これは通常、カーネルデータを格納するために使用されます。
SWAPGSおよびWRGSBASE命令をサポートするIntel製プロセッサはすべて影響を受けます。これには、Intel Ivy Bridge CPUから最新のIntel製プロセッサまで、すべてのIntel製プロセッサが含まれます。
同社の製品セキュリティアップデートによると、AMDプロセッサを搭載したデバイスは影響を受けない。[ 8 ]
AMDは、特権カーネルデータへのアクセスを可能にする可能性のある新たな投機的実行攻撃に関する新たな研究結果を認識しています。外部および内部分析に基づき、AMD製品は投機的SWAPGS後の新しいGS値に基づいて投機を行わないように設計されているため、SWAPGS亜種攻撃に対して脆弱ではないと考えています。SWAPGS亜種ではない攻撃については、Spectre亜種1に対する既存の推奨事項を実装することで対策を講じます。
— AMD製品セキュリティ
Windowsオペレーティングシステム搭載デバイスの場合、Microsoftのセキュリティアドバイザリには、脆弱性を修正する2019年7月にリリースされたパッチが記載されています。[ 9 ]
Linux ディストリビューションの場合、適用する必要のある SWAPGS 固有のパッチがあるかどうかを確認することをお勧めします。カーネルのドキュメントには、攻撃の性質とカーネル内の緩和策が記載されています。[ 10 ]
Bitdefenderは、最初のレポートでAppleデバイスが危険にさらされる可能性は低いと述べています。[ 11 ]