A fost lansată versiunea sistemului de operare liber bazat pe UNIX OpenBSD 7.5. Proiectul OpenBSD a fost fondat de Theo de Raadt în 1995, după un conflict cu dezvoltatorii NetBSD, care a dus la anularea accesului lui Theo la depozitul CVS NetBSD. Ulterior, Theo de Raadt, împreună cu un grup de susținători, a creat un nou sistem de operare deschis pe baza codului sursă al NetBSD, având ca principale obiective portabilitatea (sprijină 13 platforme hardware), standardizarea, funcționarea corectă, securitatea proactivă și instrumentele criptografice integrate. Dimensiunea imaginii ISO complete a sistemului de bază OpenBSD 7.5 este de 630 MB.
În afară de sistemul de operare propriu-zis, proiectul OpenBSD este cunoscut pentru componentele sale, care au fost adoptate în alte sisteme și s-au dovedit a fi unele dintre cele mai sigure și de calitate soluții. Printre acestea se numără: LibreSSL (fork al OpenSSL), OpenSSH, filtrul de pachete PF, demonii de rutare OpenBGPD și OpenOSPFD, serverul NTP OpenNTPD, serverul de email OpenSMTPD, multiplexorul de terminale textuale (similar cu GNU screen) tmux, demonul identd cu implementarea protocolului IDENT, alternativa BSDL pentru pachetul GNU groff — mandoc, protocolul pentru organizarea sistemelor redundante CARP (Common Address Redundancy Protocol), serverul http ușor și utilitarul de sincronizare a fișierelor OpenRSYNC.
Îmbunătățiri principale:
- Installerul a adăugat suport pentru criptarea partiției rădăcină. În modul de instalare automatizat (autoinstall) s-a introdus posibilitatea activării criptării discurilor cu introducerea unei parole în text simplu sau cu livrarea cheilor pe un suport separat. Versiunile pentru arhitectura AMD64 cdXX.iso și installXX.iso au fost adaptate pentru a boota în modul EFI.
- A fost adăugat apelul de sistem pinsyscalls, care permite restricționarea apelurilor de sistem numai din anumite locuri din spațiul de adrese al procesului. Nucleul și ld.so pot înregistra locul exact de intrare în fiecare apel de sistem utilizat de program și de biblioteca libc.so, pentru a bloca ulterior trimiterea apelurilor de sistem din locuri neînregistrate.
- Suportul pentru apelurile de sistem indirecte prin funcția syscall a fost eliminat. În combinație cu pinsyscalls, această modificare permite interzicerea apelurilor directe la apelurile de sistem fără utilizarea wrapper-elor furnizate în libc. Pachetele care fac apel direct la apelurile de sistem, cum ar fi Perl și Go, au fost modificate pentru a folosi numai funcțiile din libc.
- Pe sisteme ARM64, utilizarea mecanismelor de autentificare a pointerelor (PAC - Pointer Authentication) și al identificării ramificațiilor (BTI - Branch Target Identification) a fost extinsă.
- A fost adăugat în interfața de rețea ppp suportul IPv6.
- În utilitarul netstat, a fost implementată afișarea statisticilor privind eficiența caching-ului rutelor (în ieșirea „netstat -s” acum sunt arătate contorii de hituri și erori de cache).
- În filtrul de pachete pf, au fost considerate modificările din stiva de rețea legate de paralelizarea operațiunilor pe sisteme multiprocesor. La executarea utilitarului tcpdump cu interfața de rețea pflog, se asigură afișarea pachetelor respinse la activarea regulii implicite cu acțiunea „block”. Pentru regulile cu acțiunea „pass”, se asigură afișarea pachetelor blocate incorecte. În divert a fost adăugată o verificare a corectitudinii setării opțiunilor în pachetele IPv4.
- Suportul pentru sistemele multiprocesor (SMP) a fost îmbunătățit. Handler-ele pentru timeout-uri în stiva de rețea, contorizarea pachetelor pentru interfața loopback și modulul vscsi_filtops au fost mutate în categoria mp-safe. A fost posibilă execuția paralelă a apelurilor de sistem bind și connect, precum și operațiunile cu tabelele UDP pentru IPv4 și IPv6. A fost adăugat suportul pentru trimiterea simultană de pachete UDP din fire diferite.
- Procesarea situațiilor de overflow în zona de swap a fost îmbunătățită, au fost adăugate modificări pentru a exclude blocajele reciproce.
- În nucleul sistemelor arm64, a fost implementat caching-ul conținutului pool-urilor de tabele de pagină de memorie și al descriptorilor PTE, ceea ce a accelerat semnificativ funcționarea pe sistemele multicore.
- Îmbunătățiri aduse hipervizorului VMM. Implementarea dispozitivului vionet a fost rescrisă pentru a suporta multithreading și transferul de date între gazdă și sistemul gazdă în modul zero-copy, fără buffering intermediar. Stabilitatea funcționării hipervizorului pe sistemele cu instrucțiuni Intel VMX a fost îmbunătățită. A fost adăugată protecție suplimentară împotriva vulnerabilităților recente identificate în procesoare, legate de execuția speculativă a instrucțiunilor și scurgerile de date reziduale din registre.
- Pentru sistemele amd64, a fost adăugat sysctl machdep.retpoline pentru a gestiona activarea mecanismului retpoline pentru protecția împotriva atacurilor de tip Spectre.
- Implementarea framework-ului drm (Direct Rendering Manager) a fost sincronizată cu nucleul Linux 6.6.19 (în versiunea anterioară — 6.1.55).
- A fost adăugată suport pentru hardware nou și includerea de noi drivere, legate de componentele diferitelor SoC, suport pentru controlere Ethernet și mutarea execuției operațiunilor de rețea pe partea plăcilor de rețea.
- În subsistemul audio uaudio, acum este permisă atașarea mai multor drivere pentru dispozitivele audio.
- Au fost adăugate drivere apldcp și apldrm pentru controlerele de afișare folosite în dispozitivele Apple. Pentru Apple Powerbook, a fost implementată posibilitatea de a controla iluminarea tastaturii.
- A fost adăugat driverul qwx pentru cipurile wireless Qualcomm IEEE 802.11ax, creat prin portarea driverului ath11k din nucleul Linux (inclus în nucleu începând cu ramura 5.6). Driverul permite utilizarea adaptoarelor wireless folosite în laptopuri precum Lenovo ThinkPad X13s și DELL XPS 9500. Instalarea fișierelor cu firmware este necesară pentru funcționarea driverului.
- Utilitarului pax i s-a adăugat capacitatea de a scrie în arhive pax, iar utilitarului tar i s-a adăugat suport pentru arhive pax mai mari de 8 GB.
- Utilitarului ifconfig i s-a adăugat suport pentru specificarea numerelor de porturi pentru interfețele de rețea legate de tuneluri, cum ar fi gif și gre.
- În bgpd, mecanismul de transmitere a mesajelor și majoritatea parserilor de protocoale au fost transferate pe noul API pentru operarea sigură în memorie.
- În rpki-client, a fost adăugat suport experimental pentru algoritmul de semnătură digitală P-256. A fost implementată posibilitatea de restricționare a acțiunii RPKI Trust Anchor doar pentru anumite numere de sisteme autonome. A fost adăugată suport pentru listele de prefixe semnate RPKI (Signed Prefix List).
- În smtpd a fost adăugat suport pentru RFC 7505 („Null MX” pentru identificare domenii, care nu acceptă e-mailuri) și a fost asigurată capacitatea de a încorpora în smtpd.conf tabele și liste pe mai multe linii cu filtre.
- A fost oferită posibilitatea de a instala mediu personalizat KDE Plasma 5.27 din pachetele kde-plasma și kde-plasma-extra (după întreruperea suportului KDE4, suportul pentru utilizarea desktop-ului KDE Plasma 5 a rămas în OpenBSD inoperabil). Versiuni propuse sunt KDE Plasma 5.27.10, KDE Applications 23.08.4 și KDE Frameworks 5.115.0.
- Pachetele LibreSSL și OpenSSH au fost actualizate. O revizuire detaliată a îmbunătățirilor poate fi văzută în recenziile LibreSSL 3.9.0, OpenSSH 9.6 și OpenSSH 9.7.
- Numărul de porturi pentru arhitectura AMD64 a fost: 12309 (a fost 11845), pentru aarch64 — 12145 (a fost 11508), pentru i386 — 10830 (a fost 10603). Printre versiunile aplicațiilor din porturi:
- Asterisk 16.30.1, 18.21.0, 20.6.0
- Audacity 3.4.2
- CMake 3.28.3
- Chromium 122.0.6261.111
- FFmpeg 4.4.4
- Firefox 123.0.1, ESR 115.8.0
- GCC 8.4.0, 11.2.0
- GHC 9.6.4
- GNOME 45
- Go 1.22.1
- JDK 8u402, 11.0.22, 17.0.10, 21.0.2
- Krita 5.2.2
- LLVM/Clang 13.0.0, 16.0.6, 17.0.6
- LibreOffice 24.2.1.2
- Lua 5.1.5, 5.2.4, 5.3.6, 5.4.6
- MariaDB 10.9.8
- Mono 6.12.0.199
- Mutt 2.2.13 și NeoMutt 20240201
- Node.js 18.19.1
- OCaml 4.14.1
- OpenLDAP 2.6.7
- PHP 7.4.33, 8.0.30, 8.1.27, 8.2.16, 8.3.3
- Postfix 3.8.6
- PostgreSQL 16.2
- Python 2.7.18, 3.9.18, 3.10.13, 3.11.8
- Qt 5.15.12 (+ patch-uri kde), 6.6.1
- R 4.2.3
- Ruby 3.1.4, 3.2.3, 3.3.0
- Rust 1.76.0
- SQLite 3.44.2
- Shotcut 23.07.29
- Sudo 1.9.15.5
- Suricata 7.0.3
- Tcl/Tk 8.5.19, 8.6.13
- TeX Live 2023
- Thunderbird 115.8.1
- Vim 9.1.139, Neovim 0.9.5
- Xfce 4.18.1
- Componentele de la terți incluse în OpenBSD 7.5 au fost actualizate:
- Stiva grafică Xenocara bazată pe X.Org 7.7 cu xserver 21.1.11 + patch-uri, freetype 2.13.0, fontconfig 2.14.2, Mesa 23.1.9, xterm 378, xkeyboard-config 2.20, fonttosfnt 1.2.3.
- LLVM/Clang 16.0.6 (+ patch-uri)
- GCC 4.2.1 (+ patch-uri) și 3.3.6 (+ patch-uri)
- Perl 5.36.3 (+ patch-uri)
- NSD 4.8.0
- Unbound 1.18
- Ncurses 5.7
- Binutils 2.17 (+ patch-uri)
- Gdb 6.3 (+ patch)
- Awk 22.01.2024
- Expat 2.6.0.
- zlib 1.3.1 (+ patch-uri).
Sursa: opennet.ro
