Vous êtes sur la page 1sur 8

GUIDE:

Scurit des Applications Web Comment Minimiser les Risques dAttaques les plus Courants

Sommaire I. Lessentiel II. Les bases de la scurit des applications Web III. Types de vulnrabilits inhrentes aux applications Web IV. Dtection des vulnrabilits dans les applications Web V. QualysGuard WAS automatise la dtection des vulnrabilits IV. Protection de vos applications Web V. propos de Qualys
2 2 3

8 8

Scurit des Applications Web: Comment Minimiser les Risques dAttaques les plus Courants

page 2

Lessentiel
Les vulnrabilits au sein des applications Web sont dsormais le vecteur le plus important des attaques diriges contre la scurit des entreprises. Lan dernier, prs de 55% des vulnrabilits dvoiles concernaient des applications Web 1. Selon ce mme rapport, la fin de lanne, aucun patch de remdiation ntait disponible pour 74% des vulnrabilits affectant les applications Web. Les rcits sur les exploits qui compromettent des donnes sensibles mettent souvent en cause des attaques base de scripts intersite , d injection de code SQL et de dbordement de la mmoire tampon . Les vulnrabilits de ce genre ne relvent gnralement pas de lexpertise traditionnelle des responsables de la scurit rseau. Par consquent, lobscurit relative des vulnrabilits des applications Web est prcieuse pour mener des attaques. Comme lont constat de nombreuses entreprises, ces attaques rsisteront aux dfenses classiques du rseau dentreprise, moins que vous ne preniez de nouvelles prcautions. Pour vous aider savoir comment minimiser ces risques, Qualys vous propose ce guide dintroduction la scurit des applications Web. Ce guide fait le point sur les vulnrabilits qui affectent gnralement les applications Web. Il compare aussi les options de dtection disponibles et prsente la solution Web Application Scanning (WAS) de la suite QualysGuard, un nouveau service la demande fourni par Qualys pour automatiser la dtection des vulnrabilits les plus courantes au sein des applications Web personnalises.

Les bases de la scurit des applications Web


Les attaques contre les vulnrabilits des applications Web ont commenc voir le jour en mme temps qumergeait le Web, cest--dire au milieu des annes 1990. Ces attaques sappuient gnralement sur linjection de fautes, une technique permettant dexploiter les vulnrabilits de la syntaxe et de la smantique dune application Web. Avec un navigateur Web standard et une connaissance de base du protocole HTTP et du langage HTML, un pirate tente un exploit particulier en modifiant automatiquement un lien URI (Uniform Resource Indicator) qui, son tour, est capable de dclencher un exploit tel quune injection de code SQL ou du script intersite http://example/foo.cgi?a=1 http://example/foo.cgi?a=1 http://example/foo.cgi?a=<script>

< Injection de code SQL < Script intersite (XSS)

Certaines attaques tentent daltrer le workflow logique. Les pirates mnent galement ces attaques en modifiant automatiquement une URI. http://example/foo.cgi?admin=false http://example/foo.cgi?admin=true

< Augmentation des privilges

Un nombre important dattaques exploitent des vulnrabilits au niveau de la syntaxe et de la smantique. Nombre de ces vulnrabilits peuvent tre dcouvertes laide dun outil danalyse automatis. Les vulnrabilits logiques sont trs difficiles tester avec un outil danalyse. En effet, elles imposent de
1 Rapport IBM ISS X-Force sur les tendances et risques pour 2008 http://www-935.ibm.com/services/us/iss/xforce/trendreports/xforce-2008-annual-report.pdf

Scurit des Applications Web: Comment Minimiser les Risques dAttaques les plus Courants

page 3

procder manuellement pour inspecter et analyser le code source de lapplication Web et pour effectuer des tests de scurit. En rgle gnrale, les vulnrabilits de scurit au sein des applications Web sont lies des erreurs de programmation avec un langage de programmation dapplication Web (par exemple Java, .NET, PHP, Python, Perl et Ruby), une bibliothque de codes, un trait de conception ou larchitecture. Ces vulnrabilits peuvent tre complexes et se produire dans de nombreuses circonstances. Utiliser un firewall pour applications Web peut aider contrler les effets de certains exploits, mais il ne permettra pas de rsoudre les vulnrabilits sous-jacentes.

Types de vulnrabilits des applications Web


Les applications Web peuvent comporter chacune une vingtaine de types de vulnrabilits. Les consultants en scurit qui effectuent des tests de pntration sattachent trouver les principales vulnrabilits, notamment celles figurant dans une liste publie par le projet OWASP (Open Web Application Security Project - www.owasp.org). Parmi les autres initiatives visant classer de manire systmatique les vulnrabilits au sein des applications Web figurent six catgories publies par le consortium WASC (Web Application Security Consortium - www.webappsec.org). Les descriptions de vulnrabilits Web qui suivent sappuient sur le schma WASC.

Les solutions danalyse des applications Web pour lentreprise sont plus larges et doivent inclure un large ventail de tests des principales classes de vulnrabilits des applications Web, notamment les injections de code SQL, les scripts intersite et les traverses de rpertoires. Le Top 10 de lOWASP est une bonne liste de dpart pour identifier les principales vulnrabilits, mais une solution dentreprise ne devrait pas se limiter une seule liste ou une catgorie de vulnrabilits. En effet, une solution dentreprise doit galement permettre danalyser de nombreuses applications, de suivre les rsultats dans le temps et aussi de fournir un puissant reporting (en particulier des rapports de conformit) ainsi que des rapports personnaliss aux exigences locales.
Livre blanc sur le dveloppement dun programme de scurit des applications Web Securosis.com

Authentification vol des identits de compte utilisateur


n

Lattaque par Force brute (ou Brute Force) automatise un processus dessais et derreurs destin deviner le nom dutilisateur, le mot de passe, le numro de carte de crdit ou la cl cryptographique dune personne. Lattaque par authentification insuffisante (ou Insufficient Authentication) permet un pirate daccder du contenu ou une fonctionnalit sensible sans authentification approprie. La faiblesse de la validation de restauration du mot de passe (ou Weak Password Recovery Validation) permet un pirate dobtenir, de modifier ou de rcuprer de manire illgale le mot de passe dun autre utilisateur.

Autorisation accs illgal des applications


n

La prdiction de certificat/session (ou Credential/Session Prediction) est une mthode pour pirater ou dpersonnaliser un utilisateur. Lattaque par autorisation insuffisante (ou Insufficient Authorization) permet daccder du contenu sensible ou une fonctionnalit qui devrait exiger davantage de restrictions en matire de contrle daccs. Lattaque par expiration de session insuffisante (ou Insufficient Session Expiration) permet un pirate de rutiliser des certificats ou des identifiants de session prims pour bnficier dune autorisation.

Scurit des Applications Web: Comment Minimiser les Risques dAttaques les plus Courants

page 4

Des attaques de type Fixation de session (ou Session Fixation) forcent lidentifiant de la session dun utilisateur sur une valeur explicite.

Attaques ct client excution illgale de code tranger


n

Lusurpation de contenu (ou Content Spoofing) leurre un utilisateur en lui faisant croire quun certain contenu saffichant sur un site Web est lgitime et quil ne provient pas dune source externe. Le script intersite (ou Cross-site Scripting - XSS) force un site Web relayer le code excutable fourni par un pirate et le charger dans le navigateur Web de lutilisateur.

Excution de commandes prise de contrle dune application Web


n

Les attaques par dbordement de la mmoire tampon (ou Buffer Overflow) altrent le flux dune application en crasant certaines parties de la mmoire. Une attaque de type Format String altre le flux dune application en utilisant les fonctionnalits dune bibliothque de formatage de chanes pour accder un autre espace mmoire. Les attaques par injection LDAP exploitent les sites Web en construisant des instructions LDAP partir des informations saisies par lutilisateur. La prise de contrle distance du systme dexploitation (ou OS Commanding) excute des commandes du systme dexploitation sur un site Web en manipulant les donnes entres dans lapplication. Linjection de code SQL construit des instructions SQL sur une application de site Web partir des informations saisies par lutilisateur. Linjection SSI (Server-Side Include) envoie du code dans une application Web qui est ensuite excute localement par le serveur Web. Linjection XPath construit des requtes XPath partir des informations saisies par un utilisateur.

Divulgation dinformations affichage des donnes sensibles pour les pirates


n

Lindexation de rpertoires (ou Directory Indexing) est une fonction automatique de serveur Web pour le listage/lindexation de rpertoires qui affiche tous les fichiers dun rpertoire demand en labsence du fichier de base normal. Une fuite dinformations se produit lorsque un site Web divulgue des donnes sensibles telles que les commentaires dun dveloppeur ou des messages derreur, ce qui peut aider un pirate exploiter le systme. Une attaque par traverse de rpertoires (ou Path Traversal) force laccs aux fichiers, dossiers et commandes pouvant se trouver en dehors du dossier racine du document Web. Une attaque sur les lieux prvisibles des ressources (ou Predictable Resource Location) rvle le contenu et les fonctionnalits cachs dun site Web.

Scurit des Applications Web: Comment Minimiser les Risques dAttaques les plus Courants

page 5

Attaques logiques interfrence avec lutilisation de lapplication


n

Une attaque par abus de fonctionnalits (ou Abuse of Functionality) utilise les propres caractristiques et fonctionnalits dun site Web pour consumer, dtourner ou faire chouer les mcanismes de contrle daccs. Les attaques par dni de service (ou Denial of Service - DoS) empchent un site Web de satisfaire lactivit normale dun utilisateur. On parle de mesures danti-automatisation insuffisantes (ou Insufficient Anti-automation) lorsquun site Web permet un pirate dautomatiser un processus qui ne devrait pouvoir tre excut que manuellement.

Le nombre de vulnrabilits affectant les applications Web sest dvelopp une vitesse vertigineuse. En 2008, les vulnrabilits affectant les applications de serveur Web reprsentaient 54% de toutes les vulnrabilits connues. Elles taient lun des principaux facteurs de laugmentation globale des vulnrabilits dvoiles au cours de lanne.
Rapport IBM X-Force sur les tendances et risques pour 2008

Une validation de processus insuffisante (ou Insufficient Process Validation) permet un pirate de contourner ou de faire chouer le flux lgitime dune application.

Dtecter les vulnrabilits des applications Web


Il nexiste pas de solution miracle pour dtecter les vulnrabilits des applications Web. Pour ce faire, la stratgie est la mme que lapproche multicouche utilise pour garantir la scurit sur un rseau. La dtection et la remdiation de certaines vulnrabilits impose lanalyse du code source, en particulier pour les applications Web dentreprise complexes. La dtection des autres vulnrabilits peut galement ncessiter des tests de pntration sur site. Comme mentionn plus avant, la plupart des vulnrabilits courantes des applications Web peuvent galement tre dtectes laide dun scanner automatis. Un scanner automatis des vulnrabilits des applications Web enrichit et complte les formes de test manuelles. Il offre cinq avantages majeurs : Rduction du cot total de fonctionnement en automatisant des processus de test rptables Identification des vulnrabilits de syntaxe et de smantique au sein dapplications Web personnalises Navigation authentifie Profilage de lapplication cible Prcision garantie par rduction relle des fausses alertes et des alertes non pertinentes

n n n

Comme un scanner na pas accs au code source dune application Web, le seul moyen pour lui de dtecter les vulnrabilits est de simuler des attaques contre lapplication cible. La dure de lanalyse varie, mais simuler une attaque denvergure sur une application prend beaucoup plus de temps que deffectuer

Scurit des Applications Web: Comment Minimiser les Risques dAttaques les plus Courants

page 6

une analyse des vulnrabilits du rseau sur une seule adresse IP. Lun des prrequis majeurs pour un scanner de vulnrabilits des applications Web est de pouvoir analyser pleinement les fonctionnalits de lapplication cible. Si la couverture est partielle, le scanner ignorera les vulnrabilits existantes.

QualysGuard WAS dtecte automatiquement les principales vulnrabilits des applications Web
La solution QualysGuard Web Application Scanning (WAS) est un service la demande intgr la suite QualysGuard de scurit et de conformit fournie sous la forme de services (SaaS). Pour utiliser QualysGuard WAS, aucune connaissance spcifique de la scurit Web nest requise. Grce ce service, un administrateur informatique ou charg de la scurit du rseau peut excuter des analyses de vulnrabilit compltes et prcises sur des applications Web personnalises, notamment des formulaires dachat, des pages de connexion et autres types de contenu dynamique. Ltendue de la couverture se concentre sur les tests de scurit des applications Web.

Principaux avantages. WAS automatise des techniques rptables utilises


pour identifier les vulnrabilits Web les plus courantes telles que linjection de code SQL et le script intersite. Cette solution associe la reconnaissance des caractristiques et lobservation des comportements pour identifier et vrifier avec prcision les vulnrabilits. Le service WAS identifie et profile les formulaires de connexion, ltat dune session, les pages derreur et autres fonctionnalits personnalises de lapplication cible, mme si cette dernire stend sur de nombreux sites Web. Grce aux donnes issues du profil du site, la solution WAS sadapte aux modifications mesure que lapplication Web est optimise. Fort de cette capacit dadaptation, le scanner peut tre utilis pour des applications Web inconnues ou propritaires pouvant contenir des informations sur des pages derreur ou autre comportement. WAS fournit donc une dtection hautement prcise tout en rduisant le nombre de fausses alertes. De par sa nature automatise, le module Web Application Scanning permet deffectuer rgulirement des tests pour obtenir des rsultats cohrents. De plus, cette solution sadapte facilement un grand nombre de sites Web.

Fonctionnalits actuelles. Le tableau ci-aprs dcrit les fonctionnalits


compltes de QualysGuard WAS pour valuer et suivre des vulnrabilits au sein dapplications Web. Qualys prvoit dajouter dautres fonctionnalits au cours du 2me/3me trimestre 2009.

Navigation & dcouverte de liens

Un navigateur Web embarqu analyse le code HTML et une partie du code JavaScript pour en extraire des liens. Pondration automatique de ltendue et de la profondeur des liens dcouverts pour parcourir jusqu 5000 liens par application Web. Authentification HTTP de base et NTLM depuis un serveur. Authentification par formulaire simple.

Authentification

Scurit des Applications Web: Comment Minimiser les Risques dAttaques les plus Courants

page 7

Liste noire

Navigateur interdit de visiter certains liens dune application Web. Le navigateur ne doit visiter que les liens dfinis de manire explicite dans cette liste. Niveau de bande passante dtermin par lutilisateur pour une analyse en parallle afin de contrler limpact sur les performances applicatives. Recherche de contenu daprs des expressions spcifies par lutilisateur dans le code HTML, notamment les numros de scurit sociale.

Liste blanche

Optimisation des performances

Contenu sensible

Des rapports tels que le Web Application Scorecard offrent une vue globale et une visibilit en profondeur des vulnrabilits pour chaque application Web

Fonctionnement. QG WAS est fourni sous la forme dun service la demande


totalement intgr aux solutions QualysGuard dj utilises par des milliers de clients pour la gestion des vulnrabilits et la conformit aux politiques. Il est possible de grer les applications Web, de lancer des analyses et de gnrer des rapports depuis linterface Web QualysGuard familire. Quant aux analyses WAS, elles peuvent tre programmes ou excutes la demande. Le service WAS peut stendre aux applications Web les plus importantes et qui sont hberges nimporte o dans le monde. Avec la gestion des droits dun compte, une entreprise peut contrler de manire centralise les applications Web pouvant tre analyses par des utilisateurs particuliers. Enfin, grce QualysGuard WAS, une personne au minimum dans votre entreprise est responsable de la gestion de la remdiation des vulnrabilits dcouvertes dans vos applications Web.

Scurit des Applications Web: Comment Minimiser les Risques dAttaques les plus Courants

page 8

Protger vos applications Web


Le service QualysGuard Web Application Scanning vous permet de commencer identifier immdiatement les vulnrabilits de scurit les plus courantes qui sont la merci dexploits criminels. Le scanner sera un puissant complment des politiques de scurit en place, notamment lanalyse du code source et les tests de pntration. Ces mesures de contrle sont indispensables, mais QualysGuard WAS automatisera la dtection et les tests pour la plupart des menaces, celles publies concernant le pillage dinformations confidentielles par des voleurs de donnes par le biais dapplications Web. En plus de tests complets et dune dtection prcise, QualysGuard WAS est rentable. linstar de QualysGuard, WAS est un service la demande convivial qui permet aux administrateurs dexcuter des analyses sans aucune connaissance particulire en matire de scurit des applications Web. Les versions dvaluation de QualysGuard WAS sont disponibles immdiatement. La diffusion gnrale est prvue pour avril 2009. Pour obtenir une version dvaluation de QualysGuard WAS sans engagement de votre part, il vous suffit de nous contacter.

A propos de Qualys
Qualys, Inc. est le principal fournisseur de solutions la demande pour la gestion des vulnrabilits et de la conformit sous la forme de services (SaaS). Dployables en quelques heures seulement partout dans le monde, les solutions SaaS de Qualys fournissent aux entreprises une vue immdiate et permanente de ltat de leur scurit et de leur conformit. Actuellement utilis par plus de 3500 entreprises dans 85 pays, dont 40 des 100 premires socits mondiales du classement tabli par Fortune, le service QualysGuard ralise plus de 200 millions daudits IP par an. Qualys a opr le plus important dploiement de ressources de gestion des vulnrabilits au monde au sein dune socit figurant parmi les 50 premires entreprises mondiales du classement Fortune. Qualys a sign des accords stratgiques avec des fournisseurs de services dinfogrance ( managed services ) de premier ordre et des cabinets de conseil tels que BT, Etisalat, Fujitsu, IBM, I(TS)2, LAC, SecureWorks, Symantec, Tata Communications, TELUS et VeriSign. Pour de plus amples informations, rendez-vous sur www.qualys.com.

www.qualys.com

USA Qualys, Inc. 1600 Bridge Parkway, Redwood Shores, CA 94065 T: 1 (650) 801 6100 sales@qualys.com Royaume-Uni Qualys, Ltd. 224 Berwick Avenue, Slough, Berkshire, SL1 4QT T: +44 (0) 1753 872101 Allemagne Qualys GmbH Mnchen Airport, Terminalstrasse Mitte 18, 85356 Mnchen T: +49 (0) 89 97007 146 France Qualys Technologies Maison de la Dfense, 7 Place de la Dfense, 92400 Courbevoie T: +33 (0) 1 41 97 35 70 Japon Qualys Japan K.K. Pacific Century Place 8F, 1-11-1 Marunouchi, Chiyoda-ku, 100-6208 Tokyo T: +81 3 6860 8296 Hong Kong Qualys Hong Kong Ltd. 2/F, Shui On Centre, 6-8 Harbour Road, Wanchai, Hong Kong T: +852 2824 8488

Qualys, the Qualys logo and QualysGuard are registered trademarks of Qualys, Inc. All other trademarks are the property of their respective owners. 04/09