OpenBSDプロジェクトは6月19日(カナダ時間)のコミットで、OpenBSD/amd64においてIntelプロセッサのハイパースレッディング機能をデフォルトで無効にしたと伝えた。SMT (Simultanious Multi Threading)技術の実装ではスレッド間でTLBおよびL1キャッシュが共有されることが多く、これがキャッシュタイミング攻撃を容易にし、Spectre系の脆弱性の悪用につながる可能性があると指摘している。

OpenBSDではこうした脆弱性の危険性を回避するため、デフォルトでハイパースレッディング機能を無効にすると説明。ただし、hw.smt sysctl値で機能の有効無効は制御できるとしている。今回のコミットではOpenBSD/amd64のみが対象となっているが、今後、類似の技術が利用されているほかのアーキテクチャに関しても同様の変更を実施するとしている。

  • CVS: cvs.openbsd.org: src - Mark Kettenis Tue、19 Jun 2018 12:30:19 -0700

    CVS: cvs.openbsd.org: src - Mark Kettenis Tue, 19 Jun 2018 12:30:19 -0700

説明では、SMT技術がパフォーマンスの向上につながるかどうかは対象となる処理の内容に依存するとしており、またコアが3つ以上存在するプロセッサでは逆に多くのワークロードで性能の低下を招くと指摘している。

最近のBIOSはハイパースレッディング機能を無効にする設定を提供していないものが多いことを指摘し、カーネル側で対応するようにした理由として挙げている。