NetBSD 8.0は、多くのアーキテクチャー間の移植性を提供するBSDベースのOSのメジャーリリースであるが、Spectre V2/V4、Meltdown、Lazy 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
- Editor Review
- Chief Editor Action