Release von OpenBSD 7.4

Die Veröffentlichung des freien UNIX-ähnlichen Betriebssystems OpenBSD 7.4 wurde vorgestellt. Das Projekt OpenBSD 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 der Zugriff auf das CVS-Repository von NetBSD verwehrt wurde. Daraufhin gründete Theo de Raadt mit einer Gruppe Gleichgesinnter auf der Basis des NetBSD-Quellbaum eine neue offene Betriebssystem, dessen Hauptziele Portabilität (unterstützt 13 Hardware-Plattformen), Standardisierung, korrekte Funktionalität, proaktive Sicherheit und integrierte kryptografische Mittel sind. Die Größe des vollständigen Installations-ISO-Abbilds des Basissystems OpenBSD 7.4 beträgt 630 MB.

Neben dem Betriebssystem ist das OpenBSD-Projekt für seine Komponenten bekannt, die in anderen Systemen weit verbreitet sind und sich als eine der sichersten und qualitativ hochwertigsten Lösungen etabliert haben. Dazu gehören: LibreSSL (ein Fork von OpenSSL), OpenSSH, der Paketfilter PF, die Routing-Dämonen OpenBGPD und OpenOSPFD, der NTP-Server OpenNTPD, der Mailserver OpenSMTPD, der Terminalsynchronisierer tmux (eine Alternative zu GNU screen), der identd-Dämon mit der Implementierung des IDENT-Protokolls, die BSDL-Alternative zum GNU groff-Paket – mandoc, das Protokoll zur Einrichtung von ausfallsicheren Systemen CARP (Common Address Redundancy Protocol), ein leichter HTTP-Server und das Dateisynchronisierungstool OpenRSYNC.

Wesentliche Verbesserungen:

  • Für die Architekturen amd64 und i386 wurden Komponenten zum Aktualisieren des Mikrocode für AMD-Prozessoren hinzugefügt. Neue Mikrocode-Versionen werden automatisch beim Booten installiert. Ein Port „ports/sysutils/firmware/amd“ wurde vorbereitet, um die Binärdateien mit dem Mikrocode bereitzustellen. Die Installation des neuen Mikrocode erfolgt mit dem normalen Dienstprogramm fw_update. Eine ähnliche Unterstützung für die Aktualisierung des Mikrocode für Intel-Prozessoren wurde 2018 implementiert und in der Version OpenBSD 6.3 angeboten.
  • Im Kernel und im Benutzerspeicher wurden Schutzmechanismen für IBT (Indirect Branch Tracking, amd64) und BTI (Branch Target Identification, arm64) aktiviert, die darauf abzielen, die normale Ausführungsreihenfolge (control flow) zu blockieren, um Angriffen entgegenzuwirken, die die in der Speicherspeicher gehaltenen Funktionszeiger ändern (der implementierte Schutz lässt keinen schädlichen Code zu, um mitten in einer Funktion einen Sprung durchzuführen).
  • Auf Systemen mit arm64-Architektur ist zur Absicherung des Benutzerspeichers die Pointer-Authentifizierung aktiviert. Diese Technologie ermöglicht die Nutzung spezialisierter ARM64-Instruktionen zur Überprüfung von Rückgabeadressen mittels digitaler Signaturen, die in den ungenutzten oberen Bits des Zeigers gespeichert werden.
  • Die Einstellungen des Systemcompilers Clang sowie Clang und GCC aus den Ports wurden angepasst, um die oben genannten Schutzmechanismen zu implementieren, was den Schutz aller grundlegenden Anwendungen und der meisten Anwendungen aus den Ports gegen Exploits, die Rückkehrorientierte Programmierung (ROP — Return-Oriented Programming) verwenden, erheblich verstärkt hat. Bei der Nutzung der ROP-Technik versucht der Angreifer nicht, seinen Code im Speicher zu platzieren, sondern operiert mit bereits vorhandenen Teilen der Maschinenanweisungen in den geladenen Bibliotheken, die mit einer Rücksprunganweisung enden (in der Regel Enden von Bibliotheksfunktionen). Das Funktionieren des Exploits reduziert sich auf den Aufbau einer Kette von Aufrufen solcher Blöcke („Gadgets“), um die benötigte Funktionalität zu erlangen.
  • Ein neuer Systemaufruf kqueue1 wurde hinzugefügt, der sich von kqueue dadurch unterscheidet, dass er Flags übergibt. Derzeit wird im kqueue1 nur das Flag O_CLOEXEC (close-on-exec) unterstützt, um offene Dateideskriptoren im untergeordneten Prozess nach dem Aufruf von exec() automatisch zu schließen.
  • Für die Architekturen amd64 und i386 wurde die Unterstützung des Pseudogeräts dt implementiert, um die dynamische System- und Anwendungsüberwachung zu organisieren. Der Systemaufruf utrace wurde hinzugefügt, um benutzerdefinierte Einträge in das ktrace-Log einzufügen.
  • Fehlerbehebungen aus FreeBSD wurden übernommen, die undefiniertes Verhalten bei der Verwendung von MS-DOS-Dateisystemen beseitigen.
  • Die Option zur Verwendung von softdep, die für das verzögerte Sammeln von Metadaten zuständig ist, wurde deaktiviert.
  • Für Programme, die durch den Systemaufruf unveil geschützt sind, wurde das Speichern von Core-Dumps im aktuellen Arbeitsverzeichnis erlaubt.
  • Für die ARM64-Architektur wird die Möglichkeit zur Übergabe in tiefe Inaktivitätszustände (idle) aktiviert, die in Apple M1/M2-Chips verfügbar sind, um Energie zu sparen und den Schlafmodus zu realisieren.
  • Ein Umgehungsschutz gegen die Zenbleed-Schwachstelle in AMD-Prozessoren wurde hinzugefügt.
  • Verbesserte Unterstützung für Multiprozessorsysteme (SMP). Die Funktionen arprequest(), die Verarbeitung eingehender ARP-Pakete sowie die Implementierung der Nachbarkeitsbestimmung im IPv6-Stack wurden von Sperren befreit.
  • Die Schnittstelle zur Synchronisation der Paketfiltertabelle pfsync wurde neu geschrieben, um die Handhabung von Sperren zu verbessern und die Kompatibilität mit zukünftigen Arbeiten zur Parallelisierung des Netzwerkstacks zu gewährleisten.
  • Die Implementierung des DRM-Frameworks (Direct Rendering Manager) wurde mit dem Linux-Kernel 6.1.55 synchronisiert (in der vorherigen Version — 6.1.15). Die Leistung wurde auf Systemen mit Intel-Prozessoren der Mikroarchitekturen Alder Lake und Raptor Lake verbessert.
  • Verbesserungen wurden im Hypervisor VMM vorgenommen. In vmd wurde Unterstützung für ein multiprozessuales Modell für blockorientierte und netzwerkbasierte Virtio-Geräte implementiert. Für blockbasierte Virtio-Geräte wurde die Unterstützung für Vektoreingabe/Ausgabe im Zero-Copy-Modus hinzugefügt. Der Zugang von Gastsystemen zu den p-state Modi von AMD-Prozessoren wurde eingeschränkt. Besitzern virtuellen Maschinen ist es erlaubt, über vmctl den zu ladenden Kernel zu überschreiben.
  • Eine neue Header-Datei uchar.h wurde hinzugefügt, die die Typen char32_t und char16_t sowie die im C11-Standard festgelegten Funktionen c32rtomb(), mbrtoc32(), c16rtomb() und mbrtoc16() enthält.
  • Die Funktion malloc wurde um die Option „D“ erweitert, um Speicherlecks mithilfe von ktrace („MALLOC_OPTIONS=D ktrace -tu Programm“) und kdump („kdump -u malloc …“).
  • Das Werkzeug make unterstützt jetzt die Variable ${.VARIABLES}, um die Namen aller gesetzten globalen Variablen auszugeben.
  • In das Werkzeug kdump wurde die Option „-u“ hinzugefügt, um Utrace-Tracepoints nach einer angegebenen Markierung auszuwählen.
  • In openrsync wurden die Optionen „—size-only“ und „—ignore-times“ hinzugefügt.
  • In cron und crontab wurde die Unterstützung für zufällige Verschiebungen beim Angabe von Wertebereichen mit einem gegebenen Schritt hinzugefügt, sodass die gleichzeitige Abfrage von Ressourcen von verschiedenen Maschinen mit denselben cron-Regeln vermieden werden kann. Zum Beispiel führt die Angabe „0~59/30“ oder „~/30“ im Minutenfeld dazu, dass der Befehl zweimal pro Stunde über aufeinanderfolgende zufällig ausgewählte Intervalle gestartet wird.
  • Das Werkzeug wsconsctl bietet jetzt die Möglichkeit zum Mapping von Tasten für Berührungen mit zwei oder drei Fingern auf dem Touchpad.
  • Die Unterstützung für neue Hardware wurde hinzugefügt und neue Treiber sind enthalten.
  • Die Installation auf Systemen mit ARMv7- und ARM64-Prozessoren wurde verbessert.
  • Die Unterstützung für das Laden von Dateien aus der EFI-Systempartition wurde hinzugefügt.
  • Im Installer wurde die Unterstützung für Software-RAID (softraid) verbessert. Es wurde die Möglichkeit hinzugefügt, die Root-Partition im softraid auf riscv64- und arm64-Systemen zu platzieren. Softraid wurde für die Architektur powerpc64 in den Ramdisk integriert. Für arm64 wurde die Unterstützung für die Verschlüsselung von Festplatten (Guided Disk Encryption) implementiert.
  • In die malloc-Funktion wurde eine Überprüfung aller Blöcke in der Liste der verzögerten Speicherfreigaben zur Erkennung von Situationen, in denen in einen freigegebenen Speicherbereich geschrieben wird, aufgenommen.
  • Um den Befehl shutdown auszuführen, ist nun die Hinzufügung des Benutzers zur Gruppe „_shutdown“ erforderlich, was die Befugnisse in Bezug auf das Herunterfahren und das direkte Lesen von Festplattenressourcen trennt.
  • Durch den Systemaufruf unveil wurde das Dienstprogramm patch darin eingeschränkt, nur auf das aktuelle Verzeichnis, das Verzeichnis für temporäre Dateien und die in der Befehlszeile aufgeführten Dateien zugreifen zu können.
  • Die sysctl-Variable net.inet6.icmp6.nd6_queued wurde hinzugefügt, um die Anzahl der Pakete anzuzeigen, die auf eine ND6-Antwort warten (analog zu ARP).
  • Bei der Konfiguration einer IPv6-Adresse auf der Netzwerkschnittstelle wird eine Annonce an benachbarte Router über die Multicast-Adresse gesendet.
  • Erste Unterstützung für TSO (TCP Segmentation Offload) und LRO (TCP Large Receive Offload) zur Verarbeitung von Segmenten und zum Zusammenfassen von Paketen auf der Seite der Netzwerkkarte hinzugefügt.
  • Die Ladegeschwindigkeit aus dem Kernel der Paketfilterregeln pf wurde mit dem Tool pfctl beschleunigt. Die Verarbeitung der Aktionen 'keep state' und 'nat-to' für über ICMP zurückgegebene Fehlermeldungen wurde aktiviert.
  • Die Berechnung von IP-, TCP- und UDP-Prüfziffern für Loopback-Schnittstellen wurde deaktiviert.
  • Erste Unterstützung hinzugefügt VPN IPsec, das von der Routenführung abhängt (route-based).
  • Im bgpd wurde die Unterstützung für Flowspec (RFC5575) hinzugefügt (derzeit wird nur die Ankündigung von Flowspec-Regeln unterstützt). Die Implementierung der ASPA (Autonomous System Provider Authorization) entspricht den Spezifikationen draft-ietf-sidrops-aspa-verification-16 und draft-ietf-sidrops-aspa-profile-16 und wurde auf die Verwendung von suchunabhängigen Tabellen (AFI – Address Family Indicator) umgestellt.
  • Die Leistung des rpki-client wurde um 30-50 % gesteigert. Unterstützung für Gzip- und Deflate-Kompression wurde hinzugefügt.
  • Die Pakete LibreSSL und OpenSSH wurden aktualisiert. Eine detaillierte Übersicht der Verbesserungen kann in den Veröffentlichungen von LibreSSL 3.8.0, OpenSSH 9.4 und OpenSSH 9.5 eingesehen werden.
  • Die Anzahl der Ports für die Architektur AMD64 beträgt 11845 (vorher 11764), für aarch64 – 11508 (vorher 11561), für i386 – 10603 (vorher 10572). Unter den Anwendungsversionen in den Ports:
    • Asterisk 16.30.1, 18.19.0, 20.4.0
    • Audacity 3.3.3
    • CMake 3.27.5
    • Chromium 117.0.5938.149
    • Emacs 29.1
    • Firefox 123.0.1, ESR 115.8.0
    • GCC 8.4.0 und 11.2.0
    • GHC 9.2.7
    • GNOME 44
    • Go 1.21.1
    • JDK 8u382, 11.0.20 und 17.0.8
    • KDE Anwendungen 23.08.0
    • KDE Frameworks 5.110.0
    • Krita 5.1.5
    • LLVM/Clang 13.0.0 und 16.0.6
    • LibreOffice 7.6.2.1
    • Lua 5.1.5, 5.2.4, 5.3.6 und 5.4.6
    • MariaDB 10.9.6
    • Mono 6.12.0.199
    • Mozilla Firefox 118.0.1 und ESR 115.3.1
    • Mozilla Thunderbird 115.3.1
    • Mutt 2.2.12 und NeoMutt 20230517
    • Node.js 18.18.0
    • OpenLDAP 2.6.6
    • PHP 7.4.33, 8.0.30, 8.1.24 und 8.2.11
    • Postfix 3.7.3
    • PostgreSQL 15.4
    • Python 2.7.18, 3.9.18, 3.10.13 und 3.11.5
    • Qt 5.15.10 und 6.5.2
    • R 4.2.3
    • Ruby 3.0.6, 3.1.4 und 3.2.2
    • Rust 1.72.1
    • SQLite 3.42.0
    • Shotcut 23.07.29
    • Sudo 1.9.14.2
    • Suricata 6.0.12
    • Tcl/Tk 8.5.19 und 8.6.13
    • TeX Live 2022
    • Vim 9.0.1897 und Neovim 0.9.1
    • Xfce 4.18
  • Die Komponenten von Drittanbietern, die Teil von OpenBSD 7.3 sind, wurden aktualisiert:
    • Grafik-Stack Xenocara basierend auf X.Org 7.7 mit xserver 21.1.8 + Patches, freetype 2.13.0, fontconfig 2.14.2, Mesa 22.3.7, 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.7.0
    • Unbound 1.18
    • Ncurses 5.7
    • Binutils 2.17 (+ Patches)
    • Gdb 6.3 (+ Patch)
    • Awk 12.9.2023
    • Expat 2.5.0.

Quelle: opennet.ru

Erwerben Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster