Avis de sécurité Microsoft (954462)
Augmentation des attaques par injection SQL exploitant des entrées de données utilisateur non vérifiées
Paru le 24 juin 2008 | Dernière mise à jour le 25 juin 2008
Microsoft a connaissance d'une récente augmentation d'un type d'attaques ciblées sur des sites Web utilisant les technologies Microsoft ASP et ASP.NET qui ne suivent pas les meilleures pratiques de développement d'applications Web sécurisées. Ces attaques par injection SQL n'exploitent pas une vulnérabilité logicielle spécifique mais ciblent des sites Web qui ne respectent pas les pratiques d'écriture de code sécurisé pour l'accès et la manipulation des données enregistrées dans une base de données relationnelle. En cas de réussite d'une attaque par injection SQL, un attaquant peut compromettre les données enregistrées dans ces bases de données et éventuellement exécuter du code à distance. Les clients naviguant sur un serveur compromis pourraient être redirigés à leur insu vers des sites malicieux qui pourraient installer des logiciels malveillants sur l'ordinateur client.
Facteurs atténuants :
Cette vulnérabilité n'est pas exploitable dans les applications Web qui suivent les meilleures pratiques de développement d'applications Web sécurisées, qui stipulent de vérifier les entrées de données utilisateur.
But de cet avis : Aider les administrateurs à identifier et corriger le code vulnérable dans leurs applications Web ASP et ASP.NET qui ne suivent pas les meilleures pratiques de développement d'applications Web sécurisées.
État de l'avis : L'Avis de sécurité Microsoft et les outils qui lui sont associés ont été publiés.
Recommandation : Consultez et exécutez, le cas échéant, les actions suggérées. Nous suggérons également que les administrateurs de serveur évaluent l'efficacité des outils en question et les utilisent de manière appropriée.
Cet Avis porte sur les logiciels suivants :
Technologies Microsoft ASP et ASP.NET |
Quelle est la portée de cet avis ?
Cet Avis a pour but d'aider les administrateurs de sites Web à identifier des problèmes potentiels liés au code de leurs applications Web, qui pourraient être vulnérables à des attaques par injection SQL et de fournir une solution intérimaire pour aider à se protéger des attaques pendant que les applications sont en cours de correction.
Cette vulnérabilité nécessite-t-elle la publication par Microsoft d'une mise à jour de sécurité ?
Non. Tout code d'application Web qui a été développé en suivant les meilleures pratiques de sécurité est de manière significative moins susceptible d'être vulnérable à une attaque par injection SQL. Bien qu'il ne s'agisse pas d'une vulnérabilité de sécurité, cet Avis a été publié pour fournir un avertissement et fournir une assistance supplémentaire aux administrateurs de sites vulnérables.
D'où vient cette menace ?
Le manquement à la validation correcte des entrées utilisateur peut permettre à un attaquant d'injecter des commandes SQL dans des champs d'entrée, qui pourrait ensuite s'exécuter sur une source de données, entraînant ainsi la corruption de la base de données ou l'exécution de code sur le serveur.
Que pourrait faire un attaquant en exploitant cette fonctionnalité ?
Des attaquants pourraient concevoir une attaque automatisée profitant de vulnérabilités d'injection SQL sur des pages Web qui ne suivent pas les meilleures pratiques de sécurité pour le développement d'applications Web. Après avoir compromis le site, un attaquant pourrait exécuter de nombreuses opérations malveillantes sur le serveur, telles que supprimer une base de données et rediriger les clients qui naviguent sur ce serveur vers des sites malicieux qui pourraient installer des logiciels malveillants sur l'ordinateur client.
Microsoft a identifié plusieurs outils pouvant venir en aide aux administrateurs. Ces outils couvrent la détection, la défense et l'identification de code qui pourrait être exploité par un attaquant.
| • | Détection – HP Scrawlr Hewlett Packard a développé un analyseur gratuit qui peut identifier les sites susceptibles d'être vulnérables à des injections SQL. Cet outil et le support technique qui l'accompagne sont disponibles sur la page Recherche d'injection SQL avec Scrawlr du Centre de sécurité HP. Description détaillée : Cet outil est un outil d'analyse « boîte noire » (autrement dit, aucun code source n'est requis). L'utilisateur entre une URL et l'outil effectue les actions suivantes : | • | Il analyse cette URL de manière récursive afin de détecter les liens hypertexte et de construire l'arborescence du site ; | | • | Il teste tous les liens découverts pour rechercher une injection SQL en envoyant des requêtes HTTP contenant des chaînes d'attaque par injection SQL dans les paramètres de chaînes de requête. | | • | Il examine les réponses HTTP du serveur pour rechercher des messages d'erreur SQL qui indiqueraient une vulnérabilité liée à une injection SQL ; | | • | Il signale toute page pouvant être vulnérable à l'utilisateur, ainsi que les champs d'entrée associés. Par exemple, l'outil peut signaler que les champs « nom d'utilisateur » et « mot de passe » sur la page « foo.asp » sont vulnérables. |
|
| • | Défense – UrlScan 3.0 Beta UrlScan 3.0 Beta est un outil de sécurité Microsoft qui limite les types de requêtes HTTP traitées par Internet Information Services (IIS). En bloquant des requêtes HTTP spécifiques, UrlScan empêche les requêtes potentiellement dangereuses d'atteindre l'application Web sur le serveur. UrlScan 3.0 peut être installé sur IIS 5.1 et versions supérieures, y compris IIS 7.0. UrlScan 3.0 est disponible sur URLScan Tool 3.0 Beta.
Description détaillée : UrlScan version 3.0 est un outil qui vous permet d'implémenter différentes règles afin de mieux protéger les applications Web sur les serveurs contre des attaques par injection SQL. Ceci inclut les fonctionnalités suivantes : | • | La capacité à implémenter des règles de blocage appliquées indépendamment à une URL, une chaîne de requête, tous les en-têtes, un en-tête particulier ou toute combinaison de ces éléments ; | | • | Une section globale DenyQueryString qui vous permet d'ajouter des règles de blocage pour les chaînes de requête, avec également la possibilité de vérifier la version non échappée des chaînes de requête ; | | • | La possibilité d'utiliser des séquences d'échappement dans les règles de blocage afin de refuser les CRLF et autres séquences de caractères non imprimables. | | • | Plusieurs instances d'UrlScan peuvent être installées en tant que filtres de site, chacune avec ses propres options de configuration et de journalisation (urlscan.ini). | | • | Les notifications de changements de configuration (urlscan.ini) seront propagées aux processus de travail sans avoir besoin de les recycler. Les paramètres de journalisation sont une exception à cette règle. | | • | Journalisation avancée fournissant des erreurs de configuration détaillées. |
|
| • | Identification – Microsoft Source Code Analyzer for SQL Injection Un outil d'analyse SQL de code source a été développé. Cet outil peut être utilisé pour détecter du code ASP vulnérable aux attaques par injection SQL. Cet outil peut être obtenu dans l'Article 954476 de la Base de connaissances Microsoft. Description détaillée : « Microsoft Source Code Analyzer for SQL Injection » est un outil autonome que nos clients peuvent exécuter sur leur propre code source ASP. Il est accompagné d'une documentation sur les méthodes de réparation des problèmes relevés par l'outil lors de l'analyse du code. Parmi les fonctionnalités clé de cet outil : | • | Analyse du code source ASP afin de rechercher des portions pouvant permettre des injections SQL. | | • | Création d'un rapport indiquant les problèmes de code. | | • | Cet outil identifie uniquement les vulnérabilités dans du code ASP classique. Il ne fonctionne pas sur le code ASP.NET. |
|
| • | Informations complémentaires Microsoft dispose de ressources supplémentaires afin d'aider les administrateurs à identifier et corriger ces problèmes. |
Les clients résidant en France et qui pensent être concernés par ce problème peuvent contacter les services de support produits Microsoft en appelant le numéro suivant : 0 825 827 829. Les appels au Support technique concernant les mises à jour de sécurité ne sont pas facturés par Microsoft. Les clients internationaux peuvent bénéficier d'un support technique en utilisant un des moyens indiqués sur le site Web Centre de Support Sécurité pour le grand public.
Tous les clients devraient appliquer les mises à jour de sécurité Microsoft les plus récentes afin de protéger leur système contre toute attaque. Les clients ayant activé la fonction Mises à jour automatiques recevront automatiquement les mises à jour Windows. Pour plus d'informations sur les mises à jour de sécurité, rendez-vous sur le site Web Microsoft Sécurité.
Ressources :
Dédit de responsabilité :
Les informations contenues dans cet avis sont fournies "en l’état", sans garantie d’aucune sorte. Microsoft exclut toute garantie, expresse ou implicite, notamment toute garantie de qualité et d'adéquation à un usage particulier. En aucun cas la société Microsoft ou ses fournisseurs ne pourront être tenus pour responsables de quelque dommage que ce soit, y compris toute perte de bénéfices directe, indirecte ou accessoire, ou de dommages spéciaux, même si la société Microsoft a été prévenue de l'éventualité de tels dommages. Certains pays n'autorisent pas l'exclusion ou la limitation de responsabilité pour les dommages indirects ou accessoires, de sorte que la restriction mentionnée ci-dessus peut ne pas vous concerner.
Révisions :
| • | 24 juin 2008 : Avis publié. |
| • | 25 juin 2008 : Suppression de références erronées au test des champs de formulaire et des valeurs des cookies dans la description de l'outil HP Scrawlr. |