OpenBSD 7.4 發布

發布了免費的類 UNIX 操作系統 OpenBSD 7.4。 OpenBSD 項目由 Theo de Raadt 於 1995 年創立,此前與 NetBSD 開發人員發生衝突,拒絕 Theo 訪問 NetBSD CVS 存儲庫。 之後,Theo de Raadt 和一群志同道合的人基於 NetBSD 源代碼樹創建了一個新的開放操作系統,其主要開發目標是可移植性(支持 13 個硬件平台)、標準化、正確操作、主動安全性和集成密碼工具。 基本 OpenBSD 7.4 系統的完整安裝 ISO 映像的大小為 630 MB。

除了操作系統本身之外,OpenBSD 項目還以其組件而聞名,這些組件已在其他系統中廣泛使用,並已被證明是最安全和高質量的解決方案之一。 其中:LibreSSL(OpenSSL 的一個分支)、OpenSSH、PF 數據包過濾器、OpenBGPD 和 OpenOSPFD 路由守護進程、OpenNTPD NTP 服務器、OpenSMTPD 郵件服務器、文本終端多路復用器(類似於 GNU 屏幕)tmux、實現 IDENT 協議的 identd 守護進程、GNU groff 包的 BSDL 替代方案 - mandoc、用於組織容錯系統的協議 CARP(通用地址冗餘協議)、輕量級 http 服務器、OpenRSYNC 文件同步實用程序。

主要改進:

  • 對於 amd64 和 i386 架構,已新增元件可更新 AMD 處理器的微碼。新版本的微碼在啟動時會自動安裝。為了分髮帶有微碼的二進位文件,已經準備好連接埠“ports/sysutils/firmware/amd”。使用標準 fw_update 實用程式安裝新的微碼。類似的針對英特爾處理器的微碼更新支援於 2018 年實施,並在 OpenBSD 6.3 版本中提供。
  • 對於核心和用戶空間,啟用了IBT(間接分支跟踪,amd64)和BTI(分支目標識別,arm64)保護機制,旨在阻止由於使用漏洞更改指向存儲在內存中的函數的指針而導致的正常執行順序(控制流)的違反(實施的保護不允許惡意代碼跳轉到函數的中間)。
  • 在 arm64 系統上,啟用指標認證來保護使用者空間。該技術允許使用專門的 ARM64 指令,使用儲存在指標本身未使用的高位元中的數位簽章來驗證返回位址。
  • clang 系統編譯器設定以及來自連接埠的 clang 和 gcc 已更改為使用上述保護機制,這顯著加強了對所有基礎應用程式和大多數來自連接埠的應用程式的保護,以防止使用面向返回程式設計 (ROP) 方法進行攻擊。當使用 ROP 技術時,攻擊者不會嘗試將其程式碼放入記憶體中,而是對已載入庫中存在的機器指令片段進行操作,並以返回指令結尾(通常這些是庫函數的結尾)。此漏洞的操作歸結為建立類似區塊(「小工具」)的呼叫鏈以獲得所需的功能。
  • 新增了一個新的系統呼叫 kqueue1,它與 kqueue 的不同之處在於它傳遞標誌。目前,kqueue1 僅支援 O_CLOEXEC(close-on-exec)標誌,以便在呼叫 exec() 後自動關閉子程序中的檔案描述符。
  • 對於 amd64 和 i386 架構,已經實現了對 dt 偽設備的支持,以組織系統和應用程式的動態追蹤。新增了 utrace 系統呼叫以將自訂條目插入 ktrace 日誌。
  • 從 FreeBSD 移植修復程式來修復使用 MS-DOS 檔案系統時的未定義行為。
  • 用於延遲分組元資料寫入的 softdep 掛載選項已停用。
  • 受 reveal 系統呼叫保護的程式可以將核心轉儲儲存到目前工作目錄。
  • ARM64 架構利用 Apple M1/M2 晶片中的深度閒置狀態功能來節省電力並實現待機模式。
  • 增加了針對 AMD 處理器中的 Zenbleed 漏洞的解決方法。
  • 改進了對多處理器系統 (SMP) 的支援。 arprequest() 函數、處理傳入 ARP 封包的程式碼以及 IPv6 堆疊中的鄰居偵測的實作已擺脫阻塞。
  • pfsync 封包過濾表同步介面已被重寫,以改善鎖處理和與未來並行化網路堆疊工作的兼容性。
  • drm(直接渲染管理器)框架的實作與Linux核心6.1.55(之前的版本是6.1.15)同步。基於 Alder Lake 和 Raptor Lake 微架構的英特爾處理器系統的效能得到了提升。
  • VMM虛擬機器管理程序已得到改進。 vmd中已實現對區塊和網路virtio設備的多進程模型支援。塊virtio設備已添加對零拷貝模式下向量I/O的支援。客戶系統對AMD處理器p狀態模式的存取已受到限制。 虛擬機 允許透過 vmctl 覆蓋啟動內核。
  • 新增了新的頭檔 uchar.h,其中包含 char32_t 和 char16_t 類型,以及 C32 標準中定義的 c32rtomb()、mbrtoc16()、c16rtomb() 和 mbrtoc11() 函數。
  • malloc 函數現在有一個「D」選項,可以使用 ktrace(「MALLOC_OPTIONS=D ktrace -tu program」)和 kdump(「kdump -u malloc ...」)來偵測記憶體洩漏。
  • make 實用程式已更新,支援 ${.VARIABLES} 變數來顯示所有公開的全域變數的名稱。
  • kdump 實用程式現在有一個“-u”選項,用於透過給定的標籤選擇 utrace 追蹤點。
  • openrsync 實用程式已更新“--size-only”和“--ignore-times”選項。
  • Cron 和 crontab 現在支援在給定步驟指定值範圍時使用隨機偏移,這可以避免 cron 中具有相同規則的不同機器同時發出資源請求。例如,在分鐘欄位中指定“0~59/30”或“~/30”將導致命令以連續隨機選擇的間隔每小時運行兩次。
  • wsconsctl 實用程式已更新,支援點擊板上兩指或三指點擊的按鈕映射。
  • 添加了對新硬件的支持並包含新的驅動程序。
  • 改進了在具有 armv7 和 arm64 處理器的系統上的安裝。
  • 增加了從 EFI 系統分割區載入檔案的支援。
  • 安裝程式改進了對軟體 RAID(softraid)的支援。增加了在 riscv64 和 arm64 系統上將根分區放置在軟 raid 中的功能。 Softraid 已新增至適用於 powerpc64 架構的 ramdisk。對於arm64,已經實現了對磁碟加密(Guided Disk Encryption)的支援。
  • malloc 函數已更新,以檢查待處理記憶體釋放清單中的所有區塊,以偵測釋放的記憶體區域被寫入的情況。
  • 關機命令現在要求將使用者新增至「_shutdown」群組,從而允許分離與關機和直接從磁碟裝置讀取相關的權限。
  • 使用 reveal 系統調用,patch 實用程式被限制為僅存取當前目錄、臨時目錄和命令列上列出的檔案。
  • 新增了 sysctl net.inet6.icmp6.nd6_queued 來顯示等待 ND6 回應的資料包數量(類似於 ARP)。
  • 在網路介面上設定 IPv6 位址時,會透過多重播送位址向相鄰路由器傳送公告。
  • 初始增加對TSO(TCP分段卸載)和LRO(TCP大型接收卸載)的支持,用於網卡端的段處理和資料包合併。
  • pfctl 實用程式從核心載入 pf 封包過濾規則的速度已經加快。啟用透過 ICMP 傳回的錯誤訊息的「保持狀態」和「nat-to」操作的處理。
  • 停用環回介面的 IP、TCP 和 UDP 校驗和計算。
  • 新增了初始支持 VPN 基於路由的IPsec。
  • bgpd 增加了 Flowspec 支援(RFC5575,目前僅支援 flowspec 規則公告)。 ASPA(自治系統提供者授權)實作已符合 draft-ietf-sidrops-aspa-verification-16 和 draft-ietf-sidrops-aspa-profile-16 規範,並已切換為使用獨立於 AFI(位址族指示符)的查找表。
  • rpki-client的效能提升了30-50%。增加了對 gzip 和 deflate 壓縮的支援。
  • LibreSSL 和 OpenSSH 套件已更新。有關改進的詳細概述,請參閱 LibreSSL 3.8.0、OpenSSH 9.4 和 OpenSSH 9.5 評論。
  • AMD64 架構的連接埠數量為 11845(原為 11764),aarch64 的連接埠數量為 11508(原為 11561),i386 的連接埠數量為 10603(原為 10572)。在連接埠中的應用程式版本:
    • 星號 16.30.1、18.19.0b、20.4.0
    • Audacity 3.3.3
    • CMake的3.27.5
    • 鉻117.0.5938.149
    • Emacs 29.1
    • FFmpeg 4.4.4
    • 海灣合作委員會 8.4.0 和 11.2.0
    • GHC 9.2.7
    • GNOME 44
    • 轉到1.21.1
    • JDK 8u382、11.0.20 和 17.0.8
    • KDE應用程序23.08.0
    • KDE框架5.110.0
    • Krita 5.1.5
    • LLVM/Clang 13.0.0 和 16.0.6
    • LibreOffice的7.6.2.1
    • 盧阿 5.1.5、5.2.4、5.3.6 和 5.4.6
    • 瑪麗亞數據庫10.9.6
    • 單聲道6.12.0.199
    • Mozilla Firefox 118.0.1 和 ESR 115.3.1
    • Mozilla Thunderbird 115.3.1
    • Mutt 2.2.12 和 NeoMutt 20230517
    • 節點.js 18.18.0
    • OpenLDAP 2.6.6
    • PHP 7.4.33、8.0.30、8.1.24 和 8.2.11
    • 後綴 3.7.3
    • PostgreSQL 15.4
    • Python 2.7.18、3.9.18、3.10.13 和 3.11.5
    • Qt 5.15.10 和 6.5.2
    • ŕ4.2.3
    • 紅寶石 3.0.6、3.1.4 和 3.2.2
    • 銹1.72.1
    • SQLite 3.42.0
    • Shotcut 23.07.29
    • 須藤 1.9.14.2
    • 貓鼬6.0.12
    • Tcl/Tk 8.5.19 和 8.6.13
    • 2022 年 TeX 直播
    • Vim 9.0.1897 和 Neovim 0.9.1
    • Xfce 4.18
  • 更新了 OpenBSD 7.3 中包含的第三方組件:
    • Xenocara 圖形堆棧基於 X.Org 7.7,帶有 xserver 21.1.8 + 補丁、freetype 2.13.0、fontconfig 2.14.2、Mesa 22.3.7、xterm 378、xkeyboard-config 2.20、fonttosfnt 1.2.2。
    • LLVM/Clang 13.0.0(+ 補丁)
    • GCC 4.2.1(+ 補丁)和 3.3.6(+ 補丁)
    • Perl 5.36.1(+ 補丁)
    • 國家標準局4.7.0
    • 無界1.18
    • Ncurses 5.7
    • Binutils 2.17(+ 補丁)
    • Gdb 6.3(+ 補丁)
    • awk 12.9.2023
    • 外籍人士2.5.0。

來源: opennet.ru

添加評論