OpenBSD 6.4: Sicherer ohne Hyper-Threading

Theo de Raadt kann es nicht lassen: OpenBSD 6.4 ist wieder zwei Wochen früher fertig. Mit an Bord sind neue Sicherheitsfunktionen für Intel-Prozessoren.

In Pocket speichern vorlesen Druckansicht 92 Kommentare lesen
OpenBSD 6.4: Sicherer ohne Hyper-Threading
Lesezeit: 4 Min.
Von
Inhaltsverzeichnis

Zwei Wochen vor dem angekündigten Termin hat das OpenBSD-Projekt Version 6.4 seines unixoiden Betriebssystems veröffentlicht. In das neue Release flossen vor allem neue Funktionen aus dem Bereich der Sicherheit ein, die vor aktuellen Lücken von Intel-Prozessoren schützen sollen.

Sich häufende Exploits in Intel-Prozessoren und die mangelnde Kommunikation des Chip-Herstellers mit den OpenBSD-Entwicklern haben Theo de Raadt dazu veranlasst, das fehleranfällige Hyperthreading auf Intel-CPUs komplett zu deaktivieren. Es lässt sich auf eigene Gefahr über die sysctl-Variable hw.smt=1 wieder aktivieren. Zusammen mit den Meltdown/Spectre-Patches für OpenBSD 6.2, fester Bestandteil des 6.3-Release, sowie Kernel Page Table Isolation (KPTI) und einer speziellen Behandlung des Branch Target Buffer (BTB) will das Projekt bekannte Spectre/Meltdown-Varianten weitestgehend entschärfen.

Einige weitere neue Schutzmechanismen wie Retpoline-Mitigation gegen Spectre über den Clang-Compiler und Assembler, einen Schutz gegen Intels L1 Terminal Fault sowie SpectreRSB sind ebenfalls enthalten, wie der Abschnitt Security improvements der Release Notes aufführt. Auch die i386-Plattform, die genau genommen erst auf einem i486 lauffähig ist, wird gepflegt und erhält neben Meltdown-Fixes nun die Funktion, Microcode-Updates beim Booten zu laden.

Hinzu kommt, dass die OpenBSD/arm64-Variante des Betriebssystems ACPI-Support erhält. Die teilweise Abkehr von DT-Blobs (Device Tree) dürfte aufgrund des unterschiedlichen Aufbaus der Plattformen komplizierter als bei amd64/i386 werden. Radeon-GPUs lassen sich mit OpenBSD seit jeher gut einsetzen, radeondrm(4) ist jetzt auch für OpenBSD/arm64 verfügbar. Der Treiber aller Plattformen entspricht ferner dem Stand von Linux 4.4.155, womit er das Mode-Setting für Kaveri/Kabini/Mullins-APUs sowie Oland/Bonaire/Hainan/Hawaii-GPUs umfasst.

Auf SPARC64 kommuniziert ldomctl(8) nun mit der Firmware von SPARC T2+- und T3-Systemen. So lassen sich NVRAM-Variablen pro logischer Domain setzen.

Mit unveil(2) stellt OpenBSD ein neues Werkzeug vor, um Dateizugriffe gezielt zu beschränken. Anders als zum Beispiel chroot arbeitet es nicht außerhalb, sondern innerhalb eines Programms. Daher muss es der Entwickler der Applikation implementieren. Um die Sicht eines Programms auf das Dateisystem einzuschränken, muss bei chroot diese Einschränkung vor dem Start erfolgen und alle notwendigen Zugriffe über die gesamte Laufzeit erlauben. Bei unveil(2) können wie bei pledge(2) die Rechte für den Start und die Konfiguration eines Prozesses umfangreicher sein als für den späteren Betrieb.

Gerade die Kombination beider Sicherheitsfunktionen ist interessant, wie OpenBSD-Entwickler Bob Beck auf der EuroBSDcon2018 zeigte: So lässt sich Googles Browser Chrome, von Robert Nagy um unveil(2)-Funktionen erweitert, erfolgreich davon abhalten, das Dateisystem und damit beispielsweise das .ssh-Verzeichnis zu durchsuchen. Während pledge(2) bei Verstößen einen Prozess gnadenlos beendet, erzeugt unveil(2) bei unerlaubten Dateisystemzugriffen eine Fehlermeldung für den Prozess.

Beim nativen OpenBSD-Hypervisor vmm(4) von Mike Larkin gibt es neben vielen kleinen Verbesserungen nun die Unterstützung für das verbreitete QEMU-Imageformat .qcow2. Hilfreich ist die Option, in der vmm.conf(5) Vorlagen (Templates) für virtuelle Maschinen anlegen zu können. Um die Sicherheit virtueller Maschinen zu erhöhen, hat das Projekt außerdem einige Funktionen von unveil(2) ins textbasierte Management-Frontend vmctl(8) integriert.

Viele weitere Verbesserungen sind in das Basissystem, den Netzwerk-Stack und die OpenBSD-Projekte OpenSSH 7.9 und LibreSSL 2.8.2 eingeflossen. Das Betriebssystem spaltete sich 1995 von NetBSD ab und setzt seinen Schwerpunkt auf Sicherheit und korrekten Programmcode. Es ist für 13 Hardware-Plattformen erhältlich und erscheint halbjährlich. Das unter der BSD-Lizenz stehende OpenBSD 6.4 können Interessierte kostenlos über die Projektseite herunterladen. Hinweise für das Upgrade von OpenBSD 6.3 auf 6.4 liefert der Upgrade Guide. (fo)