Guten Morgen
Also wenn wir die Betriebssystemarchitektur auf den Kernel reduzieren, und as müssen wir den Argumenten zu Folge tun, dann kommen wir auf eine erheblich geringere Schnittmenge, betreffend die OpenBSD Verwandschaft.
Das hab ich nicht geschrieben. Da OpenSSL wie OpenSSH aber inzwischen auf so ziemlich jedem UNIX einsatz finden, ist es für mich kein Alleinstellungsmerkmal mehr.
Zur Architektur gehört für mich alles, um ein Minimalsystem zu betreiben. Das sind also Kern, C-Bibliothek, Init-System, Sicherheitsmechanismen wie Login und Zugriffssteuerung, Nutzermanagement, Shell usw usf. Eigentlich alles, was MacOS X 10.5, *BSD, Solaris, AIX, HP-UX, IRIX, True64,.. zu einem UNIX macht. OpenSSH ist eine Anwendung, die auf dem System läuft - genauer ein Service. OpenSSL wird von verschiedenen Services genutzt, um daten zu zertifizieren und zu verschlüsseln.
Einfach ins Auge springt einem das eher aus den Grundbestandteilen, als aus den OpenBSD Eigenarten:
...
Kommen die nun von OpenBSD zu MacOS X oder von FreeBSD, NetBSD, Dragonfly, *BSD Lite,.. ?
Die BSD Bestandteile implementieren im Grunde nur die Unix Permission Modelle auf die Mach Tasks, und die Unix Signals auf die Mach Exceptions und die IPC. Wir haben also Unix FS und Unix- TCP/IP. Durch VFS können wir BSD FS in die /dev's (ja, mit ') integrieren direkt ins I/O Kit. Daher die BSD-artigkeit.
Was hat Mach mit BSD zutun? Imho haben die oben aufgezählten BSD einen monolithischen Kern. Mir ist grob bekannt, wie sich BSD in den Kern von XNU eingliedert. Das hat aber nichts mit der Herkunft von anderen BSD zutun sondern ist eine Designentscheidung beim Entwickeln des MacOS Kerns gewesen.
Daher würde ich das mit OpenBSD-Verwandschaft mal so stehen lassen, dass integrale Bestandteile wie OpenSSH überneommen wurden... jeodoch Systemarchitektur bezogen eher der BSD Standard an sich, als die Derivatsverwandschaft mit OpenBSD gemeint ist/war. Das OpenBSD Projekt hat allerdings BSD-global einiges Interessantes hervorgebracht, was dann übernommen wurde.
Eben nicht! Da musst du zwischen OpenBSD als OS und den Projekten der Gruppe unterscheiden. Mark schreibt auf seiner Seite, dass MacOS als OS von OpenBSD Sicherheitsmerkmale geerbt hat. Diese Behauptung stellt er ohne Beleg in den Raum.
Die Bufferoverflow Protection kenne ich von der Implementation in 10.5 nicht... müsste ich nachschlagen. Ist das so wichtig? Sollte im Grunde einfache InputValidation sein...
In diesem Fall interessiert es mich. Ich wäre dir also unabhängig von dieser Diskussion dankbar. Ich habe im Netz nur gefunden, dass beide Bufferoverflow-Protection betreiben, mit dem Bezug darauf, dass bei OpenBSD W^X zum Einsatz kommt.
Sicherheitskritisch auf die Mach API zu schauen... ist nicht so schlau, weil die ganzen instantiierten Prozesse ergo ja durch die BSD API müssen. Zwar respektiert Mach keine Nutzerprivilegien, aber das macht nichts, und sorgt intern nur für Performance. ...
btw: hab ich erwähnt, dass ich osX toll finde, weil kein AT&T Unix drinnen ist und volle POSIX Kompatibelität zugleich?
Ich wollte dem Design von XNU nicht unterstellen, unsicher zu sein. Mir gefällt es auch deutlich besser als das Herumgewurschtel bei Linux (Da sind die immernoch beim Aufräumen). Da sieht man dann doch den Unterschied zwischen einem lang gewachsenen Open-Source-Projekt, wo sich anfangs niemand um schichten und Sicherheit gekümmert hat und einem von vorne herein sauber konstruierten System.
POSIX ist ja nur eine lange Liste an Syscalls
Ich finde es aber auch sehr praktisch. Leider hat Apple trotzdem hier und da herumgebogen. Bei Macuser hatte ich gestern erst eine Diskussion über den Assembler, den Apple Leo beigibt. Das scheint ein verhunzter alter GNU AS zu sein (v1.36, aktuell ist wohl irgendwas in den 2ern). Dumm nur, dass Macports mir bei den aktuellen Binutils genau den GAS nicht mitinstalliert. Das ist nicht Apples Schuld, verbaut mir nur einige Entwicklungsmöglichkeiten. Apple werfe ich eher vor, lange Zeit alte Versionen von Software einzusetzen. Berüchtigt waren da SAMBA, CUPS, Apache,...