OpenBSD of Theseus: Moderner Hardware-Support statt Ideologie-Kämpfe

vor 17 Stunden 1

OpenBSD 7.6 ist da: Die nunmehr 57ste Veröffentlichung des auf Sicherheit fokussierten Open-Source-Betriebssystem zeigt, dass die Entwickler neben ihrem leidenschaftlichen Fokus auf Sicherheit und schlanken, korrekten Code auch moderne Hardware-Anforderungen nicht aus den Augen lassen.

Seit vielen Jahren kranken moderne Prozessoren mit ihrer spekulativen Ausführung von Maschinenbefehlen an Angriffen durch Out-of-Order Execution. Die massiven Sicherheitslücken betreffen vor allem Intel- und teilweise auch AMD-CPUs. Selbst ARM-, IBM-POWER- oder gar MIPS- und SPARC-Systeme sind gefährdet. Als ein konsequent auf Sicherheit ausgelegtes Open-Source-Betriebssystem entschärft OpenBSD schon seit einiger Zeit diese Hardware-Probleme durch entsprechenden Code (Mitigation). OpenBSD 7.6 implementiert jetzt auch Erweiterungen gegen Spectre-4 für ARM64 und Spectre-BJB für den Cortex-A57 (zum Beispiel Opteron A1100, Snapdragon 8120, Samsung Octa 5433 oder Nvidia Tegra X1). Bei den x86-CPUs wird eine Schwachstelle in Intels Atom-CPUs beim Register File Data Sampling (RFDS) zusammen mit einem Firmware-Update entschärft.

OpenBSD 7.6 unterstützt den Qualcomm Snapdragon X1 Elite (X1E80100), eine der schnellsten ARM-CPUs. Dessen zwölf Oryon-CPU-Kerne laufen mit 3,4 GHz oder zwei im Turbo-Mode mit 4 GHz. Verbaut wird diese ARM-CPU beispielsweise im teuren Samsung Galaxy Book 4 Edge, das dank integriertem KI-Chip auch Microsofts Copilot+-Zertifizierung erhält. OpenBSD 7.6 soll diese und ähnliche Geräte bereits im ACPI-Modus starten können.

Die OpenBSD-Entwickler arbeiten weiter an Details in der SMP-Fähigkeit des Systems. Version 7.6 erlaubt es mehreren CPU-Kernen parallel eingehende UDP-Pakete zu empfangen. Auch IPv4- und IPv6-Sockets wurden SMP-fest gemacht. Neu ist das Pseudo-Gerät rport(4) für Punkt-zu-Punkt-Verbindungen auf Netzwerk-Layer 3 zwischen Routing-Domänen. Es ist vergleichbar mit dem virtuellen Ethernet-Interface pair(4) aus OpenBSD 5.6, arbeitet dem gegenüber aber wesentlich effizienter, da es keine Ethernet-Header hinzufügt. An vielen weiteren Stellen wurden die noch immer häufig vorhandenen Kernel-Locks entfernt.

Da OpenBSD gerne als sichere Netzwerk-Appliance eingesetzt wird, haben die Entwickler ferner an den Netzwerk- und Routing-Funktionen gefeilt. Vor allem beim Daemon für das Border Gateway Protocol bgpd(8) und dem RPKI Validator rpki-client(8) sind viele Verbesserungen eingeflossen.

OpenSSH liegt in Version 9.9 vor und wurde in mehrere Binaries aufgeteilt. Neu ist auch die Funktion zur Unterstützung für den hybriden ML-KEM X25519 Post-Quantum-Schlüsselaustausch.

Die Liste der von OpenBSD 7.6 zusätzlich unterstützten Hardware ist überraschend lang und betrifft vor allem Netzwerkkomponenten. Angefangen von vielen Fixes für den Raspberry Pi 5 über neue Wi-Fi-Treiber gibt es hauptsächlich für die ARM- und die RISC-V-Plattform reichlich Neues. OpenBSD 7.6 läuft nun beispielsweise auf einem Milk-V Pioneer, einem potenten RISC-V-Entwicklersystem mit 64 Kernen und 128 GByte RAM.

Der Direct Rendering Manager drm(4) und die Grafiktreiber sind bei OpenBSD 7.6 auf dem Stand von Linux Linux 6.6.52. Neu ist der Support für Intels Meteor Lake in inteldrm(4).

Der moderne OpenBSD-Hypervisor VMM/VMD stellt seinen Gästen jetzt mehr CPU-Features des Hosts zur Verfügung. Bei allen drei Komponenten (vmm(4), vmd(8) und vmctl(8)) wurde die Handhabung leicht verbessert. OpenBSD 7.6 unterstützt nun auch AMD Secure Encrypted Virtualization (SEV) und kann die Funktionen an den Gast weiterreichen.

Auch Energiesparen ist bei OpenBSD 7.6 ein Thema: Der Fokus liegt zurzeit auf den Sleep-States. So fügten die Entwickler eine Implementierung von Suspend-to-Idle auf AMD64 hinzu, damit auch Systeme, die S3 nicht unterstützen, in den Suspend-Mode wechseln können. Das Feature ist noch nicht fertig, kann aber via machdep.lidaction=-1 aktiviert und damit getestet werden.

Für etwas Verwirrung sorgte die Bemerkung "We have reached OpenBSD of Theseus" in Theo de Raadts Commit zum uralten BSD-Spiel quiz(6). Mit dem Commit ersetzte er die letzte bislang unveränderte Datei aus dem ursprünglichen OpenBSD 1.1.1.1.

Wer den griechischen Philosophen Plutarch (46-119) nicht gelesen hat, kennt dessen "Ship of Theseus"-Paradox in der Regel nicht. In einem Gedankenexperiment wirft Plutarch die Frage auf, ob ein Schiff noch immer dasselbe Schiff sei, wenn im Laufe der Jahre alle seine Einzelteile ersetzt wurden – es also kein einziges ursprüngliches Bauteil mehr besitzt. Das Paradox wurde häufig aufgegriffen, angefangen von "Grandfather's Axe" (UK), bei der der Schaft und später die Schneide ersetzt wurde, über Tin Woodman im Zauberer von Oz, bis hin zum "Dà zhìdù lùn" der Buddhisten oder dem japanischen Isa Grand-Schrein, der alle 20 Jahre neu aufgebaut wird.

Schön, dass es noch Projekte gibt, bei denen spannende philosophische Fragen zum Nachdenken anregen, statt sich vehement über ideologische Narrative zu zanken.

OpenBSD steht unter der freien MIT-Lizenz und ist als Open-Source-Software frei und im Quelltext verfügbar. OpenBSD 7.6 beinhaltet Xenocara basierend auf Xorg 7.7. Darauf laufen verschiedene Window-Manager und Desktop-Umgebungen wie cwm, dwm, MATE, Xfce 4.18.1, GNOME 46 und KDE Frameworks 6.5.0 mit KDE Plasma 6.1.4. Für den Desktop gibt es Chromium 128 oder Mozilla Firefox 130/ESR 128.2 und LibreOffice 24.8.1.2 – sowie Emacs 29.4 oder Vim 9.1.707/Neovim 0.10.1.

Freie Installationsimages und -anleitungen für 14 Hardwareplattformen stehen auf der Projektseite zum Download bereit. Dort findet man auch die Release-Informationen zu OpenBSD 7.6 mit einer detaillierten Übersicht aller Änderungen.

(fo)

Gesamten Artikel lesen