BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース NetBSD 8.0がSpectre V2/V4、Meltdown、Lazy FPUの軽減などを提供

NetBSD 8.0がSpectre V2/V4、Meltdown、Lazy FPUの軽減などを提供

原文(投稿日:2018/07/24)へのリンク

NetBSD 8.0は、多くのアーキテクチャー間の移植性を提供するBSDベースのOSのメジャーリリースであるが、Spectre V2/V4、MeltdownLazy FPUの脆弱性を軽減し、多くの新機能とバグ修正を提供している。

NetBSDは別々の仮想空間(SVS)を通してメルトダウンの軽減を実装している。これは、ユーザ空間で実行しているときにカーネルページをマップを解除する。これはすべての脆弱なCPUに対してデフォルトで有効になっており、手動実行では無効にすることができる。

# sysctl -w machdep.svs.enabled=0

セキュリティ要件がそれほど厳しくなく、パフォーマンスを最大限に高めることを優先する場合は、SVSを無効にすることが望ましい場合がある。

Spectre V2に対しては、ハードウェアとソフトウェアの両面で一連の軽減策を使って対向できる。

  • Intel IRBS:これはサポートする対象のCPUが検出された場合に有効になる。実行を無効にすることができる。

    # machdep.spectre_v2.hwmitigated = 0
  • AMD DIS_IND:これは、AMD CPU向けのハードウェアによる軽減策である。上記のようにhwmitigationオプションを解除することで無効にすることができる。

  • 他のすべての脆弱なCPUに対してソフトウェアによる軽減(retpoline)がある。これは無効にすることができる。

    # machdep.spectre_v2.swmitigated = 0

Spectre V4に対しては、NetBSD 8は、Intel SSBDとAMD MONARCHの2つの主要な軽減策を提供している。これは、machdep.spectre_v4.mitigated = 0で無効にすることができる。

Lazy FPUはFPU「eager」にして、強制的にプロセススワップ上のレジスタをクリーンにすることで軽減される。NetBSD 8で取られているアプローチ、すなわち脆弱なFPUに対してのみFPU eagerを有効にするアプローチは、脆弱であるかどうかにかかわらずeagerfpu=onのkernelブート引数がすべてのFPUに影響を与えるLinuxとは異なる。

NetBSDチームによると、これらの移行はすべて、古いリリースのブランチにバックポートされることはない。

我々は、できるだけ早くすべてのユーザがNetBSD 8.0へのアップデートを試み、ユーザと同じ組織にいるセキュリティ専門家が設定を確認しない限り、古いNetBSDリリースを実行しないようにお勧めします。

NetBSD 8のその他の機能は、USB 3.0、カーネル内オーディオミキサー、スーパバイザモードアクセス防止、再現性のあるビルドをサポートしている。再現性のあるビルドについては、同じソースツリーからのビルド結果が同じであり、ユーザーランドデバッグ情報が全てそろっていることを保証する。公式のリリースノートに詳細がある。

Rate this Article

Adoption Stage
Style

この記事に星をつける

おすすめ度
スタイル

BT