確かにコンパイラベースの緩和策がGCC12に統合され、Linux 5.17以降、カーネルはこの潜在的な脆弱性を回避するためにその新しいノブを利用できるようになり、ここ数か月で多くのx86直線的な推測が行われています。現在、コンパイラのサポートはGCC11にバックポートされています。

x86の直線的な推測の軽減は、次のGCC 12リリースでのみ見られるのではなく、GCC11安定シリーズにもバックポートされています。 IntelのHJLuは、-mharden-sls=と-を追加してパッチを送信しました。 mindirect-branch-cs-prefixコンパイラはGCC11コードベースに切り替わります。 x86 SLS緩和策は、関数の戻りと間接分岐の後にINT3命令を追加して、制御フローの無条件の変更を超えて、メモリ内で投機的に線形に実行される可能性のあるプロセッサを回避します。-mindirect-branch-cs-prefixオプションは、RETPOLINEビルドに自動的に使用されます。

これまでのところ、x86SLSの推奨事項と影響を受けるプロセッサに関するIntelからの公式の公式ガイダンスは見ていません。しかし、Arm SLSの脆弱性が公開されてから1年間、このx86パッチアクティビティのすべてが発生しなかったことを考えると、ここ数か月でこのx86アクティビティのすべてを引き起こす新しい何かが存在する可能性があります。

GCC 11パッチは、現在 gcc-patches にあります。 GCC 11.3ポイントリリース(および4月のGCC 12.1機能リリース)に表示されるはずです。

Categories: IT Info