SecurityVibes communaute securite et conformite
Email

Mot de passe




 Mot de passe perdu?

SQL Smuggling : l'attaque sournoise contre les bases de données

A l’occasion de la RSA Conference 2008 à Londres, une présentation a détaillé l’attaque de SQL Smuggling, ou comment faire passer une injection SQL sous le nez du pare-feu applicatif web.
Article écrit par JSaiz et proposé le 04 Nov 2008.

C’est parce que le pare-feu applicatif web (WAF) offre un contexte d'exécution totalement différent de l’application qu’il est censé protéger qu’une attaque par smuggling (contrebande) est possible.

Le WAF ne fait bien même souvent qu’observer, et non interpréter, les requêtes. Il ne peut alors anticiper l’effet réel qu'elles produiront sur le serveur applicatif derrière lui. Le principe du smuggling consiste alors à soumettre une requête formatée d’une manière tout à fait légitime aux yeux du WAF mais dont l’interprétation sur le serveur produira des effets néfastes.

Si les premières applications de smuggling concernaient les serveurs web (voir les travaux d’Amit Klein au sujet des attaques par HTTP Response Splitting), la présentation d'Avi Douglen (ComSec Consulting) à l’occasion de la RSA Conference Europe en applique le principe aux bases de données SQL.

La partie la plus intéressante de la présentation concerne l’usage des homoglyphes : ces symboles qui à l’écran ressemblent fortement à des lettres de l’alphabet occidental mais qui ont, bien entendu, une représentation Unicode différente.

La technique est déjà bien connue pour maquiller des URL lors de campagnes de phishing, mais elle peut aussi être exploitée dans le cadre du SQL smuggling, en profitant du fait que certaines bases de données opèrent automatiquement une traduction des caractères unicodes non supportés vers le jeu de caractères local.

Lorsqu’un caractère présent dans la requête n’existe pas dans le jeu de caractères local de la base, certaines bases de données l’ignorent, d’autres lèvent une erreur, mais d’autres encore le traduisent par le caractère le plus proche”, explique Avi Douglen.

Il cite ainsi l’exemple de U+02BC, qui ressemble de très près à un guillemet simple (U+0027), et qui pourra passer outre un filtrage applicatif tout en étant convertit automatiquement par la base de données en son équivalent le plus proche... un véritable guillemet simple !

Enfin, la présentation d’Avi Douglen offre d’autres exemples moins originaux mais tout aussi problèmatiques, pour l’essentiel basés sur une utilisation “créative” des espaces et des caractères de commentaires (par exemple le fameux exec(‘INS’ + ‘SERT INTO’).

L’auteur recommande, bien entendu, de ne pas autoriser la traduction automatique des caractères unicode non supportés, mais aussi de privilégier une approche par liste blanche des caractères supportés.

Mots clés : ComSec, Avi Douglen, Amit Klein, RSA Conference, SQL, Unicode, SQL Smuggling


Articles similaires

Bien choisir son Firewall Applicatif Web (WAF)
Les applications Web continuent d'être l'un des principaux...
Ce bon vieux ver Slammer n'est pas mort ...
Selon IBM Internet Security Systems, le ver Slammer de funeste réputation,...
Coup d'envoi de la RSA Conference 2004
L'édition 2004 de la RSA Conference vient de débuter aux Etats-Unis à San...
Microsoft renforce son image sécurité à la RSA...
La RSA Conference 2004 a été marquée cette année par la présence de...
RSA Conference 2004 : Première journée
RSA Conference est la conférence annuelle des professionnels de la...


#1 - Il y a 2 mois


Pleothaud
BeeWare

Vibes : 100%
Votes : 3 votes
Il suffirait donc d'indiquer au WAF qu'il lui faut décoder certains caractères comme le feraient certaines Bases de Données, et non comme ils doivent l'être...

L'idée est intéressante, on va se mettre dessus

#2 - Il y a 2 mois


JSaiz
LesNouvelles.net

Vibes : 100%
Votes : 11 votes

Contributeur
Voilà, probablement différents profils qui "collent" aux différentes bases de données rencontrées... Mais il faut alors savoir quelle BDD est derrière, parce que d'après la présentation, certaines séquences anodines pour l'une peuvent être dangereuses pour une autre...

#3 - Il y a 2 mois


BrunoRasle
ARCA

Vibes : 100%
Votes : 5 votes

Contributeur
Mardi, lors d'une présentation devant l'OSSIR, le CTO de la société Sentrigo a présenté son "firewall" applicatif logiciel HedgeHog conçu spécifiquement pour les bases de données.

Ce module fonctionne directement sur la mémoire de la base - donc après que le flux ait été "déwrappé" ou déchiffré. Il détecte donc bien toutes attaques de ce type, de même que les attaques internes à la base de données (bombes logiques)- ce dont est incapable une solution frontale.

Le support de sa présentation (avec démonstration de telles attaques) sera prochainement en ligne sur

http://www.ossir.fr/windows/supports/li ... 2008.shtml

A noter que le développeur a indiqué avoir codé un fuzzer conçu spécifiquement pour cibler les bases de données...

#4 - Il y a 2 mois


Mestrade
Beeware

Vibes : 100%
Votes : 4 votes
Il existe aussi des projets opensource pour filtrer les requetes SQL:

Pour mysql:

www.greensql.net

www.dbproxy.org

Ou avec plus de base de donnees:

sqlrelay.sourceforge.net

A l'inverse de Sentrigo, ces projets se placent en mode reverse proxy comme peut etre un waf, et permettent de detecter ou d'appliquer des politiques de securite sur les query SQL a partir de l'utilisateur ou de la syntaxe.

DBProxy permet aussi de detecter des comportements bizarre en analysant les volumes de donnees en fonction des requetes.

#5 - Il y a 2 mois


Mestrade
Beeware

Vibes : 100%
Votes : 4 votes
J'avais oublie la petite presentation de greensql par Yuli Stremovski, son concepteur:

http://www.greensql.net/public/presenta ... rewall.ppt

#6 - Il y a 2 mois


JSaiz
LesNouvelles.net

Vibes : 100%
Votes : 11 votes

Contributeur
J'avais interviewé un VP de Sentrigo. Leur agent en effet observe la mémoire partagée de la base, et accède donc à tout. Sentrigo estime l'impact des performances à 5%.

http://www.01net.com/editorial/368442/s ... formances/

#7 - Il y a 2 mois


Nruff
EADS

Vibes : 100%
Votes : 3 votes
@mestrade: le problème c'est qu'Oracle propose un outil de compilation des requêtes dans un "bytecode" propriétaire (opération dite "wrapping" dans le jargon Oracle) qui n'est pas publiquement inversible.

Toutes les solutions de protection "en coupure" pour Oracle vont se heurter à ce problème d'analyse.

#8 - Il y a 2 mois


Mestrade
Beeware

Vibes : 100%
Votes : 4 votes
Yep Nicolas, une solution collee a la base de donnees pourra etre plus proche des mecanismes internes, et aura plus de facilite a monitorer le resultat d'un query. D'un autre cote, une solution de type reverse proxy aura plus de fonctionnalite au niveau infrastructure (fault tolerance, load balancing etc...).

Dans les solutions opensource, j'ai aussi oublie mysql qui a commence une solution de type reverse proxy: http://dev.mysql.com/downloads/mysql-pr ... sql-proxy/ . Oracle a aussi une solution du meme genre.

Si on devait faire une comparaison, je trouve que ces produits prennent la meme direction que les waf, colles a l'application comme un mod_security peut l'etre a apache, ou en tant qu'interception de flux comme peut l'etre un reverse proxy beeware. Le besoin client viendra ensuite determiner quelle solution sera la plus adaptee.

Comments

Vous devez vous enregistrer afin de pouvoir commenter cet article. Cliquez ici pour créer un compte gratuitement!

Commentaires récents

Il y a 3 heures - Il y a encore un autre aspect interessant dans cette histoire. J'ai connu...
Il y a 11 jours - j'avais essayé la version gratuite il y a à peu près 2 ans, à l'époque...
bforay à propos de Focus sur PrevX
Il y a 2 semaines - Google n'offre malheureusement plus la possibilité d'obtenir une clé pour...
Il y a 2 semaines - Bonjour, suite aux conseils d'un auditeur de chez Orange FT Group, j'ai voulu...
Il y a 3 semaines - La technologie peut être aussi un processus sous jacent et objet de...
© SecurityVibes.com 2000 - 2009 | A propos | Devenir contributeur | Données personnelles | Nous contacter | Devenir membre
Pages Spéciales: Fusions et Acquisitions en 2008, Owasp NYC AppSec Conference 2008, Infosecurity France 2008, Les mots à coucher dehors !, Assises de la Sécurité 2008.