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 spinlock 已被替換為「parking」鎖以提高效率。
  • 記憶體管理: 修改了頁面守護程序(page daemon)建立空閒記憶體的策略以更好地進行記憶體碎片整理,並引入了一種新機制來防止在 swapencrypt 路徑中進行記憶體配置。
  • 休眠: 實作了「延遲休眠」功能,允許暫停的系統在經過可配置的時間後喚醒並進入休眠,以防止在長時間暫停期間耗盡電池。

硬體與架構支援

OpenBSD 7.9 持續擴大其硬體相容性,特別關注新興架構:

RISC-V 與 ARM64

riscv64 上對 SpacemiT K1 SoC 的支援已顯著擴大,包括新的時鐘/重置控制器與 GPIO 驅動程式。在 arm64 上,此版本增加了對 RK3588 與 RK3576 SoC 的支援,以及 Genesys Logic GL9755 SDHC 控制器,這使得 OpenBSD 能在某些 Apple Silicon 筆記型電腦上運行。

AMD64 與 x86

對於 AMD 使用者,此版本在 amdpmc(4) 中增加了 SMU 支援以在暫停期間實現更低的功耗狀態,並緩解了 Zen/Zen+ 處理器上的浮點運算狀態洩漏問題。此外,最大 CPU 數量 (MAXCPUs) 已增加至 255。

網路與無線網路

無線網路迎來了重大飛躍,引入了基礎的 802.11ax (WiFi 6) 支援。此版本還增加了對 5 GHz 頻段下 160 MHz 頻道寬度的支援,並在多個驅動程式 (iwm, iwx, qwx) 中實作了受保護的管理框架 (PMF)。

安全性與工具更新

OpenSSH 10.3

OpenSSH 繼續是此版本的基石。版本 10.3 解決了幾個安全性漏洞,包括 ssh(1) 中的 shell metacharacter 驗證錯誤以及 sshd(8) 中的 principal matching 錯誤。新功能包括支援 IANA 分配的 agent forwarding 用於 codepoints,以及能夠以 PKCS8 格式寫入 ED25519 金鑰。

LibreSSL 4.3.0

LibreSSL 4.3.0 在 TLS 中引入了對 MLKEM768_X25519 金鑰共享(keyshares)的支援,邁向後量子密碼學。它還在方法層級停用了 TLSv1.1 與更低版本,並移除了數個舊有的 CBC 漏洞緩解措施。

系統強化

OpenBSD 持續完善其 pledge(2)unveil(2) 原語。tmppath promise 已被廢止,改由更細粒度的 unveil 組合取代,並新增的 __pledge_open(2) 系統呼叫允許 libc 存取內部檔案,而無需向非 libc 程式碼授予廣泛的權限。

社群觀點與權衡

此版本的發布受到讚譽,因其在處理二進位 blob 時的一貫性與「務實」的方法。正如一位社群成員所言:

"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."

然而,該專案對其哲學的嚴格堅持也導致了某些功能的缺失。一些使用者指出,這持續缺乏日誌檔案系統(journaled filesystem)與藍牙支援,對於希望將 OpenBSD as 核心桌面作業系統的使用者來說是重大障礙。

關鍵組件摘要

Component Version/Update
OpenSSH 10.3
LibreSSL 4.3.0
Kernel New hw.blockcpu scheduler control
Wireless Basic 802.11ax (WiFi 6) support
** Virtualization**
Ports Over 13,000 packages for amd64

Sources