Sicherheits-Sandboxen



Clientcomputer können einzelne SWF-Dateien aus verschiedenen Quellen erhalten, z. B. von externen Websites oder einem lokalen Dateisystem. Flash Player weist SWF-Dateien und andere Ressourcen, wie gemeinsam genutzte Objekte, Bitmaps, Sounds, Videos und Datendateien, individuell zu Sicherheits-Sandboxen zu. Die Auswahl basiert dabei auf dem Ursprung der Dateien beim Laden in Flash Player. In den folgenden Abschnitten werden die von Flash Player durchgesetzten Regeln beschrieben, mit denen festgelegt wird, auf welche Elemente eine SWF-Datei in einer bestimmten Sicherheits-Sandbox zugreifen kann.

Weitere Informationen zur Flash Player-Sicherheit finden Sie im Abschnitt „Sicherheit“ des Flash Player Developer Center unter www.adobe.com/go/devnet_security_de.

Remote-Sandboxen

Flash Player klassifiziert Elemente (einschließlich SWF-Dateien) aus dem Internet in separate Sandboxen, die deren Website-Ursprungsdomänen entsprechen. Standardmäßig ist diesen Dateien der Zugriff auf andere Ressourcen auf ihrem eigenen Server gestattet. Remote-SWF-Dateien kann über explizite Website- und Autorberechtigungen, z. B. URL-Richtliniendateien und die Methode Security.allowDomain(), der Zugriff auf weitere Daten aus anderen Domänen gestattet werden. Weitere Informationen finden Sie unter Kontrolloptionen für Websites (Richtliniendateien) und Kontrolloptionen für Autoren (Entwickler).

Remote-SWF-Dateien können keine lokalen Daten oder Ressourcen laden.

Weitere Informationen zur Flash Player-Sicherheit finden Sie im Abschnitt „Sicherheit“ des Flash Player Developer Center unter www.adobe.com/go/devnet_security_de.

Lokale Sandboxen

Als lokale Datei werden alle Dateien bezeichnet, die über das Protokoll file: oder einen UNC-Pfad (Universal Naming Convention) referenziert werden. Lokale SWF-Dateien befinden sich in einer der vier folgenden lokalen Sandboxen:

  • Lokales Dateisystem-Sandbox (local-with-filesystem) – Aus Sicherheitsgründen speichert Flash Player in der Standardeinstellung alle lokalen SWF-Dateien und Elemente in der „local-with-filesystem“-Sandbox. SWF-Dateien in dieser Sandbox können lokale Dateien lesen (z. B. mit der URLLoader-Klasse). Ein Datenaustausch mit dem Netzwerk ist jedoch nicht möglich. Der Benutzer kann dann sicher sein, dass die lokalen Daten nicht in das Netzwerk geraten oder auf andere Weise unbefugt freigegeben werden.

  • Lokale Sandbox mit Netzwerkzugriff (local-with-networking) – Beim Kompilieren einer SWF-Datei können Sie angeben, ob diese beim Ausführen als lokale Datei über Netzwerkzugriff verfügt (siehe Einstellen des Sandbox-Typs von lokalen SWF-Dateien). Diese Dateien werden in der „local-with-networking“-Sandbox platziert. Wenn SWF-Dateien der „local-with-networking“-Sandbox zugewiesen sind, ist kein lokaler Dateizugriff möglich. Dafür können die SWF-Dateien auf Daten aus dem Netzwerk zugreifen. SWF-Dateien in der „local-with-networking“-Sandbox sind jedoch nur dann berechtigt, aus dem Netzwerk abgeleitete Daten zu lesen, wenn durch eine URL-Richtliniendatei oder den Aufruf der Methode Security.allowDomain() Zugriffsrechte für diesen Vorgang erteilt wurden. Für diese Zugriffsrechte muss eine URL-Richtliniendatei den Zugriff auf alle Domänen mittels<allow-access-from domain="*"/> oder Security.allowDomain("*") gewähren. Weitere Informationen finden Sie unter Kontrolloptionen für Websites (Richtliniendateien) und Kontrolloptionen für Autoren (Entwickler).

  • Lokale vertrauenswürdige Sandbox (local-trusted) – Lokale SWF-Dateien, die als vertrauenswürdig eingestuft sind (durch den Benutzer oder Installationsprogramme), werden in der „local-trusted“-Sandbox abgelegt. Systemadministratoren und Benutzer können eine lokale SWF-Datei auch basierend auf Sicherheitsüberlegungen in eine „local-trusted“-Sandbox verschieben oder daraus entfernen (siehe Kontrolloptionen für Administratoren und Kontrolloptionen für Benutzer). SWF-Dateien, die der „local-trusted“-Sandbox zugewiesen sind, können mit allen anderen SWF-Dateien interagieren und von allen Speicherorten Daten laden (remote oder lokal).

  • Die Sandbox der AIR-Anwendung – Diese Sandbox enthält Inhalte, die zusammen mit der ausgeführten AIR-Anwendung installiert wurden. Standardmäßig können Dateien in der Sandbox der AIR-Anwendung auf Dateien aus einer beliebigen Domäne verweisen (Cross-Scripting). Dateien, die nicht in der Sandbox der AIR-Anwendung enthalten sind, können jedoch nicht per Cross-Scripting auf die AIR-Datei verweisen. Standardmäßig können Dateien in der Sandbox der AIR-Anwendung Inhalte und Daten aus einer beliebigen Domäne laden.

Der Datenaustausch zwischen den Sandboxen „local-with-networking“ und „local-with-filesystem“ sowie zwischen der Sandbox „local-with-filesystem“ und Remote-Sandboxen ist streng verboten. Eine Genehmigung für einen solchen Datenaustausch kann weder von einer in Flash Player ausgeführten Anwendung, noch durch einen Benutzer oder Administrator erteilt werden.

Cross-Scripting zwischen lokalen HTML-Dateien und lokalen SWF-Dateien, z. B. mit der ExternalInterface-Klasse, ist nur dann möglich, wenn sich sowohl die HTML- als auch die SWF-Datei in der „local-trusted“-Sandbox befinden. Der Grund hierfür ist, dass sich die lokalen Sicherheitsmodelle für Browser vom lokalen Sicherheitsmodell von Flash Player unterscheiden.

SWF-Dateien in der „local-with-networking“-Sandbox können keine SWF-Dateien in der „local-with-filesystem“-Sandbox laden. SWF-Dateien in der „local-with-networking“-Sandbox können keine SWF-Dateien in der „local-with-filesystem“-Sandbox laden.

Einstellen des Sandbox-Typs von lokalen SWF-Dateien

Sie können eine SWF-Datei so konfigurieren, dass sie entweder der „local-with-filesystem“-Sandbox oder der „local-with-networking“-Sandbox zugewiesen wird, indem Sie die Veröffentlichungseinstellungen des Dokuments im Authoring-Tool festlegen.

Ein Endbenutzer oder der Administrator eines Computers kann festlegen, dass eine lokale SWF-Datei als vertrauenswürdig eingestuft wird und ihr somit das Laden von Daten aus allen Domänen (lokal und remote) gestatten. Dies wird in den Verzeichnissen „Global Flash Player Trust“ und „User Flash Player Trust“ festgelegt. Weitere Informationen finden Sie unter Kontrolloptionen für Administratoren und Kontrolloptionen für Benutzer.

Weitere Informationen zu lokalen Sandboxen finden Sie unter Lokale Sandboxen.

Security.sandboxType-Eigenschaft

Ein Autor einer SWF-Datei kann mit der schreibgeschützten statischen Eigenschaft Security.sandboxType den Sandbox-Typ ermitteln, dem Flash Player die SWF-Datei zugewiesen hat. Die Security-Klasse enthält Konstanten, die mögliche Werte der Eigenschaft Security.sandboxType darstellen:

  • Security.REMOTE – Die SWF-Datei stammt von einer Internet-URL und kann gemäß den domänenbasierten Sandbox-Regeln verwendet werden.

  • Security.LOCAL_WITH_FILE – Die SWF-Datei ist eine lokale Datei, die der Benutzer nicht als vertrauenswürdig eingestuft hat und die nicht für die Verwendung im Netzwerk veröffentlicht wurde. Die SWF-Datei kann lokale Datenquellen lesen, aber keine Verbindung mit dem Internet herstellen.

  • Security.LOCAL_WITH_NETWORK – Die SWF-Datei ist eine lokale Datei, die der Benutzer als nicht vertrauenswürdig eingestuft hat und die für die Verwendung im Netzwerk veröffentlicht wurde. Die SWF-Datei kann eine Verbindung mit dem Internet herstellen, jedoch keine lokalen Datenquellen lesen.

  • Security.LOCAL_TRUSTED – Die SWF-Datei ist eine lokale Datei, die der Benutzer über den Einstellungsmanager oder eine Flash Player Trust-Konfigurationsdatei als vertrauenswürdig eingestuft hat. Die SWF-Datei kann lokale Datenquellen lesen und eine Verbindung mit dem Internet herstellen.

  • Security.APPLICATION – Die SWF-Datei wird in einer AIR-Anwendung ausgeführt und wurde mit dem Paket (der AIR-Datei) für diese Anwendung installiert. Standardmäßig können Dateien in der Sandbox der AIR-Anwendung auf Dateien aus einer beliebigen Domäne verweisen (Cross-Scripting). Dateien, die nicht in der Sandbox der AIR-Anwendung enthalten sind, können jedoch nicht per Cross-Scripting auf die AIR-Datei verweisen. Standardmäßig können Dateien in der Sandbox der AIR-Anwendung Inhalte und Daten aus einer beliebigen Domäne laden.