|
La société "Application Security, Inc" (www.appsecinc.com) a présenté à la dernière conférence "BlackHat Windows" (à Seattle, en février 2003) un exposé sur les failles de sécurité qu'ils ont découvertes dans l'application "SQL server" de Microsoft. Une bonne partie de ces failles sont corrigées par le SP3 de SQL-server 2000, mais d'autres restent cependant toujours d'actualité, et sont considérées par Microsoft comme des "limitations fonctionnelles" ou des faiblesses intrinsèques du produit. Au-delà des failles ainsi mises en évidence, cet exposé est également intéressant par la démarche de recherche de vulnérabilité qu'il présente. Obtenir un accès La réflexion initiale est basée sur le fait que, comme des outils de l’environnement SQL server ont besoin d’accéder "en différé" à la base de donnée (par exemple "SQL agent", qui permet d'exécuter des commandes "en différé", ou la fonction de réplication), des mots de passe du serveur SQL doivent être stockés quelque part sur la machine. Effectivement, après analyse, plusieurs mots de passe mal protégés ont ainsi été trouvés : stockés en base dans des tables mal protégées, ou accessibles via des procédures stockées en base ("stored procedures") exécutables par tous, ou stockés dans la base de registres sur des entrées mal protégées. Nota : Ce problème de mots de passe mal protégés est partiellement résolu par le SP3. Certaines configurations sont cependant encore vulnérables è des attaques par force brute. Il est donc recommandé d'utiliser des mots de passe "forts" (difficiles à "craquer" par force brute). Augmenter ses privilèges Dans une seconde étape, "Application Security" recherche des moyens d'augmenter les privilèges initialement obtenus sous "SQL-server", c'est-à-dire de passer d'un compte sans privilège, à un compte "administrateur de la base de données". Après recherche, plusieurs moyens ont été trouvés pour arriver à cette fin :
Prendre le contrôle de la plate-forme La dernière étape constitue à utiliser les privilèges obtenus sous "SQL-server" pour tenter d'obtenir aussi les pouvoirs "administrateur" au niveau de la plate-forme elle-même. Plusieurs "solutions" sont proposées par "Application Security" :
Conclusion Les résultats présentés par "Application Security" sont préoccupants. La facilité (au moins apparente) avec laquelle les différentes tentatives d'attaques ont réussi montre qu'un utilisateur ayant la possibilité d'accéder interactivement au serveur "Microsoft SQL-server" a de fortes chances d'outrepasser les droits qui lui ont été accordés, jusqu'à éventuellement prendre le contrôle de la plate-forme. Et si le SP3 de "Microsoft SQL-server" (ou le SP3a sorti en mai) améliore grandement la situation constatée, tous les problèmes ne sont pas pour autant résolus. Il est donc indispensable de protéger au maximum ce type de serveur. On veillera en particulier à ne pas autoriser les connexions directes à une base SQL-server depuis Internet, et à contrôler fortement les requêtes "utilisateurs" provenant des systèmes frontaux (serveurs web par exemple). Pour plus d'information Hunting Flaws in Microsoft SQL Server Presentation :
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||