Die Veröffentlichung des freien UNIX-ähnlichen Betriebssystems OpenBSD 7.3 wurde vorgestellt. Das OpenBSD-Projekt wurde 1995 von Theo de Raadt gegründet, nachdem es zu Konflikten mit den Entwicklern von NetBSD kam, wodurch der Zugang von Theo zum CVS-Repository von NetBSD gesperrt wurde. Danach gründete Theo de Raadt mit einer Gruppe Gleichgesinnter ein neues offenes Betriebssystem basierend auf dem Quellbaum von NetBSD, dessen Hauptziele die Portabilität (unterstützt 13 Hardware-Plattformen), Standardisierung, korrekte Funktionalität, proaktive Sicherheit und integrierte kryptografische Mittel wurden. Die Größe des vollständigen Installations-ISO-Abbilds des Basissystems OpenBSD 7.3 beträgt 620 MB.
Neben dem Betriebssystem ist das OpenBSD-Projekt bekannt für seine Komponenten, die sich in anderen Systemen verbreitet haben und sich als einige der sichersten und qualitativ hochwertigsten Lösungen etabliert haben. Dazu gehören: LibreSSL (Fork von OpenSSL), OpenSSH, das Paketfilter PF, die Routing-Demons OpenBGPD und OpenOSPFD, der NTP-Server OpenNTPD, die Mailserver OpenSMTPD, der Textterminal-Multiplexer (ähnlich GNU Screen) tmux, der identd-Dämon mit Implementierung des IDENT-Protokolls, die BSDL-Alternative zum GNU groff-Paket — mandoc, das Protokoll zur Organisation von fehlertoleranten Systemen CARP (Common Address Redundancy Protocol), ein leichter HTTP-Server, das Dateisynchronisierungstool OpenRSYNC. Server Für die ARM64-Architektur wurde die Unterstützung für Raspberry Pi 5 hinzugefügt, der acpicpu-Treiber implementiert, apm (Advanced Power Management) und sysctl hw.cpuspeed auf Geräten mit Qualcomm Snapdragon X Elite sichergestellt.
Hauptverbesserungen:
- Systemaufrufe wie waitid (Warten auf Zustandsänderungen des Prozesses), pinsyscall (zum Übertragen von Informationen über den Einstiegspunkt execve zum Schutz vor ROP-Exploit-Techniken), getthrname und setthrname (Abrufen und Setzen des Thread-Namens) wurden implementiert.
- Für alle Architekturen wird clockintr verwendet, ein unabhängiger Zeitplaner für Timer-Interrupts.
- Es wurde der sysctl kern.autoconf_serial hinzugefügt, der verwendet werden kann, um Änderungen am Geräteaum im Kernel aus dem Benutzerspeicher zu verfolgen.
- Die Unterstützung für Multiprocessor-Systeme (SMP) wurde verbessert. Ereignisfilter für die Geräte tun und tap wurden auf mp-safe umgestellt. Funktionen wie select, pselect, poll, ppoll, getsockopt, setsockopt, mmap, munmap, mprotect, sched_yield, minherit und utrace sowie ioctl SIOCGIFCONF, SIOCGIFGMEMB, SIOCGIFGATTR und SIOCGIFGLIST wurden von Sperren befreit. Die Zusammenarbeit mit Sperren im Paketfilter pf wurde verbessert. Die System- und Netzwerk-Performance auf Multi-Core-Systemen wurde gesteigert.
- Die Implementierung des drm (Direct Rendering Manager) Frameworks wurde mit dem Linux-Kernel 6.1.15 synchronisiert (im vorherigen Release 5.15.69). Der Treiber amdgpu hat Unterstützung für die GPUs Ryzen 7000 „Raphael“, Ryzen 7020 „Mendocino“, Ryzen 7045 „Dragon Range“, Radeon RX 7900 XT/XTX „Navi 31“, Radeon RX 7600M (XT), 7700S und 7600S „Navi 33“ erhalten. In amdgpu wurde die Unterstützung für die Steuerung des Hintergrundlichts hinzugefügt, und xbacklight funktioniert beim Einsatz des X.Org-Treibers modesetting. In Mesa ist das Caching von Shadern standardmäßig aktiviert.
- Verbesserungen am Hypervisor VMM wurden vorgenommen.
- Es wurden Möglichkeiten für einen zusätzlichen Schutz des Speichers von Prozessen im Benutzerspeicher realisiert: der Systemaufruf mimmutable und die damit verbundene gleichnamige Bibliotheksfunktion, die es ermöglicht, die Zugriffsrechte beim Spiegeln in den Speicher (memory mappings) zu fixieren. Nach der Fixierung sind die für den Speicherbereich festgelegten Rechte, wie zum Beispiel das Verbot von Schreiben und Ausführen, nicht mehr durch nachfolgende Aufrufe der Funktionen mmap(), mprotect() und munmap() änderbar, die bei einem Änderungsversuch einen Fehler EPERM ausgeben.
- Auf der AMD64-Architektur wurde für Systemaufrufe der RETGUARD-Schutzmechanismus aktiviert, der darauf abzielt, die Ausführung von Exploits zu erschweren, die auf der Entlehnung von Codefragmenten und Techniken der rückkehrorientierten Programmierung basieren.
- Der Schutz vor der Ausnutzung von Sicherheitsanfälligkeiten wurde aktiviert, basierend auf der zufälligen Neukomposition der ausführbaren Datei sshd bei jedem Systemstart. Die Neukomposition macht die Verschiebungen von Funktionen in sshd schwer vorhersagbar, was die Erstellung von Exploits, die rückkehrorientierte Programmiermethoden nutzen, erschwert.
- Es wurde eine aggressivere Randomisierung der Stackplatzierung auf 64-Bit-Systemen gewährleistet.
- Ein Schutz gegen die Spectre-BHB-Sicherheitsanfälligkeit wurde in den mikroarchitektonischen Strukturen der Prozessoren hinzugefügt.
- Auf ARM64-Prozessoren wurde für den Benutzerspeicher und den Kernel das DIT (Data Independent Timing)-Flag aktiviert, um Angriffe über Seitenkanäle zu blockieren, die die Abhängigkeit der Ausführungszeit von den in diesen Anweisungen verarbeiteten Daten manipulieren.
- Es wurde die Möglichkeit bereitgestellt, lladdr bei der Bestimmung von Netzwerk-Konfigurationen zu verwenden. Zum Beispiel kann neben der Bindung an den Schnittstellennamen (hostname.fxp0) auch die Bindung an die MAC-Adresse (hostname.00:00:6e:00:34:8f) verwendet werden.
- Die Unterstützung für den Übergang in den Energiesparmodus wurde für Systeme mit ARM64-Architektur verbessert.
- Die Unterstützung für ARM-Chips von Apple wurde erheblich erweitert.
- Die Unterstützung für neue Hardware wurde hinzugefügt und neue Treiber wurden integriert.
- Im bwfm-Treiber für drahtlose Karten auf Basis von Broadcom- und Cypress-Chips wurde die Unterstützung für die Verschlüsselung für WEP implementiert.
- Im Installer wurde die Funktionalität mit Software-RAID verbessert und die anfängliche Unterstützung für die Festplattenverschlüsselung (Guided Disk Encryption) umgesetzt.
- Im tmux („Terminal Multiplexer“) wurden neue Befehle für scroll-top und scroll-bottom hinzugefügt, um den Cursor an den Anfang und das Ende zu scrollen. Die Pakete LibreSSL und OpenSSH wurden aktualisiert. Eine detaillierte Übersicht über die Verbesserungen finden Sie in den Reviews von LibreSSL 3.7.0, OpenSSH 9.2 und OpenSSH 9.3.
- Die Anzahl der Ports für die Architektur AMD64 beträgt 11764 (früher 11451), für aarch64 – 11561 (früher 11261), für i386 – 10572 (früher 10225). Unter den Versionen der Anwendungen in den Ports sind:
- Asterisk 16.30.0, 18.17.0 und 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 und 11.2.0
- GHC 9.2.7
- GNOME 43.3
- Go 1.20.1
- JDK 8u362, 11.0.18 und 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 und 5.4.4
- MariaDB 10.9.4
- Mono 6.12.0.182
- Mozilla Firefox 111.0 und ESR 102.9.0
- Mozilla Thunderbird 102.9.0
- Mutt 2.2.9 und 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 und 8.2.3
- Postfix 3.5.17 und 3.7.3
- PostgreSQL 15.2
- Python 2.7.18, 3.9.16, 3.10.10 und 3.11.2
- Qt 5.15.8 und 6.4.2
- R 4.2.1
- Ruby 3.0.5, 3.1.3 und 3.2.1
- Rust 1.68.0
- SQLite 2.8.17 und 3.41.0
- Shotcut 22.12.21
- Sudo 1.9.13.3
- Suricata 6.0.10
- Tcl/Tk 8.5.19 und 8.6.13
- TeX Live 2022
- Vim 9.0.1388 und Neovim 0.8.3
- Xfce 4.18
- Die Komponenten von Drittanbietern, die in OpenBSD 7.3 enthalten sind, wurden aktualisiert:
- Der grafische Stack Xenocara basiert auf X.Org 7.7 mit xserver 1.21.6 + Patches, 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 (+ Patches)
- GCC 4.2.1 (+ Patches) und 3.3.6 (+ Patches)
- Perl 5.36.1 (+ Patches)
- NSD 4.6.1
- Unbound 1.17
- Ncurses 5.7
- Binutils 2.17 (+ Patches)
- Gdb 6.3 (+ Patch)
- Awk 12.9.2022
- Expat 2.5.0.
Quelle: opennet.ru
