Les sandbox de sécurité



Les ordinateurs client peuvent obtenir des fichiers SWF individuels de diverses sources, par exemple d'un site Web externe ou d'un système de fichiers local. Flash Player associe chaque fichier SWF et chaque ressource (objets partagés, fichiers bitmap, son, vidéo et données) à des sandbox de sécurité en fonction de leur origine au moment du chargement dans Flash Player. Les sections suivantes décrivent les règles mises en place par Flash Player pour contrôler ce à quoi un fichier SWF peut accéder au sein d'un sandbox donné.

Pour plus de détails sur la sécurité de Flash Player, consultez la rubrique « Sécurité » du Centre des développeurs Flash Player à l'adresse www.adobe.com/go/devnet_security_fr.

Les sandbox distants

Flash Player classe les actifs (y compris les fichiers SWF) en provenance d'Internet dans des sandbox différents correspondant à leur domaine d'origine. Par défaut, ces fichiers sont autorisés à accéder à toutes les ressources issues de leur propre serveur. Il est possible d'autoriser les fichiers SWF distants à accéder à des données d'autres domaines à l'aide d'autorisations explicites portant sur les sites Web et les auteurs, par exemple des fichiers de régulation d'URL et la méthode Security.allowDomain(). Pour plus d'informations, consultez les sections Contrôles de site Web (fichiers de régulation) et Contrôles de création (développeur).

Les fichiers SWF distants ne peuvent pas charger de fichiers ou de ressources locales.

Pour plus de détails sur la sécurité de Flash Player, consultez la rubrique « Sécurité » du Centre des développeurs Flash Player à l'adresse www.adobe.com/go/devnet_security_fr.

Les sandbox locaux

Un fichier est dit local s'il est référencé par le biais du protocole file: ou d'un chemin UNC (Universal Naming Convention). Les fichiers SWF locaux sont placés dans l'un de quatre sandbox locaux :

  • Sandbox local avec système de fichiers : pour des raisons de sécurité, Flash Player place par défaut tous les fichiers SWF et actifs locaux dans ce sandbox. De là, les fichiers SWF peuvent lire les fichiers locaux (à l'aide de la classe URLLoader, par exemple), mais en aucun cas communiquer avec le réseau. Ceci garantit à l'utilisateur que les données locales ne peuvent pas filtrer hors du réseau ou autrement être partagées de manière inopportune.

  • Sandbox local avec réseau : lors de la compilation d'un fichier SWF, vous pouvez spécifier s'il dispose d'un accès réseau lorsqu'il est exécuté comme fichier local (voir Définition du type de sandbox pour les fichiers SWF locaux). De tels fichiers sont placés dans le sandbox local avec réseau. Les fichiers SWF placés dans le sandbox local avec réseau abandonnent leur accès aux fichiers locaux. En échange, ils sont autorisés à accéder aux données sur le réseau. Toutefois, un fichier local avec réseau ne peut pas lire des données dérivées du réseau si aucune autorisation n'est accordée pour cela par le biais d'un fichier de régulation d'URL ou d'un appel à la méthodeSecurity.allowDomain(). A cet effet, le fichier de régulation d'URL doit accorder une autorisation à tous les domaines en utilisant allow-access-from domain="*"/ ou Security.allowDomain("*"). Pour plus d'informations, consultez les sections Contrôles de site Web (fichiers de régulation) et Contrôles de création (développeur).

  • Sandbox local approuvé : les fichiers SWF locaux enregistrés comme approuvés (par l'utilisateur ou un programme d'installation) sont placés dans ce sandbox. Les administrateurs système et les utilisateurs peuvent aussi associer un fichier SWF local au sandbox local approuvé ou l'en dissocier, selon les contraintes de sécurité (voir Contrôles administrateur et Contrôles utilisateur). Les fichiers SWF associés au Sandbox local approuvé peuvent interagir avec tous les autres fichiers SWF et charger des données à partir de n'importe quel emplacement (à distance ou localement).

  • Sandbox de sécurité de l'application AIR : ce sandbox contient du contenu installé à l'aide de l'application AIR en cours d'exécution. Par défaut, les fichiers du sandbox de sécurité de l'application AIR peuvent accéder par programmation croisée aux fichiers de n'importe quel domaine. En revanche, les fichiers se trouvant en dehors de ce sandbox ne peuvent pas accéder par programmation croisée au fichier AIR. Par défaut, les fichiers du sandbox de sécurité de l'application AIR peuvent charger le contenu et les données de n'importe quel domaine.

La communication entre le sandbox local avec réseau et le sandbox local avec système de fichiers est strictement interdite, tout comme la communication entre le sandbox local avec système de fichiers et le sandbox distant. Elles ne peuvent pas être autorisées par une application Flash Player ni par un utilisateur ou un administrateur.

La programmation croisée entre les fichiers HTML et SWF locaux (par exemple à l'aide de la classe ExternalInterface) exige que les deux fichiers impliqués se trouvent dans le sandbox local approuvé. Cette contrainte vient du fait que les modèles de sécurité locaux des navigateurs diffèrent de celui de Flash Player.

Les fichiers SWF du sandbox local avec réseau ne peuvent pas charger des fichiers SWF du sandbox local avec système de fichiers. Les fichiers SWF du sandbox local avec système de fichier ne peuvent pas charger des fichiers SWF du sandbox local avec réseau.

Définition du type de sandbox pour les fichiers SWF locaux

Vous pouvez configurer un fichier SWF pour le sandbox local avec système de fichiers ou le sandbox local avec réseau en définissant les paramètres de publication du document dans l'outil de programmation.

Un utilisateur ou l'administrateur d'un ordinateur peut spécifier si un fichier SWF local est approuvé, lui permettant ainsi de charger des données de tous les domaines, locaux ou réseau. Cette caractéristique est définie dans les répertoires Flash Player Trust global et utilisateur. Pour plus d'informations, consultez les sections Contrôles administrateur et Contrôles utilisateur.

Pour plus d'informations sur les sandbox locaux, consultez la section Les sandbox locaux.

Propriété Security.sandboxType

La propriété statique en lecture seule Security.sandboxType permet à l'auteur d'un fichier SWF de déterminer le type de sandbox auquel Flash Player a associé le fichier SWF. La classe Security inclut des constantes qui représentent les valeurs possibles de la propriété Security.sandboxType, comme suit :

  • Security.REMOTE : le fichier SWF provient d'une URL Internet et son fonctionnement est régi par les règles de sandbox de domaines.

  • Security.LOCAL_WITH_FILE : le fichier SWF est un fichier local mais n'a pas été approuvé par l'utilisateur ni publié avec une désignation réseau. Le fichier SWF peut lire les sources de données locales mais ne peut pas communiquer avec Internet.

  • Security.LOCAL_WITH_NETWORK : le fichier SWF est un fichier local non approuvé par l'utilisateur mais qui a été publié avec une désignation réseau. Le fichier SWF peut communiquer sur Internet mais ne peut pas lire les sources de données locales.

  • Security.LOCAL_TRUSTED : le fichier SWF est un fichier local qui a été approuvé par l'utilisateur via le Gestionnaire des paramètres ou le fichier de configuration Flash Player Trust. Ce fichier SWF peut lire les sources de données locales et communiquer avec Internet.

  • Security.APPLICATION : le fichier SWF est exécuté dans une application AIR, et a été installé avec le package (le fichier AIR) pour cette application. Par défaut, les fichiers du sandbox de sécurité de l'application AIR peuvent accéder par programmation croisée aux fichiers de n'importe quel domaine. En revanche, les fichiers se trouvant en dehors de ce sandbox ne peuvent pas accéder par programmation croisée au fichier AIR. Par défaut, les fichiers du sandbox de sécurité de l'application AIR peuvent charger le contenu et les données de n'importe quel domaine.