Problème de filtrage pour les applications web .NET
Date : 28 Novembre 2006
Le NISCC a
signalé fin octobre 2006 plusieurs types d’attaques possibles liées à
l’utilisation du mécanisme de filtrage de l'environnement .NET dans les
applications web. Le NISCC indique en effet que ce filtrage seul n’est pas
suffisant et qu’il laisse la porte ouverte à des attaques de type
"phishing", injection de code (HTML/SQL) ou encore vol de
"cookies" (usurpation de session). Plus de détails concernant les méthodes utilisables pour contourner la sécurité du filtrage .NET seront publiés prochainement sur le site http://www.procheckup.com.
Toutes ces attaques reposent en fait sur un mauvais contrôle (filtrage) des données reçues :
- Les attaques "par injection" consistent pour un utilisateur à détourner le fonctionnement normal de l’application, en injectant des données ayant une sémantique particulière vis-à-vis de la plate-forme.
- Les attaques de type "injection SQL" consistent à exécuter des requêtes SQL dans un serveur de base de données SQL, par le biais d'une application web faisant appel à cette base de données. Ces attaques reposent sur un mauvais contrôle des données envoyées par l'utilisateur ; ces données, si elles contiennent du code SQL, vont être transmises telles qu’elles au SGBD, ce qui va modifier la requête SQL, et donc provoquer un détournement de l’exécution de cette requête.
Microsoft confirme cet état de fait et recommande de ne pas se baser uniquement sur le filtrage .NET, mais plutôt de l’utiliser comme mesure additionnelle. L’éditeur propose également plusieurs articles permettant d’améliorer la sécurité en environnement de programmation .NET (voir liens ci-dessous).
Une mini-étude Cert-IST traitant de la sécurité des applications web avait fait l’objet d’une publication dans le Bulletin Sécurité du mois de février 2005. Cet article proposait également des références vers des sites fournissant des méthodes de programmation sécurisée pour les applications web, telles que l’OWASP ("Open web Application Security Project") ou le WASC ("Web Application Security Consortium").
Pour plus
d’information :
Avis de sécurité du NISCC du 20 octobre 2006 : http://www.niscc.gov.uk/niscc/docs/re-20061020-00710.pdf?lang=en
Articles Microsoft concernant la sécurité .NET :
- http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/securitybarriers.asp
- http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag2/html/paght000003.asp
- http://msdn2.microsoft.com/en-us/library/system.web.httprequestvalidationexception.aspx
Mini-étude Cert-IST : http://www.cert-ist.com/fra/ressources/Publications_ArticlesBulletins/Autres/Securisationdesapplicationsweblesvulnerabilitesmajeuresetleursparades/