È stata presentata l'uscita del sistema operativo open-source simile a UNIX OpenBSD 7.3. Il progetto OpenBSD è stato fondato da Theo de Raadt nel 1995 dopo un conflitto con gli sviluppatori di NetBSD, che gli aveva negato l'accesso al repository CVS di NetBSD. In seguito, Theo de Raadt e un gruppo di sostenitori hanno creato un nuovo sistema operativo open-source basato sull'albero dei sorgenti di NetBSD, con l'obiettivo principale di garantire portabilità (supporto per 13 piattaforme hardware), standardizzazione, funzionamento corretto, sicurezza proattiva e integrazione di strumenti crittografici. La dimensione dell'immagine ISO completa del sistema base OpenBSD 7.3 è di 620 MB.
Oltre al sistema operativo, il progetto OpenBSD è noto per i suoi componenti, che hanno guadagnato popolarità in altri sistemi e si sono affermati come alcune delle soluzioni più sicure e di alta qualità. Tra questi: LibreSSL (fork di OpenSSL), OpenSSH, filtro di pacchetto PF, demoni di routing OpenBGPD e OpenOSPFD, server NTP OpenNTPD, posta elettronica un server OpenSMTPD, il multiplexor del terminale (equivalente a GNU screen) tmux, il demone identd con implementazione del protocollo IDENT, l'alternativa BSD della suite GNU groff — mandoc, il protocollo per organizzare sistemi ridondanti CARP (Common Address Redundancy Protocol), un server http leggero, l'utilità per la sincronizzazione dei file OpenRSYNC.
Miglioramenti principali:
- Sono stati implementati le chiamate di sistema waitid (attesa per la modifica dello stato del processo), pinsyscall (per trasmettere informazioni sul punto di ingresso execve per la protezione dagli exploit ROP), getthrname e setthrname (per ottenere e impostare il nome del thread).
- Per tutte le architetture è stato impiegato clockintr, un pianificatore di interruzioni da timer indeciso dal hardware.
- Aggiunto sysctl kern.autoconf_serial, che può essere utilizzato per monitorare le modifiche allo stato dell'albero dei dispositivi nel kernel dallo spazio utente.
- Migliorato il supporto per sistemi multiprocessore (SMP). Tradotti in mp-safe i filtri degli eventi per i dispositivi tun e tap. Rimosse le zone critiche dalle funzioni select, pselect, poll, ppoll, getsockopt, setsockopt, mmap, munmap, mprotect, sched_yield, minherit e utrace, oltre agli ioctl SIOCGIFCONF, SIOCGIFGMEMB, SIOCGIFGATTR e SIOCGIFGLIST. È stato migliorato il funzionamento con le zone critiche nel filtro dei pacchetti pf. Aumentata la performance del sistema e dello stack di rete su sistemi multi-core.
- L'implementazione del framework drm (Direct Rendering Manager) è stata sincronizzata con il kernel Linux 6.1.15 (precedentemente 5.15.69). Nel driver amdgpu è stata aggiunta la supporto per le GPU Ryzen 7000 "Raphael", Ryzen 7020 "Mendocino", Ryzen 7045 "Dragon Range", Radeon RX 7900 XT/XTX "Navi 31", Radeon RX 7600M (XT), 7700S e 7600S "Navi 33". È stata aggiunta la gestione della retroilluminazione nel driver amdgpu e garantito il funzionamento di xbacklight quando si utilizza il driver modesetting di X.Org. In Mesa è stata abilitata per default la cache degli shader.
- Apportate migliorie all'iperwizzatore VMM.
- Sono state implementate funzionalità per una protezione avanzata della memoria dei processi nello spazio utente: la chiamata di sistema mimmutable e la funzione di libreria omonima, che consente di fissare i diritti di accesso durante la mappatura in memoria. Dopo il fissaggio, i diritti di accesso impostati per l'area di memoria, come il divieto di scrittura e di esecuzione, non possono essere modificati tramite le successive chiamate alle funzioni mmap(), mprotect() e munmap(), che restituiranno un errore EPERM in caso di tentativo di modifica.
- Sull'architettura AMD64, è stato attivato un meccanismo di protezione RETGUARD per le chiamate di sistema, volto a rendere più difficile l'esecuzione di exploit basati sul riutilizzo di frammenti di codice e tecniche di programmazione orientata ai ritorni.
- È stata introdotta una protezione contro l'esploità delle vulnerabilità, basata sulla ricomposizione casuale del file eseguibile sshd ad ogni avvio del sistema. La ricomposizione rende poco prevedibili gli offset delle funzioni in sshd, complicando la creazione di exploit che utilizzano metodi di programmazione orientata ai ritorni.
- È stata garantita una randomizzazione più aggressiva della posizione dello stack sui sistemi a 64 bit.
- Aggiunta la protezione contro la vulnerabilità Spectre-BHB nelle strutture microarchitettoniche dei processori.
- Nei processori ARM64, per lo spazio utente e il kernel, è stato introdotto il flag DIT (Data Independent Timing) per bloccare attacchi tramite canali laterali che manipolano la dipendenza dal tempo di esecuzione delle istruzioni dai dati elaborati in queste istruzioni.
- Fornita la possibilità di utilizzare lladdr per la definizione delle configurazioni di rete. Ad esempio, oltre al vincolo al nome dell'interfaccia (hostname.fxp0), è possibile utilizzare il vincolo all'indirizzo MAC (hostname.00:00:6e:00:34:8f).
- Migliorato il supporto per la modalità di sospensione nei sistemi basati su architettura ARM64.
- Notevolmente ampliato il supporto per i chip ARM di Apple.
- Aggiunto il supporto per nuovo hardware e inclusi nuovi driver.
- Nel driver bwfm per schede wireless basate su chip Broadcom e Cypress è stato implementato il supporto per la crittografia WEP.
- Nel programma di installazione migliorato il funzionamento con RAID software e realizzata una iniziale supporto per la crittografia dei dischi (Guided Disk Encryption).
- In tmux («terminal multiplexer») sono state aggiunte nuove comandi scroll-top e scroll-bottom per navigare all'inizio e alla fine. Aggiornati i pacchetti LibreSSL e OpenSSH. Un'overview dettagliata delle migliorie è disponibile nelle note di rilascio di LibreSSL 3.7.0, OpenSSH 9.2 e OpenSSH 9.3.
- Il numero di porte per l'architettura AMD64 è aumentato a 11764 (erano 11451), per aarch64 a 11561 (erano 11261), per i386 a 10572 (erano 10225). Tra le versioni delle applicazioni nelle porte troviamo:
- Asterisk 16.30.0, 18.17.0 e 20.2.0
- Audacity 3.2.5
- CMake 3.25.2
- Chromium 111.0.5563.110
- Emacs 28.2
- FFmpeg 4.4.3
- GCC 8.4.0 e 11.2.0
- GHC 9.2.7
- GNOME 43.3
- Go 1.20.1
- JDK 8u362, 11.0.18 e 17.0.6
- KDE Gears 22.12.3
- KDE Frameworks 5.103.0
- Krita 5.1.5
- LLVM/Clang 13.0.0
- LibreOffice 7.5.1.2
- Lua 5.1.5, 5.2.4, 5.3.6 e 5.4.4
- MariaDB 10.9.4
- Mono 6.12.0.182
- Mozilla Firefox 111.0 e ESR 102.9.0
- Mozilla Thunderbird 102.9.0
- Mutt 2.2.9 e NeoMutt 20220429
- Node.js 18.15.0
- OCaml 4.12.1
- OpenLDAP 2.6.4
- PHP 7.4.33, 8.0.28, 8.1.16 e 8.2.3
- Postfix 3.5.17 e 3.7.3
- PostgreSQL 15.2
- Python 2.7.18, 3.9.16, 3.10.10 e 3.11.2
- Qt 5.15.8 e 6.4.2
- R 4.2.1
- Ruby 3.0.5, 3.1.3 e 3.2.1
- Rust 1.68.0
- SQLite 2.8.17 e 3.41.0
- Shotcut 22.12.21
- Sudo 1.9.13.3
- Suricata 6.0.10
- Tcl/Tk 8.5.19 e 8.6.13
- TeX Live 2022
- Vim 9.0.1388 e Neovim 0.8.3
- Xfce 4.18
- Aggiornati i componenti di terze parti inclusi in OpenBSD 7.3:
- Il stack grafico Xenocara basato su X.Org 7.7 con xserver 1.21.6 + patch, freetype 2.12.1, fontconfig 2.14, Mesa 22.3.4, xterm 378, xkeyboard-config 2.20, fonttosfnt 1.2.2.
- LLVM/Clang 13.0.0 (+ patch)
- GCC 4.2.1 (+ patch) e 3.3.6 (+ patch)
- Perl 5.36.1 (+ patch)
- NSD 4.6.1
- Unbound 1.17
- Ncurses 5.7
- Binutils 2.17 (+ patch)
- Gdb 6.3 (+ patch)
- Awk 12.9.2022
- Expat 2.5.0.
Fonte: opennet.ru
