OpenBSD 7.9: セキュリティ、ハードウェアの近代化、および第60回リリース

OpenBSD 7.9のリリースは、このオペレーティングシステムの公式リリースとして第60回目という重要な節目となります。セキュリティとコードの正確性に対する妥協のない姿勢で知られるOpenBSDは、現代的なハードウェアサポートの追加と、「デフォルトでのセキュリティ」という核心的な哲学とのバランスを取りながら、エコシステムを洗練させ続けています。

このリリースは単なるメンテナンスアップデートではありません。カーネルスケジューラの重要なアーキテクチャ変更を導入し、現代的なARMおよびRISC-Vアーキテクチャのサポートを拡大し、業界標準のOpenSSHおよびLibreSSLスイートに不可欠なセキュリティパッチを提供します。

カーネルとスケジューラの進化

7.9における最も注目すべき追加要素の一つは、ヘテロジニアス(異種混合)なCPUコアを管理するための新しいメカニズムです。現代のプロセッサが「big.LITTLE」アーキテクチャ(パフォーマンスコアと効率コアの混在)をますます採用する中、OpenBSDはhw.blockcpu sysctl変数を導入しました。これにより、管理者はSMT、Performance (P)、Efficient (E)、またはLethargic (L)といったコアのタイプを指定して、スケジューラから除外することができます。

スケジューリング以外にも、カーネルにはいくつかの内部的な最適化が行われました:

  • ロッキングメカニズム: カーネルのミューテックスにおけるcasスピンロックが、効率向上のために「parking」ロックに置き換えられました。
  • メモリ管理: ページデーモンの空きメモリ作成戦略がメモリの断片化をより良く防ぐように変更され、新しいメカニズムによってswapencryptパス内でのメモリ割り当てが防止されます。
  • 休止状態 (Hibernation): 「遅延休止」機能が実装されました。これにより、サスペンド中のシステムが設定された時間経過後に休止状態に移行することで、バッテリー消費を防ぐことができます。

ハードウェアとアーキテクチャのサポート

OpenBSD 7.9は、特に新興のアーキテクチャに焦点を当て、ハードウェアの互換性を広げ続けています:

RISC-V と ARM64

riscv64におけるSpacemiT K1 SoCのサポートが大幅に拡大され、クロック/リセットコントローラおよびGPIO用の新しいドライバが含まれています。arm64では、RK3588およびRK3576 SoC、ならびに特定のApple SiliconラップトップでOpenBSDを動作させることを可能にするGenesys Logic GL9755 SDHCコントローラへのサポートが追加されました。

AMD64 と x86

AMDユーザー向けには、amdpmc(4)にSMUサポートが追加され、サスペンド中の低電力状態を有効にし、Zen/Zen+プロセッサにおける浮動小数点状態の漏洩を軽減します。さらに、最大CPU数(MAXCPUs)が255に増加しました。

ネットワークとワイヤレス

ワイヤレスネットワークは、基本的な802.11ax (WiFi 6) サポートの導入により、大きな飛躍を遂げました。また、5 GHz帯での160 MHzチャネル幅のサポートが追加され、複数のドライバ(iwm, iwx, qwx)においてProtected Management Frames (PMF) が実装されました。

セキュリティとツールのアップデート

OpenSSH 10.3

OpenSSHは引き続きリリースの要となります。バージョン10.3では、ssh(1)におけるシェルメタ文字の検証バグや、sshd(8)におけるプリンシパルマッチングエラーを含む、いくつかのセキュリティ脆弱性を解決しています。新機能には、IANAが割り当てたエージェント転送用のコードポイントのサポートや、ED25519キーをPKCS8形式で書き出す機能が含まれます。

LibreSSL 4.3.0

LibreSSL 4.3.0は、TLSにおけるMLKEM768_X25519キーシェアのサポートを導入し、耐量子計算機暗号への移行を進めています。また、メソッドレベルでTLSv1.1以下を無効化し、いくつかのレガシーなCBC脆弱性への回避策を削除しました。

システムの要塞化 (System Hardening)

OpenBSDは、pledge(2)およびunveil(2)プリミティブを継続的に洗練させています。tmppathプロミスは、よりきめ細かなunveilの組み合わせに取って代わられ、廃止されました。また、新しい__pledge_open(2)システムコールにより、libcは広範な権限を非libcコードに与えないまま、内部ファイルにアクセスすることが可能になります。

コミュニティの視点とトレードオフ

このリリースは、バイナリブロブに対する一貫性と「実直な」アプローチで称賛されています。あるコミュニティメンバーは次のように述べています:

"Their decades-long security-focus is second to none... No 'When it's done' here. Like clockwork twice a year year, they slow down, clean the shop, and get their experiments in order and cook a release."

しかし、プロジェクトの厳格な哲学への忠教は、特定の欠落を生じさせます。一部のユーザーは、ジャーナル付きファイルシステムやBluetoothサポートの欠如が、OpenBSDをメインのデスクトップOSとして使用したいユーザーにとって大きな障壁となっていることを指摘しています。

主要コンポーネントの要約

コンポーネント バージョン/アップデート
OpenSSH 10.3
LibreSSL 4.3.0
Kernel 新しい hw.blockcpu スケジューラ制御
Wireless 基本的な 802.11ax (WiFi 6) サポート
Virtualization Apple Virtualization サポート
Ports amd64 用の 13,000 以上のパッケージ

Sources