Cette page vous a-t-elle été utile ?
Votre avis sur ce contenu est important. N'hésitez pas à nous faire part de vos commentaires.
Vous avez d'autres commentaires ?
1500 caractères restants
Vue d'ensemble des menaces de sécurité des applications Web

Vue d'ensemble des menaces de sécurité des applications Web

Mise à jour : novembre 2007

Si des utilisateurs inconnus peuvent accéder à votre application Web, Il est presque certain que des utilisateurs malveillants essaieront d'accéder de manière non autorisée à votre application. Les serveurs qui sont accessibles au public sur Internet sont constamment analysés à la recherche de failles. Par conséquent, il est recommandé de prendre des précautions et d'intégrer une sécurité dans toutes vos applications Web.

Pour plus d'informations sur les méthodes conseillées en matière d'écriture de code sécurisé et de sécurisation des applications, consultez le manuel « Writing Secure Code » de Michael Howard et David LeBlanc ou l'aide fournie par Microsoft Patterns and Practices.

L'implémentation de la sécurité ne représente qu'une partie de la solution. La vigilance est également indispensable. Même si votre système dispose de nombreuses protections, il vous faut le surveiller attentivement :

  • Analysez les journaux des événements de votre système. Surveillez les tentatives de connexion répétées à votre système et les demandes en nombre trop élevées auprès de votre serveur Web.

  • Conservez votre serveur d'application constamment à jour par rapport aux mises à jour de sécurité les plus récentes pour Microsoft Windows et Services Internet (IIS) ainsi que pour Microsoft SQL Server ou d'autres sources de données que votre application peut utiliser.

La compréhension des menaces représente un aspect important du développement d'une application sécurisée. Microsoft a élaboré un système de classification des différentes menaces : usurpation, falsification, répudiation, divulgation d'informations, déni de service et élévation de privilège sous le nom de STRIDE (Spoofing, Tampering, Repudiation, Information disclosure, Denial of service, Elevation of privilege ). Les sections suivantes présentent brièvement ces menaces et la façon dont elles s'appliquent aux applications Web.

Usurpation

Usurper signifie emprunter l'identité d'un utilisateur ou d'un processus de manière non autorisée. L'usurpation peut se traduire par le simple fait d'entrer des informations d'identification d'un autre utilisateur. Une utilisation malveillante peut aussi modifier le contenu d'un cookie pour prétendre qu'il s'agit d'un utilisateur différent ou que le cookie provient d'un autre serveur.

En général, vous pouvez éviter toute usurpation à l'aide de procédures d'authentification rigoureuses. Chaque fois que quelqu'un demande l'accès à des informations non publiques, assurez-vous de l'identité de la personne. Vous pouvez également éviter l'usurpation en conservant les informations d'identification de façon sécurisée. Ne conservez pas, par exemple, un mot de passe ou d'autres informations sensibles dans cookie, car un utilisateur malveillant peut facilement le trouver ou le modifier.

Falsification

Falsifier signifie modifier ou supprimer une ressource sans autorisation. C'est le cas par exemple de l'altération d'une page Web par un utilisateur malveillant qui accède à un site et en modifie les fichiers. L'utilisation d'une attaque de script constitue un moyen de falsification indirect. Un utilisateur malveillant envoie du code (script) exécutable en le masquant comme entrée d'utilisateur d'une page ou sous forme de lien.

La première défense contre la falsification consiste à utiliser la sécurité Windows pour verrouiller les fichiers, répertoires et autres ressources Windows. L'application doit également s'exécuter avec les privilèges minimums. Vous pouvez vous protéger contre les attaques de script en vous méfiant systématiquement de toute information provenant d'un utilisateur, voire d'une base de données. Chaque fois que vous obtenez des informations d'une source non fiable, vérifiez qu'elles ne contiennent aucun code exécutable.

Répudiation

Une menace répudiation implique le traitement d'une transaction de telle façon qu'aucune preuve des entités de sécurité impliquées ne subsiste à la transaction. Dans une application Web, cela peut se traduire par l'usurpation des informations d'identification d'un utilisateur innocent. Là encore, vous pouvez vous protéger de la répudiation à l'aide de procédures d'authentification rigoureuses. Utilisez, en plus, les fonctionnalités du journal de Windows pour conserver une trace de l'ensemble des activités ayant eu lieu au niveau du serveur.

Divulgation d'informations

La divulgation d'informations désigne simplement le vol ou la révélation d'informations supposées être privées. Un exemple typique est le vol de mots de passe, mais la divulgation d'informations peut impliquer l'accès à n'importe quel fichier ou ressource du serveur.

Le meilleur moyen de se défendre contre la divulgation d'informations est de ne disposer d'aucune information à divulguer. Par exemple, si vous ne stockez pas les mots de passe, les utilisateurs malveillants ne pourront pas les voler. Une alternative au stockage des mots de passe consiste à ne stocker que leur hachage. Lorsqu'un utilisateur présente ses informations d'identification, vous pouvez hacher le mot de passe de l'utilisateur et comparer uniquement les deux hachages. Si vous stockez des informations sensibles, sécurisez-les à l'aide de la sécurité Windows. Utilisez également l'authentification pour garantir que seuls les utilisateurs autorisés puissent accéder aux informations restreintes. Si vous devez exposer des informations sensibles, il est recommandé de chiffrer les informations lorsqu'elles sont stockées et d'utiliser SSL (Secure Sockets Layer) pour chiffrer les informations lorsqu'elles sont envoyées au et à partir du navigateur.

Déni de service

Une attaque de déni de service vise à réduire de façon délibérée la disponibilité d'une application. La surcharge d'une application Web de sorte qu'elle ne puisse pas servir les utilisateurs ordinaires en est un exemple classique. Des utilisateurs malveillants peuvent aussi simplement tenter de provoquer l'arrêt de votre serveur.

IIS vous permet de limiter les applications, c'est-à-dire de restreindre le nombre de demandes auxquelles elles répondent. Vous pouvez refuser l'accès à des utilisateurs ou adresses IP connus comme étant malveillants. Pour garder vos applications en ligne vous devez exécuter du code fiable. Vous devez intégralement tester votre application et, dans la mesure du possible, effectuer les actions appropriées en cas d'erreurs.

Élévation de privilège

L'élévation de privilège consiste, pour un utilisateur malveillant, à obtenir un niveau d'autorisation plus élevé que celui qui lui est normalement assigné. Par exemple, une élévation de privilège réussie consiste, pour un utilisateur malveillant, à obtenir des privilèges d'administrateur de votre serveur Web, ce qui lui donne accès à toutes les données sur le serveur ainsi qu'au contrôle des fonctions serveur.

Pour vous protéger de l'élévation de privilège, exécutez l'application avec les privilèges les plus faibles possible. Par exemple, il est recommandé de ne pas exécuter les applications ASP.NET en tant qu'utilisateur SYSTEM (administrateur).

Ajouts de la communauté

AJOUTER
Microsoft réalise une enquête en ligne pour recueillir votre opinion sur le site Web de MSDN. Si vous choisissez d’y participer, cette enquête en ligne vous sera présentée lorsque vous quitterez le site Web de MSDN.

Si vous souhaitez y participer,
Afficher:
© 2015 Microsoft