Spectre 緩和策により一部の CPU マイクロアーキテクチャと特定のワークロードで相対的な速度低下が発生したことを受けて、Microsoft Windows エンジニアは、Spectre バリアント 2 (CVE-2017-5715) に対して Google の Retpoline 緩和策を実装すると発表しました。
Spectre V2 パッチ
Googleは、Spectreバグが公開される数ヶ月前から自社サーバーでRetpolineをテストしていました。同社のProject Zeroチームは、Spectreの存在を発見した研究者の一人だったからです。しかし、GoogleがRetpolineを公開したのは、Spectreバグが漏洩したわずか翌日でした。その時点で、数ヶ月前にSpectreバグの存在を知っていたMicrosoftとIntelは、既にSpectre V2を軽減する独自のパッチを開発していました。しかし、マイクロコードのアップデートは、マザーボードまたはラップトップのOEMから入手する必要がありました。
もう一つの問題は、MicrosoftのパッチがGoogleのRetpolineに比べてパフォーマンスに与える影響がはるかに大きいことです。そのため、Windows開発者はWindows 10にRetpoline緩和策を実装する作業を開始しました。
このパッチは、2019年前半に予定されている次のWindows 10メジャーアップデートまでWindows 10ユーザーには提供されません。さらに、MicrosoftはRetpolineパッチを、Windows 10の古いビルドを含む以前のバージョンのWindowsにバックポートする予定はありません。
レトポリンパッチは何をするのですか?
Spectre v2 は、CPU の投機的実行動作を利用して一部のコードから情報を漏洩させ、ホスト マシンへの攻撃に使用できる「ブランチ ターゲット インジェクション」の脆弱性です。
Googleによると、Retpoline「シーケンス」は、間接分岐を投機的実行から分離することを可能にするソフトウェア構造です。このソリューションは、オペレーティングシステムまたはハイパーバイザー実装の機密バイナリを、間接分岐に対する分岐ターゲットインジェクションから保護するために適用できます。
Retpolineという名前は、「return(リターン)」と「trampoline(トランポリン)」を組み合わせたものです。なぜトランポリンなのかと疑問に思うかもしれません。それは、return操作を使用すると、関連する投機的実行が際限なく「バウンス」してしまうからです。
Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。
Googleは以前の投稿で、Retpolineによるパフォーマンスへの影響はごくわずかであると述べています。Windowsカーネル開発者のMehmet Iyigun氏もTwitterで、新しいパッチにより、Spectre v2の緩和策によるパフォーマンスへの影響がほとんどのシナリオで「ノイズレベル」にまで軽減されると述べています。
まだ明らかにされていない場合のために言っておくと、Retpoline パッチは今年公開された他の投機的実行の脆弱性には影響しません。