Die Veröffentlichung des freien UNIX-Ă€hnlichen Betriebssystems OpenBSD 7.7 wurde vorgestellt. Das Projekt OpenBSD wurde 1995 von Theo de Raadt nach einem Konflikt mit den Entwicklern von NetBSD gegrĂŒndet, der dazu fĂŒhrte, dass Theo der Zugriff auf das CVS-Repository von NetBSD verweigert wurde. Daraufhin schuf Theo de Raadt mit einer Gruppe Gleichgesinnter auf der Basis des Quellbaum von NetBSD ein neues Open-Source-Betriebssystem, dessen Hauptziele PortabilitĂ€t (unterstĂŒtzt 13 Hardware-Plattformen), Standardisierung, korrekte Funktionsweise, proaktive Sicherheit und integrierte kryptografische Mittel sind. Die GröĂe des vollstĂ€ndigen Installations-ISO-Images des Basissystems OpenBSD 7.7 betrĂ€gt 746 MB.
Neben dem Betriebssystem ist das OpenBSD-Projekt bekannt fĂŒr seine Komponenten, die in anderen Systemen verbreitet und als einige der sichersten und qualitativ hochwertigsten Lösungen anerkannt sind. Dazu gehören: LibreSSL (Fork von OpenSSL), OpenSSH, das Paketfilter-PF, die Routing-Demons OpenBGPD und OpenOSPFD, der NTP-Server OpenNTPD, der Mailserver OpenSMTPD, der Multiplexer fĂŒr Textterminals (Ă€hnlich GNU screen) tmux, der Daemon identd mit Implementierung des IDENT-Protokolls, die BSDL-Alternative zum GNU groff-Paket â mandoc, das Protokoll fĂŒr den Aufbau fehlertoleranter Systeme CARP (Common Address Redundancy Protocol), ein leichtgewichtiger HTTP-Server und das Tool zur Dateisynchronisation OpenRSYNC.
HauptÀnderungen:
- Die Umsetzung des drm (Direct Rendering Manager)-Frameworks ist mit dem Kernel Linux 6.12.21 synchronisiert (in der vorherigen Version â 6.6.52). Im Treiber inteldrm wurde die UnterstĂŒtzung fĂŒr die in Intel-Prozessoren basierende Mikroarchitektur Arrow Lake implementiert. Im Treiber amdgpu wurde die UnterstĂŒtzung fĂŒr die GPU Ryzen AI 300 (Strix Point, Strix Halo, Krackan Point) und Radeon RX 9070 (Navi 48) hinzugefĂŒgt.
- Im Port fĂŒr die Architektur ARM64 wurde die UnterstĂŒtzung des Vektoroperationssatzes SVE (Scalable Vector Extension) implementiert. Auf Systemen mit ARM-Chips von Apple M1 wurde das Energiemanagement implementiert. Im Mechanismus zur Abbildung physischer Speicherseiten (pmap, physische Abbildung) wurden die Puffer-Ausscheidungsoperationen der assoziativen Ăbersetzung (TLB) optimiert, was die AusfĂŒhrung des Kernels um etwa 5 % beschleunigte. Auf GerĂ€ten, die den QARMA3-VerschlĂŒsselungsalgorithmus zur Sicherung des Adressraums des Benutzers unterstĂŒtzen, ist die Zeiger-Authentifizierung (PAC, Pointer Authentication Code) aktiviert.
- Auf x86_64-Systemen, die Gastbetriebssysteme mittels QEMU ausfĂŒhren, wurde die UnterstĂŒtzung des Mechanismus AMD SEV (Secure Encrypted Virtualization) implementiert, der in Virtualisierungssystemen zum Schutz eingesetzt wird. virtuelle Maschinen vor Eingriffen durch den Hypervisor oder den Administrator des Host-Systems. Im Driver psp, der zur Konfiguration und zum Start von Gastbetriebssystemen mit aktiviertem AMD SEV verwendet wird, wurde ein Befehl hinzugefĂŒgt, um die Firmware in den Chip zu laden.
- Auf x86_64-Systemen wurde die Möglichkeit hinzugefĂŒgt, fĂŒr DMA Bereiche des Hauptspeichers gröĂer als 4 GB zuzuweisen.
- Die UnterstĂŒtzung fĂŒr die Architekturen RISC-V, Sparc64, HPPA, i386 und Powerpc64 wurde verbessert.
- Die Behandlung von Situationen des Speichermangels im System (OOM) wurde verbessert.
- Die ptrace-Trace-Mechanismen wurden um Funktionen erweitert, die es ermöglichen, Haltepunkte im Debugger gdb in Mehrfach-Threads-Prozessen zu setzen. Befehle zum Lesen und Schreiben des Bereichs, in dem im nachverfolgten Prozess der Zustand des Prozessors mithilfe des Befehls XSAVE gespeichert wird, wurden hinzugefĂŒgt.
- In Skripten in der Sprache BT (BPFtrace oder Bug Tracing), die im btrace-Tracing-System verwendet werden, wurde die UnterstĂŒtzung fĂŒr mehrzeilige Konstruktionen hinzugefĂŒgt. Der btrace-Utility wurden zusĂ€tzliche Profile und Benennungen von Zeitintervallen (hz, us, ms, s) hinzugefĂŒgt.
- Ein sysctl-Parameter kern.audio.kbdcontrol wurde hinzugefĂŒgt, dessen Einstellung auf 0 Multimedia-Tasten zur LautstĂ€rkeregelung auf der Tastatur wie normale Tasten behandelt.
- Die Behandlung von Fehlern wurde verbessert und die ĂberprĂŒfungen beim Wechsel in den Ruhezustand und den Wartemodus wurden erweitert.
- Der Code zum Stoppen von Prozessen beim Eintreffen eines Signals wurde ĂŒberarbeitet, was Probleme mit dem Stoppen von Mehrfach-Threads-Prozessen behoben hat, die in Paketen wie golang und mpv aufgetreten sind.
- Die UnterstĂŒtzung fĂŒr multiprozessorfĂ€hige Systeme (SMP) wurde verbessert. Die gleichzeitige Verarbeitung von TCP-Ein- und -Ausgabe-Timern wurde sichergestellt, wĂ€hrend die Systemaufrufe send() und recv() auf die Verwendung von gemeinsamen Sperren umgestellt wurden. Mehrere Benutzer-Threads können nun parallel mit verschiedenen Sockets arbeiten, ohne dass die TCP-Ausgabe die Verarbeitung von IP-Paketen blockiert.
Die Systemaufrufe open, openat, ptsignal, psignal und prsignal sowie 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 wurden von der globalen Sperre befreit. Die Treiber psp, wsmouse und wstpad sowie die Struktur video_filtops wurden zu mp-safe konvertiert.
- Im Hypervisor VMM wurde die Möglichkeit implementiert, acpipci zur Anbindung von PCI-Bussen zu verwenden.
- Es besteht die Möglichkeit, eine alternative Leistungsrichtlinie (perfpolicy) zu definieren, die beim Betrieb des Systems von der Batterie angewendet wird.
- In das sysctl-Kommando wurde die Option â-f fileâ hinzugefĂŒgt, um alle Einstellungen aus einer Datei auf einmal zu laden. In den rc-Skripten wird die neue Option verwendet, um sysctl.conf vollstĂ€ndig zu laden, anstatt sie zeilenweise zu parsen.
- Im Befehl pkg_add wurde ein Aufruf von ldconfig implementiert, wenn sich die Liste der gemeinsam genutzten Bibliotheken als Ergebnis der Installation neuer Pakete geÀndert hat.
- Die UnterstĂŒtzung neuer Hardware wurde hinzugefĂŒgt. Die UnterstĂŒtzung fĂŒr die SoC MediaTek und Qualcomm Snapdragon (einschlieĂlich X Elite) wurde verbessert. Die UnterstĂŒtzung fĂŒr GerĂ€te wie das Samsung Galaxy Book4 Edge, ThinkPad T14 Gen 5, Vivobook, ThinkPad X1 Nano Gen 2, ThinkPad X13 und verschiedene Chromebook wurde verbessert. Der Treiber ice fĂŒr Intel E810 Ethernet 1Gb/10Gb/25Gb/50Gb/100Gb und der Treiber ixv fĂŒr virtuelle Funktionen von Intel Ethernet 82598EB, 82559 und X540 wurden hinzugefĂŒgt. Die Arbeit zur Auslagerung von Netzoperationen auf die Grafikkarten wurde fortgesetzt.
- Im sysupgrade wurde ein Modus fĂŒr Offline-Updates von Systemen mit Paketen, die im lokalen Dateisystem gespeichert sind, implementiert.
- Im Dienstprogramm fw_update wurde die Möglichkeit zur Bereitstellung (nicht Installation) von Firmware fĂŒr normale Benutzer ohne Root-Rechte hinzugefĂŒgt. Ein Flag â-lâ wurde hinzugefĂŒgt, um eine Liste von Treibern und Dateien anzuzeigen.
- FĂŒr den Prozess sshd-auth wurde ein Schutz gegen die Ausnutzung von SicherheitsanfĂ€lligkeiten aktiviert, der auf einer zufĂ€lligen Umstrukturierung der ausfĂŒhrbaren Datei bei jedem Systemstart basiert (relink). Die Umstrukturierung erschwert vorhersehbare Offset-Positionen von Funktionen, was die Erstellung von Exploits, die auf rĂŒckkehrorientierten Programmiermethoden basieren, erschwert.
- Die Isolierung des mountd-Prozesses wurde mit dem Systemaufruf unveil sichergestellt.
- Im Netzwerk-Stack wurde die UnterstĂŒtzung fĂŒr Sockets AF_FRAME und die Protokollfamilie IFT_ETHER implementiert, wodurch Anwendungen Ethernet-Frames senden und empfangen können. FĂŒr ausgehende UDP- und TCP-Pakete wurde eine neue Hashing-Methode verwendet, die die Verteilung des Traffics auf Warteschlangen optimiert und die UDP-Ăbertragung fĂŒr IPv4/IPv6 und TCP fĂŒr IPv6 erheblich (~20%) beschleunigt. FĂŒr das GerĂ€t tun wurde ioctl TUNSCAP implementiert und die Interaktion zwischen Kernel und Benutzerraum optimiert. FĂŒr jeden Thread wurde ein separater Routing-Cache implementiert. Im Treiber vio wurde der Modus multiqueue aktiviert.
- Im Dienstprogramm pfctl wurde die Definition von Bandbreiten fĂŒr Netzwerkinterfaces und Warteschlangen, die 4 GBit ĂŒberschreiten, ermöglicht.
- In iked, der Implementierung des IKEv2-Protokolls fĂŒr IPsec, wurde die Option ânattâ hinzugefĂŒgt, um nat-t zwangsweise zu verwenden.
- In relayd, einem Hintergrundprozess zur Umleitung und Lastverteilung von Anfragen, wurde die UnterstĂŒtzung fĂŒr Client-Zertifikate implementiert. TLS-Zertifikate.
- Das Netzwerkleistungs-Messwerkzeug tcpbench unterstĂŒtzt jetzt TLS.
- In bgpd wurde die UnterstĂŒtzung fĂŒr RFC 8654 (BGP Extended Message), RFC 8538 (BGP Notification Message) implementiert, standardmĂ€Ăig ist die Option âreject as-setâ aktiviert, und es wurde ein Caching fĂŒr Adj-RIB-Out bereitgestellt.
- In LibreSSL 4.1.0 wurde experimentelle UnterstĂŒtzung fĂŒr die Architektur loongarch64 hinzugefĂŒgt, es wurden neue Assembler-Implementierungen der Algorithmen SHA-1, SHA-256 und SHA-512 fĂŒr die Architektur amd64 (SHA-NI-Befehl aktiviert), neue Assembler-Implementierungen fĂŒr SHA-256 und SHA-512 fĂŒr Aarch64 (CE-Erweiterung aktiviert), und die MD5-Implementierung fĂŒr amd64 wurde vereinfacht, auch wurde ein Caching der RĂŒckrufzertifikatslisten (CRLs) gewĂ€hrleistet, und die Implementierung von ML-KEM 768 und 1024 wurde aus BoringSSL portiert.
- OpenSSH wurde aktualisiert. Die Ănderungsprotokoll kann im AnkĂŒndigung von OpenSSH 10 eingesehen werden (UnterstĂŒtzung fĂŒr digitale DSA-Signaturen entfernt, Authentifizierungsoperationen in einen separaten Prozess sshd-auth ausgegliedert, standardmĂ€Ăig ist der hybride SchlĂŒsselwechselalgorithmus âmlkem768x25519-sha256â aktiviert).
- Die Anzahl der Ports fĂŒr die Architektur AMD64 betrĂ€gt 12593 (frĂŒher 12312), fĂŒr aarch64 â 12446 (frĂŒher 12148), fĂŒr i386 â 10429 (frĂŒher 10534). Unter den Versionen der Anwendungen in den Ports:
- Asterisk 16.30.1, 18.26.1, 20.13.0 und 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 und 11.2.0
- GNOME 47
- Go 1.24.1
- JDK 8u442, 11.0.26, 17.0.14 und 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 und ESR 128.9.0
- Mozilla Thunderbird 128.9.0
- Mutt 2.2.14 und NeoMutt 20250113
- Node.js 22.14.0
- OpenLDAP 2.6.9
- PHP 8.2.28, 8.3.19 und 8.4.5
- Postfix 3.10.1
- PostgreSQL 17.4
- Python 2.7.18 und 3.12.9
- Qt 5.15.16 (+ KDE-Projekt-Patches) und 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 und 8.6.16
- Vim 9.1.1265 und Neovim 0.10.4
- Xfce 4.20.0
- Die Komponenten von Drittanbietern in OpenBSD 7.7 wurden aktualisiert:
- Der Xenocara-Grafikstack auf Basis von X.Org 7.7 mit xserver 21.1.16 + Patches, 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 (+ Patches)
- GCC 4.2.1 (+ Patches) und 3.3.6 (+ Patches)
- Perl 5.40.1 (+ Patches)
- NSD 4.9.1
- Unbound 1.22.0
- Ncurses 6.4
- Binutils 2.17 (+ Patches)
- Gdb 6.3 (+ Patches)
- Awk 20250116
- Expat 2.7.1
- zlib 1.3.1 (+ Patches)
Quelle: opennet.ru
