iX 12/2018
S. 70
Review
Unix-Betriebssysteme
Aufmacherbild

OpenBSD 6.4 bringt neue Sicherheitsfunktionen

Enthüllt

Maintainer Theo de Raadt veröffentlicht das neue OpenBSD 6.4 mit abgeschaltetem Hyper-Threading. Durch eine um zwei Wochen vorgezogene Freigabe handelt sich das auf Sicherheit ausgelegte Betriebssystem einen ärgerlichen Exploit ein.

Vor allem für die geplagte amd64-Plattform bietet OpenBSD 6.4 wichtige Verbesserungen im Bereich Sicherheit. Immer neue Exploits in Intel-Prozessoren und die mangelnde Kommunikation des Chip-Riesen mit den OpenBSD-Entwicklern haben Theo de Raadt dazu veranlasst, eine drastische Entscheidung zu treffen: Da OpenBSD Sicherheit einen höheren Stellenwert einräumt als Performance, wird Hyper-Threading (HT) auf Intel-CPUs im Kernel komplett deaktiviert. Dies geschieht unabhängig von der Voreinstellung des BIOS, weil sich HT auf vielen modernen Systemen gar nicht mehr per BIOS-Setup abschalten lässt.

Die Geschwindigkeitseinbußen auf typischen OpenBSD-Systemen wie Firewall- oder Router-Appliances oder Webservern sind nahezu unbedeutend. Stark ausgelastete Mailserver würden von HT profitieren, während typische HT-Anwendungen aus dem Bereich Multimedia auf OpenBSD wenig Bedeutung haben. Doch der Systemverwalter hat die Wahl: Will oder kann er auf HT nicht verzichten, lässt es sich über die sysctl-Variable hw.smt=1 wieder aktivieren.

Heimliches Lauschen verboten

Die diversen Meltdown-/Spectre-Patches für OpenBSD 6.2, die in der Release 6.3 dauerhaft Einzug hielten [1], sowie Kernel Page Table Isolation (KPTI) und eine spezielle Behandlung des Branch Target Buffer (BTB) sollen bekannte Spectre-/Meltdown-Varianten weitestgehend entschärfen. Die Release Notes nennen im Abschnitt „Security Improvements“ einige weitere neue Schutzmechanismen wie Retpoline-Mitigation gegen Spectre über den Clang-Compiler und Assembler, einen Schutz gegen Intels L1 Terminal Fault sowie SpectreRSB (siehe ix.de/ix1812070).

Da moderne Browser- und Internetanwendungen gerne ungefragt Multimediageräte aktivieren, haben die Entwickler die Aufnahmefunktion des leichtgewichtigen Audio- und MIDI-Frameworks sndio(7) zum Schutz der Privatsphäre des Benutzers standardmäßig abgeschaltet. Bei Bedarf lässt sie sich über sysctl kern.audio.record=1 oder den entsprechenden Eintrag in /etc/sysctl.conf wieder einschalten.

OpenBSD pflegt Altlasten

Derzeit läuft OpenBSD auf 13 Hardwareplattformen. Dazu gehören neben AMD64 (amd64) und ARM64 (arm64) auch klassische Systeme wie Digital-Alpha-Systeme (alpha), Hewlett-Packard Precision Architecture (PA-RISC, hppa), SGI MIPS-Workstation (sgi) oder Sun-UltraSPARC-/Fujitsu-SPARC64-Rechner (sparc64). Im Gegensatz zu Linux, das sich fast nur noch auf amd64 konzentriert, legt das Team um Theo de Raadt Wert auf eine funktionierende i386-Portierung (genau genommen benötigt die Plattform einen 80486 mit FPU). Der Grund: Bei der Portierung auf ältere und in den Funktionen beschränkte Systeme entdecken die Maintainer regelmäßig schlechten Code oder gar Fehler, die auf schnellen amd64-Maschinen nicht auffallen oder denen dort keine Beachtung geschenkt wird.

Oft kommen so gerade aus dem i386- und dem SPARC64-Port wertvolle Hinweise zur Verbesserung des OpenBSD-Codes. Daher ist es nicht anachronistisch, wenn OpenBSD 6.4/i386 nun wichtige Meltdown-Fixes sowie die Option bekommt, Mikrocode-Updates beim Booten zu laden. Der i386-Port von OpenBSD kommt vor allem auf kleineren Firewall-Appliances zum Einsatz. Auf SPARC64 kommuniziert ldomctl(8) nun mit der Firmware von SPARC T2+ und T3-Maschinen, womit sich NVRAM-Variablen pro logischer Domain setzen lassen.

unveil(2): Enthüllte Verhüllungen