Interviews mit Branchenführern

Neues Profilingsubsystem für OpenBSD-current: Fortschritt für sichere und effiziente Leistungsmessung

Interviews mit Branchenführern
New profiling subsystem committed to OpenBSD current

Ein umfassender Überblick über das neue Profilingsubsystem in OpenBSD-current, das von Theo de Raadt entwickelt wurde, um die Leistungsanalyse moderner Anwendungen unter strengen Sicherheitsmaßnahmen wie Privsep und Pledge zu ermöglichen.

OpenBSD, bekannt für seine Fokus auf Sicherheit und Stabilität, hat kürzlich ein bedeutendes Update im Bereich der Programm- und Systemanalyse erhalten. Mit der Einführung eines neuen Profilingsubsystems für die aktuelle Entwicklungszweig OpenBSD-current setzt das Projekt erneut Maßstäbe in Sachen Sicherheit kombiniert mit Funktionalität. Die Entwicklung wurde maßgeblich von Theo de Raadt, dem Gründer und Projektleiter von OpenBSD, vorangetrieben. Das neue Subsystem bringt eine zeitgemäße Lösung für Herausforderungen, die im bisherigen gprof-Profiling zu beobachten waren, insbesondere im Zusammenspiel mit den strikten Sicherheitsmechanismen von OpenBSD. Die traditionelle gprof-Methode basierte auf dem Profil-Systemaufruf profil(), der es ermöglichte, einen Speicherpuffer anzulegen, in dem die gesammelten Daten über die Programmausführung zwischengespeichert wurden.

Am Ende eines Programmablaufs wurden diese Daten durch eine Routine namens _mcleanup() zusammengefasst und in einer Datei gespeichert. Dieses Verfahren war zwar funktional, stieß jedoch zunehmend an seine Grenzen, da es im OpenBSD-Kontext immer schwieriger wurde, Daten sicher zu speichern. Die zunehmenden Sicherheitsmechanismen wie Privilege-Separation (Privsep), Privileg-Dropping, Chroot, Setresuid sowie die Sicherheitsprimitiven Pledge und Unveil verhinderten es, dass Programme ohne weiteres auf das Dateisystem zugreifen konnten, um gprof-Profiling-Dateien zu schreiben. Dieser Umstand führte dazu, dass Entwickler und Administratoren nach Möglichkeit auf das klassische Profilingsystem verzichteten, da es aufwändige Anpassungen erforderte, um die Sicherheitsvorkehrungen aufzuheben oder zu umgehen. Gerade in sicherheitskritischen Anwendungen wie im Netzwerkbereich oder bei Systemdiensten war dies problematisch.

Beispiele hierfür sind Projekte wie rpki-client oder bgpd, die auf hochsichere OpenBSD-Umgebungen angewiesen sind und dennoch auf effizientes Profiling angewiesen sind, um Performance-Engpässe zu identifizieren und zu beheben. Das neue Profilingsubsystem adressiert genau diese Problematik. Statt wie bisher darauf zu setzen, dass das Programm selbst eine Ausgabedatei öffnet und beschreibt, übernimmt nun der Kernel die Verantwortung für das sichere Schreiben der Profildaten. Der Profil-Systemaufruf wurde dahingehend erweitert, dass er nicht nur den Speicherpuffer angibt, sondern auch genaue Informationen darüber übermittelt, wo und wie die Profildatei erstellt werden soll. Dies ermöglicht es dem Kernel, den Schreibvorgang sicher im Kontext des Programms, aber unter Wahrung der Privilegienbeschränkungen durchzuführen.

So entfällt das problematische Öffnen und Schreiben der Datei im Benutzerprozess, was zuvor zahlreiche Sicherheitskonflikte verursachte. Eine weitere wichtige Änderung besteht darin, dass der bisher oft genutzte monstartup(3)-Funktionsaufruf entfällt und nicht mehr unterstützt wird. Die Vereinfachung der Schnittstellen zugunsten eines robusteren Verfahrens ist ein Schritt, um den Code für Entwickler und Anwender klarer und wartbarer zu gestalten. Die neuen Profildateien erhalten zudem ein verbessertes und eindeutigeres Namensschema. Statt einer statischen Datei gmon.

out verwendet das System nun den Namen gmon.progname.pid.out. Dieser Wechsel trägt den modernen Multi-Prozess- und Multi-Nutzer-Umgebungen Rechnung, die bei OpenBSD insbesondere durch Privsep übliche Praxis sind.

Damit wird ein Überschreiben von Profilergebnissen vermieden, was gerade bei parallelen oder wiederholten Anwendungsausführungen zu zuverlässigen Messergebnissen führt. Ein weiterer positiver Effekt der Überarbeitung ist die Integration des Profilingsystems in die OpenBSD-Pledge-Funktion, die Anwendungen restriktiv Zugriffsrechte erteilt. Während das Profil-System früher keinen Zugangsstatus im Zusammenhang mit Pledge hatte oder man es nur mit weiteren Lockern von Sicherheitsprimitiven ermöglichen konnte, wurde nun die Nutzung von profil() unter der Pledge-Stufe "stdio" erlaubt. Der Zugriff wird dabei über einen speziellen ELF-Note (-pg ELF note) gesteuert, was eine einfache und sichere Aktivierung ermöglicht. Diese Änderungen sind ein Beleg für die Innovationskraft und das Engagement der OpenBSD-Community, insbesondere von Theo de Raadt, für eine Lösungen, die sowohl sicherheitskonform als auch funktional sind.

Die enge Zusammenarbeit mehrerer Entwickler, darunter Job Snijders, Claudio Jeker und Henning Brauer, sorgte für das Gelingen dieses Projekts und dafür, dass Profiling auch in hochgesicherten OpenBSD-Umgebungen praktikabel bleibt. Für Anwender und Entwickler bedeutet dies, dass sie künftig wieder einfacher und sicherer Performance-Analysen durchführen können, ohne die Schutzmechanismen des Systems aufbrechen oder einschränken zu müssen. Die Profildateien werden verlässlich geschrieben, ohne dass die Programmlogik sich mit Dateiberechtigungen und Schreibrechten auseinandersetzen muss. Darüber hinaus ist es erfreulich, dass das neue Profilingsubsystem direkt in der aktuellen Entwicklungszweig OpenBSD-current verfügbar ist und somit zeitnah in neue Versionen Eingang finden wird. Das ermöglicht umfangreiche Tests durch die Community und schnelles Feedback für weitere Verbesserungen.

In Zusammenhang mit den allgemeinen Sicherheitsfeatures von OpenBSD zeigt diese Verbesserung, wie man durch wohlüberlegte technische Lösungen dafür sorgen kann, dass essentielle Entwicklerwerkzeuge nicht unter der Sicherheit leiden, sondern diese sogar gestärkt wird. Dies verdeutlicht das Bestreben von OpenBSD, eine führende Rolle im Bereich sicherer Betriebssysteme einzunehmen, ohne dabei die Entwicklerfreundlichkeit zu vernachlässigen. Die Einführung des neuen Profilingsubsystems steht exemplarisch für die ständige Pflege und Weiterentwicklung des Betriebssystems, die darauf ausgerichtet ist, auch komplexe Anforderungen moderner IT-Umgebungen zu erfüllen. Mit der robusten, sicheren und performant eingebundenen Profiling-Option können Entwickler Fehler leichter erkennen und beheben, Ressourcennutzung optimieren und so letztlich die Stabilität und Nutzererfahrung von Anwendungen auf OpenBSD weiter verbessern. Abschließend lässt sich sagen, dass das neue Profilingsubsystem ein wichtiger Schritt zur modernen, sicheren Analyse und Optimierung von Software unter Berücksichtigung heutiger Sicherheitsstandards ist.

Es überzeugt durch technische Raffinesse und praktische Umsetzung, die Anwendern erlaubt, wieder uneingeschränkt auf Profiling zu setzen, ohne Kompromisse bei der Systemsicherheit eingehen zu müssen. Das neue System wird voraussichtlich schnell breite Akzeptanz finden und zählt zu den bedeutenden Neuerungen in der OpenBSD-Entwicklung im Jahr 2025.

Automatischer Handel mit Krypto-Geldbörsen Kaufen Sie Ihre Kryptowährung zum besten Preis

Als Nächstes
Device Paradigm
Samstag, 05. Juli 2025. Das Geräteparadigma: Eine philosophische Betrachtung der Technologie in unserer Gesellschaft

Eine tiefgehende Analyse des Geräteparadigmas von Albert Borgmann und seine Bedeutung für das Verständnis des Verhältnisses von Mensch, Technik und Gesellschaft in der modernen Welt.

You're not buying a discount. You're buying a behaviour
Samstag, 05. Juli 2025. Warum Rabatte mehr verkaufen als nur günstige Preise: Der Kauf einer Verhaltensweise

Das Phänomen von Rabatten und Mitgliedschaftsprogrammen verändert unser Kaufverhalten nachhaltig und beeinflusst, wie wir Geld ausgeben und wahrnehmen. Ein tiefer Einblick in die Psychologie hinter vermeintlichen Einsparungen und warum wir nicht nur Produkte kaufen, sondern vor allem Gewohnheiten.

Show HN: Self hosted bangs and go links with jmp
Samstag, 05. Juli 2025. Jmp: Selbstgehostete Bangs und Go-Links für mehr Effizienz im Browser

Entdecken Sie, wie jmp als einfaches, selbstgehostetes Tool Ihnen ermöglicht, Suchanfragen und Schnellzugriffe direkt im Browser zu verwalten. Erfahren Sie, wie Sie mit jmp Ihre Produktivität steigern und Ihre Webnutzung optimieren können.

TCP/IP on Windows for Workgroups 3.11 in 2025 under QEMU
Samstag, 05. Juli 2025. TCP/IP unter Windows for Workgroups 3.11 im Jahr 2025 mit QEMU: Nostalgie trifft moderne Virtualisierung

Eine umfassende Anleitung zur Installation und Nutzung von TCP/IP auf Windows for Workgroups 3. 11 im Jahr 2025 unter QEMU.

XRP Plunges Below $2.30 Amid Heavy Selling Pressure
Samstag, 05. Juli 2025. XRP fällt unter 2,30 US-Dollar: Ursachen, technische Analyse und Marktprognosen

Eine umfassende Analyse des jüngsten Preisrutsches von XRP unter die Marke von 2,30 US-Dollar. Das Zusammenspiel von globalen wirtschaftlichen Spannungen, technischem Verkaufsdruck und institutionellem Interesse prägt die Entwicklung dieser führenden Kryptowährung.

Bitcoin Drops Below $107.5K as Trump Tariff Threat Triggers Crypto Sell-Off
Samstag, 05. Juli 2025. Bitcoin unter 107.500 USD: Wie Trumps Zollandrohung den Kryptowährungsmarkt erschüttert

Der plötzliche Einbruch von Bitcoin unter die Marke von 107. 500 USD spiegelt die verstärkte Volatilität und Unsicherheit auf dem Kryptowährungsmarkt wider, ausgelöst durch die Ankündigung hoher EU-Zölle durch Donald Trump.

Forced to take cocaine, threatened with chainsaw: How crypto investor escaped NYC torture chamber
Samstag, 05. Juli 2025. Gefangen im Albtraum: Wie ein Krypto-Investor dem Folterkeller in Manhattan entkam

Erfahren Sie die erschütternde Geschichte eines Krypto-Investors, der in einem luxuriösen Manhattan-Apartment gefangen gehalten wurde, um an digitale Währungs-Passwörter zu gelangen. Von brutaler Folter bis zur tödlichen Bedrohung – ein Kampf ums Überleben in einer modernen Geiselsituation.