S'identifier / Créer un compte
  • Actualités
  • Dossiers
  • Tests
  • Commentaires
  • INpactiens
Publicité

Flash Info : Microsoft annonce la XBox One : tout ce qu'il faut savoir

Microsoft se bat contre les attaques par injections SQL

Après les toxines, les injections de vaccins

sql server 2005Ces derniers temps, Microsoft avait attiré les feux de la rampe après qu'une série d'attaques par injection SQL a touché un certain nombre de serveurs. Dans la pratique, les prémices de ces attaques laissaient supposer des proportions presque épiques à cette vague, mais le phénomène a été rapidement maîtrisé.

Il a tout de même eu le mérite de provoquer des attentes et des réactions vives chez les administrateurs, car une situation chez Microsoft n'a pas été réglée. Depuis la sortie de Windows Server 2008, l'architecture de communication a été grandement modifiée. Elle prend désormais appui sur Windows Communication Foundation, dont la version 7.0 d'Internet Information Service (IIS) se sert également.

Le problème de cette vague d'attaques était donc qu'elle visait des configurations basées sur IIS et qui fonctionnaient en coordination avec SQL Server. Des requêtes SQL spécialement conçues avaient la capacité de provoquer des dommages à une structure SQL. Il y avait bien entendu un problème à corriger du côté de Microsoft, mais le souci venait également du fait que toute la structure basée sur IIS 7.0 ne dispose pas des outils habituels pour régler ces situations.

Dans la ligne de mire, l'outil UrlScan Filter. Sorti en version 1.0 en 2001, sa dernière mouture officielle et finale est la 2.5, disponible depuis l'année dernière, mais uniquement jusqu'à IIS 6.0. De fait, IIS 7.0 n'est pas compatible, car fonctionnant de manière très différente. Microsoft travaillait déjà sur la version 3.0 de son outil, mais la vague d'attaques a accéléré le mouvement.

UrlScan Filter 3.0 est donc disponible en version bêta, et s'adapte à la manière dont IIS 7.0 peut interpréter les requêtes venues du Web. UrlScan est une ligne de défense, mais pas LA ligne de défense. Il s'agit d'un outil potentiellement puissant, mais qui ne fonctionne pas à la manière d'un antivirus : il ne suffit pas de l'installer pour que tout soit géré automatiquement. Il permet de définir clairement les limites entre les diverses fonctionnalités qui peuvent être appelées depuis une requête SQL. Il fut par exemple très utile pour contrôler dans le passé les requêtes qui faisaient appel au protocole WebDAV. Dans le cas où ce dernier n'est plus utilisé dans une entreprise donnée, l'administrateur peut alors entièrement filtrer tous les appels relatifs.

Microsoft propose également un autre outil très utile en version bêta, qui permet de scanner le code source des pages pour mettre en avant les possibles portions qui seraient vulnérables justement aux injections SQL. Enfin, l'éditeur a développé Scrawlr, en partenariat avec HP. Cet utilitaire se destine aux sites web déjà en place et permet de surveiller les paramètres de chaque page à la recherche de vulnérabilités connues aux injections SQL.

Finalement, à quelque chose malheur est bon. 
Source : Betanews
Vincent Hermann

Rédacteur/journaliste spécialisé dans le logiciel et en particulier les systèmes d'exploitation. Ne se déplace jamais sans son épée.

Le 26 juin 2008 à 10:37 (13 812 lectures)

Il y a 27 commentaires

Avatar de Freud INpactien
Freud Le jeudi 26 juin 2008 à 10:46:27
Inscrit le vendredi 27 juin 03 - 2639 commentaires
L'article laisse entendre que Microsoft a une responsabilité dans les injections SQL, ce qui n'est pas le cas.

Le seul responsable des attaques SQL est le webmaster qui ne prend pas la peine de vérifier que les données envoyées par l'utilisateur sont conformes à ce qui est attendu.

Utiliser UrlScan Filter pour se protéger des injections SQL est équivalent à utiliser un firewall pour bloquer un port sur lequel on peut exploiter une faille : ça ne corrige pas le problème, ça permet de le contourner mais le problème est toujours là.

Un bon webmaster n'aura donc pas besoin de cet outil.
Avatar de Freud INpactien
Freud Le jeudi 26 juin 2008 à 10:48:59
Inscrit le vendredi 27 juin 03 - 2639 commentaires
Désolé pour le double post, mais faudra penser à acheter des nouveaux serveurs pour éviter ça (la page blanche après le post du commentaire, et le commentaire qui n'apparaît que deux minutes après... voilà quoi)

Edité par Freud le jeudi 26 juin 2008 à 10:51
Avatar de SharedX INpactien
SharedX Le jeudi 26 juin 2008 à 11:02:30
Inscrit le vendredi 18 mai 07 - 139 commentaires
Le problème c'est que tout le monde n'est pas forcément un " bon " webmaster, certains débutent, même après plusieurs mois - un an. ( Voir même après 15 troll.gif )

C'est une bonne chose que Ms prenne des mesures, même si elles peuvent tendre à prendre par la main les personnes responsables, après ça réglera peut-être pas toujours les problèmes... fume.gif
Avatar de Oliiii INpactien
Oliiii Le jeudi 26 juin 2008 à 11:15:06
Inscrit le vendredi 27 avril 07 - 25 commentaires
Il n'y a pas besoin d'etre bon pour eviter les injections SQL, le web est bouré de trucs et astuces super simple pour eviter les problemes dans quasi tout les cas.

Ne pas etre protege contre les injections sql c'est quasi comme avoir un page web avec login et mot de passe et ne pas verifier le mot de passe... On peut avoir toutes les protections qu'on veut, quand on est con, on est con :)



Edité par Oliiii le jeudi 26 juin 2008 à 11:15
Avatar de Laere INpactienne
Laere Le jeudi 26 juin 2008 à 11:25:28
Inscrite le vendredi 30 novembre 07 - 758 commentaires
J'approuve Freud, les injections SQL sont une vraie problematique.. et j'avoue avoir du mal à comprendre comment une suite automatisée entend arranger le probleme. Eventuellement faire une rustine, mais seules des pratiques de dev adequates peuvent corriger la source reelle du probleme.

En realité de ce point de vue là la techno LINQ (de crosoft toujours) apporte de reelles avancées pour les developpeurs dotnet, puisqu'elle forme une couche d'abstraction au dessus de l'accés aux données, et ce de maniere generaliste.
En quoi ca resout le probleme me direz vous? C'est simple, les requetes LINQ sont typées et verifiées à la compilation, seuls leurs parametres changent à l'execution (à moins de faire du LINQ dynamique bien sûr, mais dans ce cas, on conserve tout de même le typage)
Qui plus est l'abstraction inclue les bonnes pratiques de base pour se proteger des injections. On retrouve evidemment ces fonctionnalités dans les autres solutions de mapping objet relationnel.

les outils de mapping sont donc une solution, faire attention à ce qu'on ecrit en est une autre (on aime tous les url du genrehttp://www.monsite.com/query.php5?SELECT * from gnagnagna, à changer parhttp://www.monsite.com/query.php5?DROP DATABASE)


Avatar de doctorcpu INpactien
doctorcpu Le jeudi 26 juin 2008 à 11:27:41
Inscrit le dimanche 8 avril 07 - 186 commentaires

dernier jour de bill gates demain il prend sa retraite (confortable sur le plan financier )

demain il fetera son depart bye bye et vive macosx ;)

http://www.lesoir.be/la_vie_du_net/actunet/logiciels-fin-d-un-regne-bill-2008-06...
Avatar de zefling INpactien
zefling Le jeudi 26 juin 2008 à 11:31:04
Inscrit le mercredi 30 juin 04 - 11441 commentaires
les outils de mapping sont donc une solution, faire attention à ce qu'on ecrit en est une autre (on aime tous les url du genrehttp://www.monsite.com/query.php5?SELECT * from gnagnagna, à changer parhttp://www.monsite.com/query.php5?DROP DATABASE)

Ça existe ça !!!?

Edité par zefling le jeudi 26 juin 2008 à 11:31
Avatar de vinzzz22 INpactien
vinzzz22 Le jeudi 26 juin 2008 à 11:37:45
Inscrit le mercredi 21 décembre 05 - 1026 commentaires
Il n'y a pas besoin d'etre bon pour eviter les injections SQL, le web est bouré de trucs et astuces super simple pour eviter les problemes dans quasi tout les cas.

Ne pas etre protege contre les injections sql c'est quasi comme avoir un page web avec login et mot de passe et ne pas verifier le mot de passe... On peut avoir toutes les protections qu'on veut, quand on est con, on est con :)


+1

Quand on sait faire son boulot on s'en prend pas.

Apres c'est sur, faire des
<?php include($_GET['page']);?>
ou remplir des champs de requetes directement avec du POST/GET c'est suicidaire
Avatar de adhes INpactien
adhes Le jeudi 26 juin 2008 à 11:43:22
Inscrit le dimanche 4 février 07 - 407 commentaires
Ça existe ça !!!?


ce genre de script est quand même très rare (enfin, j'aimerais bien avoir une adresse de site où ça existe, juste pour voir )
mais un truc genre page.php?userid=125 qui nous donne des droits admin quand on remplace par userid=1, ça existe, et c'est loin d'être rare
Avatar de vinzzz22 INpactien
vinzzz22 Le jeudi 26 juin 2008 à 11:43:26
Inscrit le mercredi 21 décembre 05 - 1026 commentaires
Ça existe ça !!!?

Une requete directement dans l'url en GET je ne pense pas non en tout cas jamais vu.

par contre un "SELECT * FROM users WHERE login = '".$_GET['login']."' AND 'pass' = '".$_GET['pass']."'"; oui j'ai deja vu .

Suffit de metre un login et en pass tu mets: (entre les >..<)
>4' OR 1 = '1<
et ton SELECT passe dans le OR...
Il n'est plus possible de commenter cette actualité
Vous devez être connecté ou vous inscrire en haut pour pouvoir participer aux commentaires.