Archive for septembre, 2009
En réaction à l’article de Capital : “Pirater un site Web, trop facile !”
by julloa on sep.10, 2009, under Uncategorized
Un article fort intéréssant paru dans « Capital » du mois d’aout fait état de vulnérabilités de plusieurs site Web. Dans un premier temps nous verrons quelles vulnérabilités ont été exploitées et nous préciserons comment se prémunir de ces vulnérabilités.
Quelles sont les vulnérabilités exploitées ?
3 types de vulnérabilités ont été exploités :
1) lié à des défaillances techniques (SQL injection, Cross Site Scripting),
2) lié à des défaillances organisationnelles (possibilité d’accéder aux pages
d’administration des sites Web)
3) lié à des défaillances dans la logique applicative.
Comment se prémunir de ces vulnérabilités ?
Dans le premier cas (Injection SQL, Cross Site Scripting ….). Comme ces attaques font appel à des langages informatiques (SQL, JavaScript), elles sont assez facilement reconnaissables et elles peuvent être bloquées grâce à un firewall applicatif Web (WAF). Il est toutefois recommandé d’utiliser un WAF qui est capable d’avoir une approche pondérée (comme la Scoring List de Deny All) pour reconnaitre ces attaques. En effet, les WAF qui utilisent de simples « black list » ne sont pas assez efficaces contre ces attaques ou bien, bloquent trop fréquemment le trafic légitime (ce qui est inacceptable).
Dans le deuxième cas, il a été possible d’accéder à l’interface d’administration, car celle-ci n’était pas suffisamment sécurisée. Là encore, un WAF aurait été fort utile, car il permet d’augmenter le niveau d’authentification. Il est par exemple possible de faire en sorte que les administrateurs ne puissent accéder à l’interface d’administration qu’après une
authentification forte (Certificat client, RSA SecureID, Vasco, Active Card…) ce qui permet d’être protégé des attaques qui consistent à deviner un mot de passe en faisant des essais
répétés et automatiques.
Dans le troisième cas, les vulnérabilités exploitées étaient liées à des problématiques de logique applicative. Ici, les mécanismes de défense traditionnels sont souvent inefficaces.
En effet, L’exploitation de la vulnérabilité ne passe pas par un vecteur d’attaque comme une injection de code (qui est identifiable), mais par exemple par la manipulation d’un
paramètre dans une URL. Il est toutefois possible d’en limiter les risques grâce au modèle de sécurité positive du WAF (White List : tout ce qui n’est pas expressément prévu sera
rejeté).
L’article fait état du temps de réaction des différentes entités. Comment réagir rapidement quand une vulnérabilité a été détectée ?
Certains WAF permettent de mettre en œuvre un patch virtuel sans que l’on ait à modifier l’application WEB. Ceci permet de traiter la vulnérabilité qui a été détectée immédiatement
en laissant du temps aux équipes de développement pour corriger le problème en profondeur sans devoir interrompre le service.
Moralité de l’histoire ?
Dans le meilleur des mondes, ces vulnérabilités n’auraient pas pu être exploitées, car les aspects de sécurité auraient été pris en compte de façon importante dès la conception de
l’application WEB et tout au long de son cycle de vie (développement, exploitation). Il est toutefois difficile de prendre en charge ces aspects de sécurité en amont : on demande aux développeurs de concentrer leurs efforts sur les fonctionnalités et non sur la sécurité. De plus, il arrive très fréquemment que l’on n’ait aucun contrôle sur le développement de l’application Web. C’est pour ces raisons et parce que les attaques Web sont très attractives pour les hackeurs (simplicité de mise en œuvre et retour sur investissement très fort) qu’un WAF est un élément devenu maintenant indispensable dans les infrastructures Web.
Pourquoi un WAF
by admin on sep.01, 2009, under WAF
Qu’est-ce qu’un WAF ?
Un WAF (Web application Firewall) est un logiciel ou un équipement matériel placé entre le firewall et les serveurs WEB, il permet principalement de protéger les applications Web des attaques applicatives (SQL injections, Cross Site Scripting, injection de code …)
J’ai déjà un Firewall réseau. Quelles sont les différences entre un Firewall réseau et un Firewall applicatif Web ?
Le premier offre une protection périmétrique, il a en charge d’autoriser des paquets à le traverser en fonction de leur source et de leur destination. Le firewall applicatif Web est lui en charge du contenu de ces paquets. On peut comparer ces deux fonctionnalités à un contrôle douanier. Dans un premier temps, une vérification sur le passeport est effectuée (ceci peut être assimilé au firewall réseau), puis une fouille est réalisée (ici assimilée à la vérification effectuée par le firewall applicatif WEB). Ces deux actions sont tout à fait complémentaires et indispensables.
Pourquoi un WAF est maintenant un élément indispensable dans mon infrastructure ?
Selon une étude du Gartner, 75% des attaques ciblent les systèmes d’information à travers les applications WEB. Selon cette même étude, 2/3 des applications Web sont vulnérables. Elles ont donc une sensibilité « naturelle » aux attaques et offrent un large champ d’action aux hackers. Les attaques Web sont très simples à mettre en œuvre (dans bien des cas, un simple navigateur suffit). De plus, le retour sur investissement pour les hackers est élevé. Voilà principalement pourquoi les applications Web sont de plus en plus la cible d’attaques.
Simplicité de mise en œuvre et retour sur investissement très élevé pour les pirates
Quels sont les cibles et les impacts des attaques Web ?
- L’utilisateur : Les attaques vont cibler l’utilisateur principalement pour récupérer les éléments d’authentification tels que les mots de passe. Une fois récupéré par le pirate, ce dernier pourra se faire passer pour l’utilisateur et réaliser toutes les actions que celui-ci aurait pu réaliser.
- Le serveur WEB. Parmi les impacts les plus fréquents, on retrouve :
- modification de contenu. Les conséquences du « défacement » sont variables en fonction de la sensibilité de l’image de marque de l’entreprise ;
- Ajout de contenu illicite;
- Accès à des documents présents sur le serveur et qui ne sont normalement pas accessibles via le serveur Web ;
- prise de contrôle du serveur Web (exécution de commandes).
- L’application WEB (au sens logique). Dans ce cas, le but sera de faire en sorte que l’application Web ait un comportement différent de celui attendu. Par exemple : modifier le prix d’un produit
- Les bases de données. Elles sont la cible privilégiée des hackers. Dans ce cas, le serveur Web est utilisé comme un outil pour accéder aux données. Les impacts vont du vol, à la suppression ou l’altération de données. Notons que bien des vols de données passent complètement inaperçus, car celles-ci restent présentes sur le serveur après « l’effraction ».
- Les Web Services n’échappent pas aux attaques. De plus en plus déployés, ils ont une forte interaction avec les bases de données, ce qui fait d’eux une cible de choix.
Quels sont les autres aspects de sécurité qui peuvent être pris en charge par le firewall applicatif Web ?
Le firewall applicatif est en amont des applications Web qu’il protège. Il devient donc naturel de lui demander de réaliser de l’authentification. Ce point est particulièrement utile lorsque l’on souhaite rendre accessible sur internet et de façon sécurisée des applications Web internes.
Le firewall applicatif Web permet également de virtualiser l’infrastructure applicative (il donne la possibilité d’utiliser des noms de serveurs Web différents de ceux utilisés en interne). De plus, un firewall applicatif Web facilite la mise à disposition sur internet d’applications Web internes (il n’est plus nécessaire de déplacer le serveur Web vers une zone spécifique du réseau). Enfin le FireWall applicatif peut également être utilisé pour fournir des preuves de tentatives d’intrusion. En effet, la totalité des requêtes est journalisée (les serveurs Web ne journalisent pas l’intégralité des éléments).
La sécurité de l’application Web est prise en compte durant le développement, ai-je malgré tout besoin d’un WAF ?
Pour que les méthodes qui visent à apporter de la sécurité tout au long du cycle de vie de l’application puissent être efficaces, il faut avoir un contrôle total sur les phases de développement. Les aspects de sécurité devront être pris en compte dès la conception, tout au long du développement et durant l’exploitation. Il arrive fréquemment que l’on n’ait pas le niveau de contrôle suffisant à ces différents stades pour obtenir un niveau de sécurité suffisant. Ces méthodes doivent donc impérativement être complétées par la mise en œuvre d’un firewall applicatif Web pour diminuer le périmètre de vulnérabilité. De plus, le firewall applicatif Web permet de lutter contre les attaques qui visent le serveur Web par lui-même (Vulnérabilités IIS, apache … comme directory traversal, déni de services tel que Slowloris …). Firewall applicatif Web et méthodes visant à prendre en considération la sécurité applicative durant les phases de développement sont donc complémentaires.
Le firewall applicatif Web offre-t-il d’autres plus values que celles liées à la sécurité ?
Oui, le firewall applicatif permet d’accélérer le trafic Web particulièrement quand les serveurs Web sont surchargés. En effet, une bonne partie du travail qui était réalisé par le serveur Web (délivrer les pages statiques, prise en charge du chiffrement) sera pris en charge par le Firewall applicatif. L’avantage principal est de permettre au serveur Web de disposer de plus de ressources pour effectuer les traitements. Le firewall applicatif Web est également capable de répartir la charge sur plusieurs serveurs Web et d’assurer la haute disponibilité de ces serveurs. Le bénéfice étant de ne pas avoir à implémenter des mécanismes complexes de haute disponibilité et de se passer d’un répartiteur de charge (load balanceur) en aval. Sans oublier les avantages soulignés dans le paragraphe précédent, comme la simplification et la rationalisation de l’infrastructure.

