Bemutatták az OpenBSD 7.7 szabad UNIX-alapú operációs rendszer kiadását. Az OpenBSD projektet Theo de Raadt alapította 1995-ben a NetBSD fejlesztőivel folytatott konfliktus után, amelynek következtében Theo hozzáférése a NetBSD CVS tárházhoz le lett zárva. Ezt követően Theo de Raadt és szövetségesei új nyílt operációs rendszert hoztak létre a NetBSD forráskódjának fáira alapozva, amelynek fő fejlesztési céljai a hordozhatóság (13 hardverplatform támogatása), a standardizálás, a megbízható működés, a proaktív biztonság és az integrált titkosítási eszközök voltak. Az OpenBSD 7.7 alapvető rendszerének teljes telepítő ISO képe 746 MB.
Az operációs rendszeren kívül az OpenBSD projekt híres az olyan komponentseiről, amelyek más rendszerekben is elterjedtek és a legbiztonságosabb és legjobb minőségű megoldásokként szerepelnek. Ezek között található a LibreSSL (az OpenSSL fork), az OpenSSH, a csomagszűrő PF, az OpenBGPD és OpenOSPFD irányító démonok, az OpenNTPD NTP-szerver, az OpenSMTPD levelezőszerver, a tmux szöveges terminál-multiplexor (az GNU screen analógja), az IDENT protokollt megvalósító identd démon, a GNU groff BSDL-alternatívája — a mandoc, a CARP (Common Address Redundancy Protocol) protokoll a hibatűrő rendszerek szervezésére, valamint egy könnyű http-szerver és az OpenRSYNC fájlszinkronizáló segédprogram.
Főbb változások:
- A drm (Direct Rendering Manager) keretrendszer megvalósítása szinkronizálva lett a Linux 6.12.21 kernelével (az előző kiadás 6.6.52 volt). Az inteldrm meghajtóban megvalósult a GPU támogatása, amelyet az Intel Arrow Lake mikroarchitektúrára alapozott processzoraiban használnak. Az amdgpu meghajtóban hozzáadva lett a Ryzen AI 300 (Strix Point, Strix Halo, Krackan Point) és a Radeon RX 9070 (Navi 48) GPU támogatása.
- Az ARM64 architektúrához készült portban megvalósult a SVE (Skálázható Vektor Kiterjesztés) vektori utasításkészlet támogatása. Az Apple M1 ARM-chipekkel rendelkező rendszerekben megvalósult az energiafogyasztási állapotok kiadása. A fizikai memóriaoldalak mappálásának mechanizmusában (pmap, fizikai mappálás) optimalizálták az asszociatív fordító puffer törlésének (TLB) műveleteit, ami körülbelül 5%-os gyorsulást eredményezett a kernel összeállítási teszt során. A QARMA3 titkosító támogatású eszközökkel rendelkező hardvereken engedélyezték a mutatók hitelesítését (PAC, Pointer Authentication Code) a felhasználói tér védelme érdekében.
- Az x86_64 rendszerekben, amelyek QEMU segítségével működő vendégrendszereket futtatnak, megvalósult az AMD SEV (Secure Encrypted Virtualization) mechanizmus támogatása, amelyet virtualizációs rendszerekben használnak a védelmük érdekében. virtuális gépekhez a hypervisor vagy a host rendszer adminisztrátorának beavatkozása ellen. A psp meghajtóban, amelyet az AMD SEV engedélyezésére és indítására használnak vendégrendszerek beállításához és futtatásához, hozzáadva lett egy parancs a firmware chipbe történő betöltésére.
- Az x86_64 rendszerekben hozzáadva lett a DMA számára történő memória területek kiosztásának lehetősége, amely nagyobb mint 4 GB.
- Javították a RISC-V, Sparc64, HPPA, i386 és Powerpc64 architektúrák támogatását.
- Javították a memóriahiány helyzetek kezelését a rendszerben (OOM).
- A ptrace nyomkövetési mechanizmusához hozzáadták a lehetőségeket, amelyek lehetővé teszik a gdb hibakeresőben a töréspontok beállítását több szálú folyamatokban. Hozzáadtak parancsokat a terület olvasásához és írásához, ahova a nyomkövetett folyamatban a processzor állapotát mentik az XSAVE utasítás használata során.
- A BT (BPFtrace vagy Bug Tracing) nyelvű szkriptekben, amelyeket a btrace nyomkövető rendszerben alkalmaznak, hozzáadták a többsoros konstrukciók támogatását. Az btrace segédprogramhoz további profilt és időintervallumok elnevezését (hz, us, ms, s) adtak hozzá.
- Hozzáadták a kern.audio.kbdcontrol sysctl-paramétert, amelynek 0-ra állítása esetén a billentyűzet multimédiás hangerőszabályzó billentyűi normál billentyűekként fognak működni.
- Javították a hibakezelést és kiterjesztették az ellenőrzéseket az alvó és várakozó módokba való átmenet során.
- Átdolgozták a folyamatok leállítására vonatkozó kódot, amely a jel érkezésekor történt, megoldva a több szálú folyamatok leállításával kapcsolatos problémákat, amelyek olyan csomagokban jelentkeztek, mint a golang és az mpv.
- Továbbfejlesztették a többprocesszoros rendszerek (SMP) támogatását. Biztosították a TCP bemeneti és kimeneti időzítők párhuzamos működését, míg a send() és recv() rendszerhívások közös zárolás használatára váltottak. Most már több felhasználói szál párhuzamosan működhet különböző socketekkel, és a TCP kimenet már nem blokkolja az IP-csomagok feldolgozását.
Megszabadították a globális zárolástól az open, openat, ptsignal, psignal és prsignal rendszerhívásokat, valamint a sysctl kern.timeout_stats, kern.allowkmem, kern.video.record, net.inet.gre.allow, net.inet.gre.wccp, kern.global_ptrace, kern.wxabort, kern.malloc.kmemstat funkciókat. Mp-safe kategóriába került a psp, wsmouse és wstpad illesztőprogramok, valamint a video_filtops struktúra is.
- A VMM hipervizorban megvalósították az acpipci használatát a PCI-buszok csatlakoztatásához.
- Lehetőséget biztosítottak alternatív teljesítménypolitika (perfpolicy) meghatározására, amelyet a rendszer akkumulátorról való működése során alkalmaznak.
- A sysctl parancshoz hozzáadták a "-f file" opciót, amely lehetővé teszi az összes beállítás egyszerre történő betöltését egy fájlból. Az rc-skriptekben új opciót alkalmaztak a sysctl.conf teljes betöltésére, a soronkénti elemzés helyett.
- A pkg_add parancsban megvalósították az ldconfig hívást, ha új csomagok telepítésekor megváltozott a megosztott könyvtárak listája.
- Új hardver támogatás került hozzáadásra. Fejlesztették a MediaTek és Qualcomm Snapdragon SoC támogatását (beleértve az X Elite-et). Fejlesztették a Samsung Galaxy Book4 Edge, ThinkPad T14 Gen 5, Vivobook, ThinkPad X1 Nano Gen 2, ThinkPad X13 és különböző Chromebook készülékek támogatását. Hozzáadták az ice drivert az Intel E810 Ethernet 1Gb/10Gb/25Gb/50Gb/100Gb-hez, és az ixv drivert az Intel Ethernet 82598EB, 82559 és X540 virtuális funkcióihoz. Folyamatos munka folyik a hálózati műveletek hálózati kártyákra történő átvitelén.
- A sysupgrade-ben megvalósult az offline frissítési mód a helyi fájlrendszerben tárolt csomagok használatával.
- A fw_update segédprogramhoz hozzáadták a lehetőséget, hogy normál felhasználóként (root jogok nélkül) firmware-t töltsenek le (telepítés nélkül). Hozzáadva a ‘-l’ jelző a driverek és fájlok listájának megjelenítéséhez.
- Az sshd-auth folyamat védelmet kapott a sebezhetőségek kihasználása ellen, amely az végrehajtható fájl véletlenszerű újrakonfigurálásán alapul a rendszer minden indításakor (relink). Az újrakonfigurálás lehetővé teszi, hogy a funkciók eltolódása bizonytalanná váljon, ez megnehezíti a visszalépéses programozási módszereket használó exploitok létrehozását.
- A mountd folyamat izolációját a unveil rendszerhívás használatával biztosították.
- A hálózati veremben támogatás valósult meg az AF_FRAME socketek és az IFT_ETHER protokollcsalád számára, amely lehetővé teszi az alkalmazások számára, hogy Ethernet-dobozokat küldjenek és fogadjanak. Az UDP és TCP kimenő csomagokhoz egy új hash-elési módszert alkalmaztak, amely optimalizálta a forgalom elosztását a sorok között, és jelentősen (~20%) felgyorsította az UDP küldést IPv4/IPv6 és a TCP-t IPv6 esetén. A tun eszközhöz megvalósult a TUNSCAP ioctl és optimalizálták a kernel és a felhasználói tér közötti kölcsönhatást. Minden szálhoz külön routing cache került megvalósításra. A vio drivernél multiqueue mód került bevezetésre.
- A pfctl segédprogramban a hálózati interfészek és sorok számára lehetővé vált a 4Gbit-nál nagyobb sávszélesség meghatározása.
- Az iked, az IKEv2 protokoll IPsec-re való megvalósításában hozzáadták a ‘natt’ opciót a nat-t használatának kényszerítésére.
- A relayd, amely egy háttérfolyamat a kérések átirányítására és egyensúlyozására, támogatást kapott az ügyfélszolgáltatásokhoz. TLS-tanúsítványok.
- A tcpbench hálózati teljesítménymérő eszköz TLS támogatást kapott.
- A bgpd megvalósította az RFC 8654 (BGP Extended Message), az RFC 8538 (BGP Notification Message) támogatását, alapértelmezés szerint aktiválva a ‘reject as-set’ opciót, biztosítva az Adj-RIB-Out gyorsítótárazását.
- A LibreSSL 4.1.0-ban kísérleti támogatás került bevezetésre a loongarch64 architektúra számára, új assembly implementációk lettek javasolva a SHA-1, SHA-256 és SHA-512 algoritmusokhoz az amd64 architektúrához (SHA-NI utasítás használatával), új assembly megvalósítások a SHA-256 és SHA-512 számára Aarch64 architektúrára (CE kiterjesztéssel), egyszerűsített MD5 megvalósítás az amd64 számára, biztosítva a visszavont tanúsítványok (CRL) listájának gyorsítótárazását, a BoringSSL-ből átvittük a ML-KEM 768 és 1024 megvalósítást.
- Frissült az OpenSSH. A változások listája megtekinthető az OpenSSH 10 bejelentésében (DSA digitális aláírások támogatása eltávolítva, az authentikációs műveleteket külön folyamatba helyezték, az sshd-auth-ra, alapértelmezés szerint egy hibrid kulcscsere algoritmus lett aktiválva „mlkem768x25519-sha256”).
- Az AMD64 architektúrára a portok száma 12593-ra nőtt (12312 volt), a aarch64-re 12446 (12148 volt), az i386-ra pedig 10429 (10534 volt). A portokban elérhető alkalmazásverziók:
- Asterisk 16.30.1, 18.26.1, 20.13.0 és 22.3.0
- Audacity 3.7.3
- CMake 3.31.6
- Chromium 135.0.7049.52
- Emacs 30.1
- FFmpeg 6.1.2
- GCC 8.4.0 és 11.2.0
- GNOME 47
- Go 1.24.1
- JDK 8u442, 11.0.26, 17.0.14 és 21.0.6
- KDE Gears 24.12.3
- KDE Frameworks 6.12.0
- KDE Plasma 6.3.3
- Krita 5.2.9
- LLVM/Clang 13.0.0, 16.0.6, 18.1.8, 19.1.7
- LibreOffice 25.2.1.2
- Lua 5.1.5, 5.2.4, 5.3.6, 5.4.7
- MariaDB 11.4.5
- Mono 6.12.0.199
- Mozilla Firefox 137.0 és ESR 128.9.0
- Mozilla Thunderbird 128.9.0
- Mutt 2.2.14 és NeoMutt 20250113
- Node.js 22.14.0
- OpenLDAP 2.6.9
- PHP 8.2.28, 8.3.19 és 8.4.5
- Postfix 3.10.1
- PostgreSQL 17.4
- Python 2.7.18 és 3.12.9
- Qt 5.15.16 (+ KDE projektjavítások) és 6.8.2
- Ruby 3.2.8, 3.3.7, 3.4.2
- Rust 1.86.0
- SQLite 3.49.1
- Shotcut 25.01.25
- Sudo 1.9.16p1
- Suricata 7.0.7
- Tcl/Tk 8.5.19 és 8.6.16
- Vim 9.1.1265 és Neovim 0.10.4
- Xfce 4.20.0
- Frissítve lettek a harmadik féltől származó komponensek, amelyek az OpenBSD 7.7 részei:
- A Xenocara grafikus stack az X.Org 7.7-re alapozva xserver 21.1.16 + javítások, freetype 2.13.3, fontconfig 2.15.0, Mesa 23.3.6, xterm 395, xkeyboard-config 2.20, fonttosfnt 1.2.4.
- LLVM/Clang 16.0.6 (+ javítások)
- GCC 4.2.1 (+ frissítésekkel) és 3.3.6 (+ frissítésekkel)
- Perl 5.40.1 (+ patchok)
- NSD 4.9.1
- Unbound 1.22.0
- Ncurses 6.4
- Binutils 2.17 (+ javítások)
- Gdb 6.3 (+ javítások)
- Awk 20250116
- Expat 2.7.1
- zlib 1.3.1 (+ frissítésekkel)
Forrás: opennet.ru
