Recommandations de sécurité pour le développement de formulaires Infopath [Référence développeurs Infopath 2007]

Paru le 12 mars 2007

Avant de lire cette rubrique, consultez le modèle de sécurité de formulaire d'Infopath pour une compréhension générale du modèle de sécurité de Microsoft Office InfoPath.

InfoPath 2007 Developer Reference: Security Guidelines for Developing InfoPath Forms 

Sur cette page

Considérations de sécurité pour les utilisateurs de formulaires Infopath Considérations de sécurité pour les utilisateurs de formulaires Infopath

Considérations de sécurité pour les utilisateurs de formulaires Infopath

Les soucis de sécurité principaux pour les utilisateurs de Microsoft Office Infopath 2007 sont similaires à ceux des applications Web s'exécutant dans Windows Internet Explorer. Notez cependant que le niveau de sécurité fourni à un formulaire dépend seulement de l'emplacement du modèle du formulaire et non de l'emplacement dans lequel les utilisateurs enregistrent ou ouvrent les documents XML résultants qu'ils créent. Les utilisateurs peuvent déterminer l'emplacement du modèle de formulaire avec lequel ils travaillent en observant la barre d'état dans Infopath.

Infopath aide à protéger les utilisateurs contre les menaces potentielles suivantes posées par les modèles de formulaires créés dans un but malveillant :

  • La divulgation potentielle d'informations sensibles de l'ordinateur local ou de sources de données distantes.

  • L'utilisation malveillante de contrôles ActiveX.

  • L'utilisation malveillante de propriétés et de méthodes du modèle objet d'Infopath.


Divulgation d'informations sensibles

Le scénario le plus courant de divulgation d'informations sensibles peut se produire si l'auteur d'un formulaire malveillant crée un formulaire qui utilise les informations d'identification de sécurité de l'utilisateur courant pour accéder à une source de données sur un domaine différent de celui sur lequel le formulaire a été déployé. Par exemple, un utilisateur malveillant pourrait envoyer un formulaire par message électronique ou en utilisant une adresse URL vers un formulaire situé sur un partage ou un serveur Web privés. Le formulaire pourrait contenir le script qui exécute une requête d'accès aux données en utilisant les informations d'authentification de l'utilisateur courant pour récupérer des données d'une source de données d'un autre domaine auquel l'utilisateur malveillant n'a autrement pas accès, telles qu'une base de données de registre du personnel ou d'autres informations sensibles. Cette catégorie de scénarios de risques de sécurité est l'accès inter-domaines aux données.

Le modèle de sécurité d'Internet Explorer sur lequel Microsoft Infopath est bâti fournit un paramètre appelé Accès aux sources de données sur plusieurs domaines qui, par défaut, désactive l'accès inter-domaines aux formulaires Infopath qui résident dans les zones de sécurité Internet et Sites sensibles. Ce paramètre invite également l'utilisateur à autoriser ou à rejeter l'accès inter-domaines pour les formulaires Infopath qui résident dans la zone de sécurité Intranet local. Il active l'accès inter-domaines pour les formulaires Infopath qui résident dans les zones Sites de confiance ou Ordinateur local.


Utilisation malveillante de contrôles ActiveX

Le scénario le plus courant d'utilisation malveillante de contrôles ActiveX est celui dans lequel un auteur de formulaire malveillant écrit un script pour un contrôle ActiveX qui accède au système de fichiers pour récupérer des fichiers personnels et des listes de mot de passe, supprimer des fichiers ou désactiver le système de l'utilisateur. Un formulaire Infopath peut uniquement utiliser les contrôles ActiveX des scripts du fichier de script principal d'un formulaire (script.js) ou des scripts d'un volet de tâches. Infopath n'autorise pas les scripts des vues Infopath à exécuter des contrôles ActiveX.

Le modèle de sécurité d'Internet Explorer sur lequel Infopath est bâti fournit un paramètre appelé Contrôles d'initialisation et de script ActiveX non marqués comme sécurisés . Ce paramètre désactive par défaut l'initialisation et les scripts de contrôles ActiveX marqués comme dangereux pour les formulaires Infopath qui résident dans les zones de sécurité Intranet Local, Internet et Sites sensibles. Il invite l'utilisateur à autoriser ou à rejeter l'exécution de scripts de contrôles ActiveX marqués comme dangereux pour les formulaires Infopath qui résident dans les zones de sécurité Sites de confiance ou Ordinateur local. Il autorise également l'exécution de scripts avec des contrôles ActiveX marqués comme dangereux pour les formulaires Infopath entièrement fiables.

De plus, vous ne pouvez pas insérer de contrôle ActiveX marqué comme dangereux pour l'initialisation et l'exécution de scripts dans le volet de tâches des contrôles en mode conception, quels que soient la zone de sécurité dans laquelle vous vous situez ou le niveau de confiance du formulaire.


Utilisation malveillante de propriétés et de méthodes du modèle objet d'Infopath

De même, les méthodes et propriétés Infopath appelées à partir des scripts peuvent présenter différents niveaux de risque. Par exemple, la méthode SaveAs de l'objet XDocument peut être utilisée pour écrire des données n'importe où dans le système de fichiers. Pour aider à la protection contre l'utilisation malveillante de ces membres du modèle objet, le modèle objet d'Infopath implémente trois niveaux de sécurité qui déterminent où et comment un membre particulier du modèle objet peut être utilisé. Pour plus d'informations sur cette fonctionnalité, consultez Modèle de sécurité de formulaire d'Infopath .


Considérations de sécurité pour les développeurs de formulaires Infopath

Les développeurs qui créent des formulaires Infopath doivent savoir implémenter les recommandations de sécurité suivantes :

  • Comment reconnaître les problèmes potentiels de sécurité dans le fichier XML associé à un formulaire.

  • Comment éviter de présenter aux utilisateurs des messages d'erreur importuns ou portant à confusion.

  • Comment signer les fichiers CAB des contrôles ActiveX.

  • Comment signer les modèles de formulaires envoyés comme pièces jointes de messages électroniques.


Recommandations pour les données XML associées à un formulaire

Notez que les formulaires Infopath peuvent être alimentés par des données XML de n'importe quelle source, y compris des sources que l'utilisateur ne contrôle pas ou auxquelles il ne fait pas nécessairement confiance. Par exemple, Infopath peut obtenir des données XML d'un lien vers une page Web ou d'une pièce jointe XML envoyée à l'utilisateur dans un message électronique. Pour atténuer ces risques, tenez compte des recommandations suivantes :

  • Ne faites pas passer des données non fiables lues avec la fonction Microsoft JScript eval() ou la propriété innerHTML du volet de tâches. Ces deux appels peuvent être utilisés pour exécuter des scripts malveillants. Dans le volet de tâches, utilisez comme alternative la propriété innerText. Notez que les vues Infopath ne peuvent pas exécuter de scripts.

  • Les données soumises à une base de données à partir d'un fichier XML peuvent présenter des risques en matière de sécurité pour cette base de données si elles ne sont pas validées avant la soumission.

Les données qui ne sont pas validées avant d'être soumises à une source de données peuvent endommager l'intégrité des données de la source de données ou, dans les cas les plus extrêmes, présenter un risque potentiel de dépassement de tampon. La tentative d'utilisation de données douteuses directement sur votre serveur peut également risquer de provoquer l'injection de script ou de code SQL.

Pour des recommandations concernant la prévention des risques en matière de sécurité dans les données XML et Microsoft XML Core Services (MSXML) 5.0 pour le code Microsoft Office, consultez les rubriques ayant trait à XML et à la sécurité dans la référence du SDK MSXML 5.0. Pour afficher ces rubriques, ouvrez l'éditeur de script Microsoft d'Infopath, cliquez sur Aide et naviguez jusqu'à la section « XML et sécurité » de la documentation.


Recommandations pour éviter de présenter des messages d'erreur portant à confusion

Déployez les formulaires et leurs sources de données sur le même domaine   Le risque pour la sécurité de l'accès inter-domaines aux données n'est pas clairement assimilé par la plupart des utilisateurs. Le déploiement de formulaires qui avertissent continuellement les utilisateurs et les invitent à autoriser l'accès aux données inter-domaines a pour effet d'apprendre à de nombreux utilisateurs à approuver toute requête d'accès inter-domaines ou à ajouter le domaine d'origine à leur liste de sites de confiance, sans prendre au sérieux les risques pour la sécurité. Pour éviter cette situation, déployez les formulaires Infopath sur le serveur des sources de données desquelles ils dépendent.

Évitez d'utiliser des contrôles ActiveX qui ne sont pas marqués comme fiables pour les scripts   Les contrôles ActiveX peuvent potentiellement exposer des propriétés et des méthodes qui peuvent être utilisées pour compromettre le système d'un utilisateur, telles que les méthodes pour l'accès au système de fichiers d'un ordinateur. Dans la mesure du possible, utilisez uniquement des contrôles ActiveX marqués comme sûrs pour les scripts. Ce sont des contrôles qui ont été testés pour s'assurer qu'ils n'endommageront pas le système de l'utilisateur et ne compromettront pas sa sécurité, quelle que soit la manière dont les méthodes et propriétés du contrôle sont manipulées par le script de la page Web. De même, lorsque vous créez des contrôles ActiveX pour les utiliser avec Infopath, inspectez le code et testez rigoureusement le contrôle ActiveX avant de le marquer comme sûr pour l'utilisation avec les scripts.

Infopath utilise un modèle de sécurité qui est basé sur les zones de sécurité d'Internet Explorer. Par conséquent, un formulaire Infopath utilisera les mêmes autorisations qu'Internet Explorer, ce qui active par défaut les appels de scripts aux contrôles ActiveX marqués comme sûrs pour l'utilisation avec les scripts, sans avertir les utilisateurs.


Recommandations pour la gestion des fichiers CAB des contrôles ActiveX

Les contrôles ActiveX peuvent être hébergés dans les modèles de formulaires. Les fichiers CAB des contrôles qui ne sont pas déjà présents sur l'ordinateur de l'utilisateur doivent être inclus dans le fichier de modèle de formulaire (.xsn). Les fichiers CAB inclus dans les modèles de formulaires doivent être signés numériquement afin d'être installés. Infopath n'installera pas un fichier CAB qui n'est pas signé, quels que soient le niveau de confiance et la zone de sécurité.

Pour vous assurer que la signature numérique du fichier CAB peut être vérifiée, le fichier doit être signé avec un certificat qui a une chaîne de confiance menant à une racine de certification déjà approuvée. Si ce n'est pas le cas, la signature ne peut pas être authentifiée, la vérification de signature échoue et le fichier CAB n'est pas installé.


Recommandations pour les modèles de formulaires envoyés comme pièces jointes de messages électroniques

Infopath prend en charge le déploiement de modèles de formulaires comme pièces jointes de messages électroniques et le déplacement de modèles de formulaires d'un emplacement vers un autre. Il est recommandé pour la sécurité de signer numériquement les modèles de formulaires que vous concevez et prévoyez de déployer comme pièces jointes de messages électroniques. Une signature numérique sur un modèle de formulaire déployé par message électronique assure non seulement l'authenticité du modèle, mais elle a l'avantage supplémentaire de permettre au modèle de formulaire d'être mis à jour automatiquement.

Le modèle de formulaire doit être signé avec un certificat qui a une chaîne de confiance menant à une racine de certification déjà approuvée. S'il n'est pas signé avec un tel certificat, la vérification de signature échouera car la signature ne peut pas être authentifiée.


Remarque
Si un modèle de formulaire signé demande l'accès au domaine ou un accès limité, Infopath ne vérifiera pas la signature, sauf pour déterminer s'il peut automatiquement mettre à jour le modèle.

Vous trouverez plus d'informations sur le déploiement par message électronique dans Niveau de sécurité, déploiement par message électronique et modèles de formulaires mobiles .


Recommandations pour les développeurs de formulaires de code géré Infopath

Pour des informations sur les recommandations de sécurité concernant les modèles de formulaires de code géré d'Infopath, consultez l'aide d'Infopath incluse dans la documentation Microsoft Visual Studio 2005 Tools for Applications (VSTA).


Voir également

Afficher: