Die Version des freien UNIX-ähnlichen Betriebssystems OpenBSD 7.3 wurde veröffentlicht. Das OpenBSD-Projekt wurde 1995 von Theo de Raadt gegründet, nachdem es zu Konflikten mit den Entwicklern von NetBSD gekommen war, die dazu führten, dass Theo den Zugriff auf das CVS-Repository von NetBSD verlor. Daraufhin gründete Theo de Raadt mit einer Gruppe Gleichgesinnter ein neues Open-Source-Betriebssystem auf Basis des Quellbaum von NetBSD, dessen Hauptziele Portabilität (unterstützt 13 Hardware-Plattformen), Standardisierung, korrekte Funktionalität, proaktive Sicherheit und integrierte kryptografische Werkzeuge sind. Die Größe des vollständigen Installations-ISO-Images des Basissystems OpenBSD 7.3 beträgt 620 MB.
Neben dem Betriebssystem selbst ist das OpenBSD-Projekt bekannt für seine Komponenten, die auch in anderen Systemen verbreitet sind und sich als eines der sichersten und qualitativ hochwertigsten Lösungen etabliert haben. Dazu gehören: LibreSSL (Fork von OpenSSL), OpenSSH, der Paketfilter PF, die Routing-Dämonen OpenBGPD und OpenOSPFD, der NTP-Server OpenNTPD und Mail-Server. der Server OpenSMTPD, Terminal-Multiplexer (Analog zu GNU Screen) tmux, identd-Demonstrator mit Implementierung des IDENT-Protokolls, BSDL-Alternative zum GNU groff-Paket — mandoc, Protokoll zur Organisation von hochverfügbaren Systemen CARP (Common Address Redundancy Protocol), leichtgewichtiger HTTP-Server, OpenRSYNC-Dateisynchronisations-Utility.
Wesentliche Verbesserungen:
- Es wurden Systemaufrufe implementiert: waitid (Warten auf die Änderung des Prozessstatus), pinsyscall (zum Übertragen von Informationen über den execve-Einstiegspunkt zum Schutz vor ROP-Exploits), getthrname und setthrname (zum Abrufen und Setzen des Thread-Namens).
- Für alle Architekturen wird clockintr verwendet, ein hardwareunabhängiger Interrupt-Planer für den Timer.
- Der sysctl kern.autoconf_serial wurde hinzugefügt, der zur Verfolgung von Änderungen im Zustand des Device-Tree im Kernel aus dem Nutzerraum verwendet werden kann.
- Die Unterstützung für Mehrprozessorsysteme (SMP) wurde verbessert. Ereignisfilter für tun- und tap-Geräte wurden als mp-safe eingestuft. Die Blockierungen der Funktionen select, pselect, poll, ppoll, getsockopt, setsockopt, mmap, munmap, mprotect, sched_yield, minherit und utrace sowie der ioctl-Befehle SIOCGIFCONF, SIOCGIFGMEMB, SIOCGIFGATTR und SIOCGIFGLIST wurden eliminiert. Die Funktionalität der Blockierungen im Paketfilter pf wurde verbessert. Die Leistung des Systems und des Netzwerkstacks auf Mehrkernsystemen wurde deutlich erhöht.
- Die Implementierung des Direct Rendering Managers (drm) wurde mit dem Linux-Kernel 6.1.15 synchronisiert (im vorherigen Release – 5.15.69). Der amdgpu-Treiber erhielt 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». Im amdgpu wurde die Unterstützung für die Steuerung der Hintergrundbeleuchtung hinzugefügt, und die Funktionalität von xbacklight bei Verwendung des X.Org-Treibers modesetting gewährleistet. In Mesa ist das Shader-Caching nun standardmäßig aktiviert.
- Verbesserungen am Hypervisor VMM wurden vorgenommen.
- Die Funktionen zur zusätzlichen Absicherung des Speichers von Prozessen im Benutzerspeicher wurden implementiert: ein Systemaufruf namens mimmutable und die zugehörige gleichnamige Bibliotheksfunktion, die es ermöglicht, die Zugriffsrechte beim Abbilden im Speicher (Memory Mappings) festzulegen. Nach der Fixierung können die für den Speicherbereich festgelegten Rechte, wie z.B. Schreib- und Ausführungsverbot, nicht mehr durch nachfolgende Aufrufe der Funktionen mmap(), mprotect() und munmap() geändert werden; ein Änderungsversuch würde einen Fehler EPERM zurückgeben.
- Auf der AMD64-Architektur ist für Systemaufrufe der RETGUARD-Schutzmechanismus aktiviert, der darauf abzielt, die Ausführung von Exploits zu erschweren, die auf der Ausnutzung von Code-Schnipseln und Techniken zur Rücksprungorientierten Programmierung basieren.
- Ein Schutz gegen die Ausnutzung von Sicherheitsanfälligkeiten wurde aktiviert, basierend auf der zufälligen Neukonfiguration der ausführbaren Datei sshd bei jedem Systemstart. Diese Neukonfiguration macht die Verschiebungen von Funktionen in sshd schwer vorhersagbar, was die Erstellung von Exploits, die Techniken zur Rücksprungorientierten Programmierung nutzen, erschwert.
- Eine aggressivere Randomisierung der Stack-Positionen für 64-Bit-Systeme wurde sichergestellt.
- Schutz vor der Spectre-BHB-Sicherheitsanfälligkeit in mikroarchitektonischen Strukturen von Prozessoren wurde hinzugefügt.
- Auf ARM64-Prozessoren wird für den Benutzer- und Kernraum das DIT-Flag (Data Independent Timing) verwendet, um Angriffe durch Seitenkanäle zu blockieren, die die Ausführungszeitabhängigkeit von den in diesen Anweisungen verarbeiteten Daten manipulieren.
- Es wurde die Möglichkeit hinzugefügt, lladdr bei der Bestimmung von Netzwerkkonfigurationen 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 Ruhezustand für Systeme auf der ARM64-Architektur wurde verbessert.
- Die Unterstützung für Apple ARM-Chips wurde erheblich erweitert.
- Die Unterstützung für neue Hardware wurde hinzugefügt und neue Treiber sind enthalten.
- Im bwfm-Treiber für drahtlose Karten auf Basis von Broadcom- und Cypress-Chips wurde die Unterstützung für WEP-Verschlüsselung implementiert.
- Die Arbeit des Installers mit Software-RAID wurde verbessert und die anfängliche Unterstützung der Festplattenverschlüsselung (Guided Disk Encryption) wurde realisiert.
- In tmux («Terminal-Multiplexer») wurden neue Befehle 'scroll-top' und 'scroll-bottom' hinzugefügt, um den Cursor an den Anfang und das Ende zu bewegen. Die Pakete LibreSSL und OpenSSH wurden aktualisiert. Eine detaillierte Übersicht der Verbesserungen finden Sie in den Veröffentlichungen von LibreSSL 3.7.0, OpenSSH 9.2 und OpenSSH 9.3.
- Die Anzahl der Ports für die Architektur AMD64 beträgt 11764 (vorher 11451), für aarch64 – 11561 (vorher 11261), für i386 – 10572 (vorher 10225). Unter den Versionen der Anwendungen in den Ports:
- 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 Teil von OpenBSD 7.3 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
