Eingabehilfen

Inhalt

Sicherheitsänderungen in Flash Player 8

Lokale Sicherheit – Diagramme

In den folgenden Diagrammen werden die bisher beschriebenen Berechtigungen für die lokale Sicherheit übersichtlich dargestellt.

Quellen und Sandboxen

Alle SWF-Dateien werden beim Laden in Flash Player in einer Sandbox platziert. Abbildung 5 zeigt, wie SWF-Dateien je nach Ursprung verschiedenen Sandboxen zugewiesen werden. SWF-Dateien aus dem Netzwerk, wie beispielsweise a.com und b.com, werden immer in einer Sandbox platziert, die der Ursprungsdomäne entspricht.

Sandbox-Zuweisungen auf Grundlage der SWF-Quelle

Abbildung 5. Sandbox-Zuweisungen auf Grundlage der SWF-Quelle

SWF-Dateien aus lokalen Quellen (lokale Dateisysteme oder UNC-Netzwerkpfade) werden in einer von drei Sandboxen platziert. Standardmäßig wird eine lokale SWF-Datei in der Sandbox Lokal mit Dateisystem platziert. Lokale Dateien, die den Netzwerkzugriff angefordert haben, werden in der Sandbox Lokal mit Netzwerk platziert. Lokale Dateien, die als vertrauenswürdig eingestuft wurden (im Einstellungsmanager oder mithilfe von Konfigurationsdateien), werden in der Sandbox Lokal vertrauenswürdig platziert. (In Flash Player 7 und früheren Versionen werden alle lokale Dateien in der Sandbox Lokal vertrauenswürdig platziert.)

Zwischen SWF-Dateien in derselben Sandbox ist eine uneingeschränkte Interaktion möglich. In den Diagrammen weiter unten wird veranschaulicht, wie SWF-Dateien mit den SWFs aus anderen Sandboxen sowie mit Dateisystemen und Servern interagieren können.

Standardberechtigungen

Die Pfeile in Abbildung 5 zeigen die SWF-Quelle. In den folgenden Diagrammen veranschaulichen die Pfeile dagegen den Zugriff. Gestrichelte Pfeile zeigen das Laden von Daten und Konturpfeile das Cross-Scripting. Abbildung 6 zeigt die Berechtigungen der SWF-Dateien, die sich in Standard-Sandboxen befinden.

Standardmäßige Sandbox-Zuweisungen und die Standardberechtigungen dieser Sandboxen

Abbildung 6. Standardmäßige Sandbox-Zuweisungen und die Standardberechtigungen dieser Sandboxen

Standardmäßig werden lokale SWF-Dateien in der Sandbox Lokal mit Dateisystem platziert. SWF-Dateien in dieser Sandbox können Daten aus Dateien in lokalen Dateisystemen oder UNC-Netzwerkpfaden lesen, beispielsweise mit XML.load(), aber sie können nicht mit dem Internet kommunizieren.

Die Berechtigungen für Remote-SWFs unterscheiden sich nicht von Flash Player 7, mit der Ausnahme, dass Remote-SWFs nicht mehr die Berechtigung zum Laden von lokalem Inhalt haben. Remote-SWFs werden immer in einer Sandbox platziert, die der Ursprungsdomäne entspricht. Eine SWF-Datei in der Sandbox a.com kann Daten vom Server unter a.com lesen, beispielsweise mit XML.load(), und Daten an einen beliebigen Ort im Internet senden, zum Beispiel mit XML.send().

Berechtigungen für Remote-SWFs

Abbildung 7 zeigt Berechtigungen für Remote-SWFs, die zwar nicht standardmäßig verfügbar sind, aber explizit zugewiesen werden können.

Explizite Berechtigungen für Remote-SWFs

Abbildung 7. Explizite Berechtigungen für Remote-SWFs

Eine SWF-Datei unter a.com kann Daten vom Server unter b.com lesen, beispielsweise mit XML.load, wenn unter b.com eine Richtliniendatei vorhanden ist, die den Zugriff von a.com oder von allen Domänen erlaubt. Eine SWF-Datei unter a.com kann ein Cross-Scripting für eine SWF-Datei unter b.com vornehmen (beispielsweise durch Aufruf einer ActionScript-Methode in der SWF-Datei unter b.com), wenn die SWF-Datei unter b.com die Funktion System.security.allowDomain("a.com") aufruft. Diese Berechtigungen waren bereits in Flash Player 7 verfügbar und haben sich in Flash Player 8 nicht geändert.

Standardmäßig können Remote-SWFs kein Cross-Scripting für lokale SWFs durchführen. SWF-Dateien in den Sandboxen Lokal mit Netzwerk und Lokal vertrauenswürdig können Remote-SWFs jedoch die Berechtigung für das Cross-Scripting erteilen, und zwar mithilfe von System.security.allowDomain(). SWF-Dateien in der Sandbox Lokal mit Dateisystem können eine derartige Berechtigung nicht erteilen, da dadurch eine Situation entstehen würde, in der eine SWF-Datei in der Sandbox Lokal mit Dateisystem und eine Remote-SWF so zusammenwirken könnten, dass Daten aus einem lokalen Dateisystem gelesen und an einen Webserver gesendet werden.

Berechtigungen für lokale vertrauenswürdige SWF-Dateien

Abbildung 8 zeigt die uneingeschränkten Berechtigungen, die lokalen vertrauenswürdigen SWF-Dateien erteilt werden. Lokale vertrauenswürdige SWF-Dateien können Daten aus lokalen Dateien lesen, mit jedem Server interagieren und ein Cross-Scripting mit jeder anderen SWF-Datei durchführen.

Berechtigungen für lokale vertrauenswürdige SWF-Dateien

Abbildung 8. Berechtigungen für lokale vertrauenswürdige SWF-Dateien

Berechtigungen für SWF-Dateien in der Sandbox "Lokal mit Dateisystem"

Abbildung 9 zeigt Berechtigungen für SWF-Dateien in der Sandbox Lokal mit Dateisystem, die zwar nicht standardmäßig verfügbar sind, aber explizit zugewiesen werden können. Lokale vertrauenswürdige SWF-Dateien können mithilfe von System.security.allowDomain("*") das Cross-Scripting mit SWF-Dateien in der Sandbox Lokal mit Dateisystem zulassen.

Explizite Berechtigungen für SWF-Dateien in der Sandbox "Lokal mit Dateisystem"

Abbildung 9. Explizite Berechtigungen für SWF-Dateien in der Sandbox "Lokal mit Dateisystem"

Beachten Sie, dass Berechtigungen den SWF-Dateien in der Sandbox Lokal mit Dateisystem nur zugewiesen werden können, indem sie allen Domänen zugewiesen werden. Die Anforderung in Bezug auf alle Domänen entsteht dadurch, dass der Zugriff für SWF-Dateien in der Sandbox Lokal mit Dateisystem dem uneingeschränkten Zugriff entspricht, da Flash Player den Ursprung einer lokalen SWF-Datei nicht ermitteln kann.

Remote-SWFs und SWFs in der Sandbox Lokal mit Netzwerk können Dateien in der Sandbox Lokal mit Dateisystem keine Berechtigungen erteilen, da dadurch eine Situation entstehen würde, in der eine SWF-Datei in der Sandbox Lokal mit Dateisystem und eine Remote-SWF oder eine SWF in der Sandbox Lokal mit Netzwerk so zusammenwirken könnten, dass Daten aus einem lokalen Dateisystem gelesen und an einen Webserver gesendet werden.

Wenn keine expliziten Berechtigungen erteilt wurden, können SWF-Dateien in der Sandbox Lokal mit Dateisystem nur Daten aus lokalen Dateisystemen laden, beispielsweise mit XML.load().

Berechtigungen für SWF-Dateien in der Sandbox "Lokal mit Netzwerk"

Abbildung 10 zeigt die Standardberechtigungen für lokale SWF-Dateien, die sich in der Sandbox Lokal mit Netzwerk und nicht in der Sandbox Lokal mit Dateisystem befinden. Wenn keine expliziten Berechtigungen erteilt wurden, können SWF-Dateien in der Sandbox Lokal mit Netzwerk nur mit SWF-Dateien in derselben Sandbox kommunizieren und Daten an Server senden, beispielsweise mit XML.send().

Standardberechtigungen für SWF-Dateien in der Sandbox "Lokal mit Netzwerk"

Abbildung 10. Standardberechtigungen für SWF-Dateien in der Sandbox "Lokal mit Netzwerk"

Berechtigungen für SWF-Dateien in der Sandbox "Lokal mit Netzwerk"

Abbildung 11 zeigt Berechtigungen für SWF-Dateien in der Sandbox Lokal mit Netzwerk, die zwar nicht standardmäßig verfügbar sind, aber explizit zugewiesen werden können.

Explizite Berechtigungen für SWF-Dateien in der Sandbox "Lokal mit Netzwerk"

Abbildung 11. Explizite Berechtigungen für SWF-Dateien in der Sandbox "Lokal mit Netzwerk"

Eine SWF-Datei in der Sandbox Lokal mit Netzwerk ist berechtigt, Daten vom Server unter a.com zu lesen, beispielsweise mit XML.load(). Voraussetzung hierfür ist, dass sich unter a.com eine Richtliniendatei befindet, die den Zugriff von allen Domänen aus zulässt.

Eine SWF-Datei in der Sandbox Lokal mit Netzwerk kann ein Cross-Scripting mit einer SWF-Datei unter a.com durchführen (beispielsweise durch Aufruf einer ActionScript-Methode in der SWF-Datei unter a.com), wenn die SWF-Datei unter a.com die Funktion System.security.allowDomain("*") aufruft. Auf ähnliche Weise kann eine SWF-Datei in der Sandbox Lokal mit Netzwerk ein Cross-Scripting für eine lokale vertrauenswürdige SWF-Datei ausführen, wenn diese Datei allowDomain("*") aufruft.

Beachten Sie, dass Berechtigungen den SWF-Dateien in der Sandbox Lokal mit Netzwerk nur zugewiesen werden können, indem sie allen Domänen zugewiesen werden. Die Anforderung in Bezug auf alle Domänen entsteht dadurch, dass der Zugriff für SWF-Dateien in der Sandbox Lokal mit Netzwerk dem uneingeschränkten Zugriff entspricht, da Flash Player den Ursprung einer lokalen SWF-Datei nicht ermitteln kann.

Es ist keine Berechtigung verfügbar, die einer SWF-Datei in der Sandbox Lokal mit Netzwerk das Lesen aus lokalen Dateien ermöglicht.

Übersicht über den Datenfluss

Abbildung 12 zeigt, welche Datenflüsse möglich sind, wenn die maximale Berechtigungsmenge vorhanden ist.

Übersicht über den Datenfluss

Abbildung 12. Übersicht über den Datenfluss

Mithilfe von Berechtigungen kann eine vollständige Interoperabilität zwischen SWF-Dateien in der Sandbox Lokal mit Netzwerk und Remote-SWFs sowie Servern erzielt werden. Außerdem können lokale vertrauenswürdige SWF-Dateien über Berechtigungen frei mit Netzwerkressourcen kommunizieren und umgekehrt.

Doch selbst wenn die maximale Berechtigungsmenge eingestellt wurde, ist ein Datenfluss von lokalen Dateisystemen zum Internet nur über den Umweg einer lokalen vertrauenswürdigen SWF-Datei möglich.