Ich fange auch noch mal von vorne an. (edit: MacFlieger und ich haben fast gleichzeitig geantwortet.)
Mac OS X
10 % sicher, 90 % unsicher
Wie kommst Du darauf, dass der Rest von Mac OS X (also was über Netzangriffe von Außen hinausgeht) unsicher ist? Hat das irgendjemand behauptet?
Es nützt mir als anspruchvoller Mac User ja nicht, dass ich dann irgendwelche gleichen Meldungen bekomme wie bei XP.
Beispiel Öffnen einer WORD Datei.
Vorsicht.
Diese Datei enthält Makros
Doch, das nützt schon und ist die einzig mögliche Lösung. Die Sicherheitslücke ist hier nämlich der Benutzer, der (a) Makros nicht abgeschaltet hat und (b) versucht, Dateien, die sehr gefährliche technologische Mängel aufweisen, zu öffnen. Es gibt da nur die Lösung, den Benutzer zu warnen, dass er gerade eine Dummheit macht. Die Alternative wäre höchstens, Word-Dateien mit Makros als Virus zu behandeln und gar nicht erst auf den Rechner zu lassen.
Siehste, auch der Mac hat Lücken und Apple muss auch patchen.
Ja natürlich, das ist auch so. Es gibt aber große Unterschiede zu Windows, denn bei Windows ist schon die Grundarchitektur so verkorkst, dass an einigen Stellen nichts mehr zu retten ist (hat MacFlieger schon angedeutet). Außerdem ist keine Komponente von Windows als Open Source veröffentlicht, so dass die Wahrscheinlichkeit wesentlich höher ist, dass es unerkannte Lücken gibt.
Wie läuft das denn konkret ab bei dem QuickTime Player für XP und X wenn ich folgendes lese
Vereinfacht erklärt: Im Programm befindet sich ein Programmierfehler der folgenden Art: Der Programmierer hat vergessen, den Fall zu berücksichtigen, dass Daten, die von außen in das Programm hineinkommen, vielleicht einmal sehr, sehr, sehr viel größer sein könnten, als im Normalfall.
Beispiel: in einer Bilddatei dürfen Textkommentare vorkommen, ein Feature was so gut wie nie verwendet wird. Der Programmierer sieht nur 1024 Zeichen Zwischenspeicher in seinem Programm zur Behandlung dieser Textkommentare vor. Ein Angreifer konstruiert nun ein "böses" Bild, das 70000 Zeichen Textkommentar enthält. Das Programm ist auf diesen Fall nicht vorbereitet und stürzt ab.
Ohne auf genaue technische Details einzugehen, ist es für den Angreifer in bestimmten Fällen genau vorhersagbar, was der Prozessor in dem Moment, in dem der Absturz erfolgt, noch tut. Mit einem technischen Trick kann es möglich sein, Daten in dem gerade abstürzenden Prozess so mit dem riesigen Textkommentar zu überlagern, dass der Prozessor beim Absturz auf Code gelenkt wird, den der Angreifer (hier: innerhalb der 70000 Zeichen Textkommentar im Bild) mitgebracht hat. Der Code könnte zum Beispiel ein Shell-Programm sein, also ein Programm, das eine Umgebung eröffnet, um andere Programme zu starten. Auf diese Weise können beliebige Wirkungen ausgelöst werden.
Dieser Fehler kann sowohl in Mac OS X als auch Windows auftreten. In beiden Fällen kann Code ausgeführt werden, der mit den Benutzerrechten des abstürzenden Programms läuft. Trotzdem ist Windows hier noch unsicherer, da es so voreingestellt ist, dass die meisten Heim-Benutzer als "oberster Systemadministrator" arbeiten. Mit anderen Worten, so gestartete Programme können wirklich beliebige Schäden auslösen. In Mac OS X geht das ohne Weiteres nicht, denn die Kennung des obersten Systemadministrators (root) ist grundsätzlich zur Anmeldung gesperrt und der normale Systemverwalter muss immer einen zusätzlichen Dialog bestätigen ("Geben Sie Ihr Kennwort ein, um an ... Änderungen vorzunehmen"), damit er für Wartungsaufgaben *nur vorübergehend* die Rechte des obersten Systemadministrators erhält. Das Schlimmste, was also bei Mac OS X passieren kann, ist, dass die Daten des gerade aktiven Benutzers gelöscht oder verfälscht werden. Alle anderen Benutzer und das Betriebssystem bleiben intakt.
Die Crux bei intel/Windows ist, daß es hardwareseitig keine Trennung zwischen Speicher, der für Programme verwendet wird und Speicher, der für Daten verwendet wird
Nein, das ist so nicht richtig. Auch Windows trennt den Speicher in Nutzungsbereiche. Daher kommen ja die berühmten "Speicherschutzverletzungen", wenn Programme abstürzen.
(neuere AMD und intel-Prozessoren haben aber mittlerweile ein solches Flag), so wie es schon seit eh und je bei PPCs der Fall ist.
Nein, Du verwechselst die Speichersegmentierung mit dem Feature des "No-Executable-Flag". Hier ist es leider genau umgekehrt: Bestimmte AMD- und Intel-Prozessoren besitzen bereits diesen zusätzlichen Hardware-Schutz, PowerPC-Prozessoren besitzen ihn (noch) nicht.
Zu Erklärung: Bei der Verwaltung der Speicherseiten (siehe Thread über Speicherverwaltung) können einige neuere Prozessoren die Speicherseiten zusätzlich mit einer Schutzmarkierung versehen, die per Hardware überwacht wird. Diese Schutzmarkierung besagt "diese Speicherseite enthält reine Daten, kein Programm". Sobald der Prozessor angewiesen wird, die Daten in dieser Seite als Programmcode auszuführen, tritt sofort eine Hardware-Sperre ein und die Ausführung wird gestoppt. Auf diese Weise wird es noch sehr viel schwieriger, Daten in ein laufendes Programm zu schmuggeln und diese Daten als Programmcode über einen gezielten Absturz zur Ausführung zu bringen.
Mit den entsprechenden Tricks kommt man dann zu root-Rechten.
Naja, aber was für Tricks? Im Normalfall ist es unmöglich, mehr Rechte zu bekommen, als einem zustehen.
Dies ist nur dann möglich, wenn noch weitere Lücken und Programmierfehler im Betriebssystem sind. Es müssen also schon mehrere Fehler im System zusammenkommen.