Rechercher
Contactez-nous Suivez-nous sur Twitter En francais English Language
 











Abonnez-vous gratuitement à notre NEWSLETTER

Newsletter FR

Newsletter EN

Vulnérabilités

Se désabonner

Keross : Atténuer la vulnérabilité des applications Web

février 2010 par Keross

Les exigences actuelles en termes de solutions rentables et faciles à mettre en place ont généré tout un monde d’applications Web - applications transmises par navigateur Web (Internet ou intranet). Les avantages des applications Web sont évidents : accessibilité, omniprésence parmi les navigateurs Web, et pour les clients, un nombre peu exigent de critères d’accès aux applications. Pourtant, cette même flexibilité est à l’origine d’une menace tout à fait proportionnelle.

Le monde actuel s’expose à toute une nouvelle série de complications : comment préserver la confidentialité, l’intégrité et la disponibilité au sein d’un environnement complexe, étendu et facilement accessible. Le nombre de variables augmente au fil du temps, et la technologie se développe à un rythme beaucoup trop soutenu par rapport aux développements de logiciels et de programmes correctifs.

Dans le rapport IBM Trend & Risk report de 2008, les applications Web comptaient pour 55% des vulnérabilités totales déclarées, suivies des logiciels de PC à 20%. Ceci implique que les vulnérabilités des applications Web sont aussi répandues que les applications Web en elles-mêmes.

La deuxième difficulté réside dans le fait que les vulnérabilités des applications Web, telles que le Cross-Site Scripting (XSS), les injections SQL, le dépassement de la mémoire tampon ainsi que le « file-include », ne sont généralement pas du ressort des experts de sécurité réseau habituels. Cette lacune de compétences devient un point encore plus sensible si l’on pense à la facilité avec laquelle les vulnérabilités peuvent être décelées (de nombreux outils, dont un plug-in Firefox, évaluent les vulnérabilités des injections SQL).

Disponibilité des correctifs (patch) pour les applications Web, 2008
Les études actuelles démontrent également que pour une énorme proportion des vulnérabilités d’applications Web, les fournisseurs ne disposent pas de correctifs nécessaires - pas moins de 74% en 2008.

Types de vulnérabilités

Le Web Conferencing Blog classe les vulnérabilités d’applications Web selon les catégories principales suivantes :
• Attaques liées à l’authentification et l’autorisation
• Attaque côté clients notamment usurpations, ou spoofing, Cross-site scripting (XSS)
• Attaques sur les exécutions de commandes, telles que dépassement de mémoire tampon, injections SQL
• Attaques sur la divulgation des données, telles que l’indexation de répertoire
• Attaques de logique, telles que Déni de Service
Cross-site Scripting (XSS)

Les vulnérabilités de type Cross-site scripting (XSS) permettent aux pirates d’injecter du code dans une application web qui sera par la suite visualisé par les utilisateurs. Lorsqu’elles sont exploitées, ces vulnérabilités permettraient aux pirates de passer outre les mesures de contrôle d’accès. Un exemple courant est une attaque de « phishing », ou hameçonnage. En 2007, ce type d‘attaque concernait 80% des vulnérabilités déclarées.

 Vulnérabilités des Applications Web par type d’attaque

Injection SQL : La vulnérabilité liée à l’injection SQL utilise les instructions et syntaxes SQL d’une application de site web pour injecter des commandes qui modifient la base de données ou les résultats des requêtes.

Dépassement de la mémoire tampon : Les vulnérabilités liées au dépassement de la mémoire tampon, ou « buffer overflow », écrasent une partie de la mémoire utilisée par l’application web. L’exploitation de cette vulnérabilité peut causer des exceptions, des erreurs de segmentation ou autre.

File Include : Les vulnérabilités « File Include » permettent aux pirates d’insérer des fichiers entiers dans les scripts existants, particulièrement dans le cas des langages de script, tels que PHP, car celui-ci admet des données utilisateurs non vérifiées dans les directives.

Atténuation Préventive : Avant d’entamer les mesures de détection de ces vulnérabilités, il faut d’abord procéder à une atténuation préventive. Les systèmes de gestion de vulnérabilité devront être étoffés pour inclure les mécanismes de vulnérabilité des applications web. À ce titre, il existe plusieurs outils automatisés spécialisés qui peuvent être implémentés afin d’assurer la détection et la sécurisation de certaines vulnérabilités.
Selon le Web Application Security Consortium, les outils sélectionnés devraient être capables d’effectuer les tâches suivantes :

Type de service Description : Découverte de Lien Un outil efficace devrait être capable d’explorer et d’extraire les liens enfouis dans l’application web Authentification L’outil devrait pouvoir s’authentifier au sein des formulaires d’applications web Données Confidentielles Le détecteur devrait pouvoir identifier des informations à caractère confidentiel, telles que les numéros de cartes bancaires, SSN, etc., et éventuellement les chaînes définies par l’utilisateur

Notification Dynamique : Une fois les mécanismes de détection des vulnérabilités d’applications web activés, la vérification de la disponibilité du site web est une méthode fondamentale de détecter une attaque. En dehors des mesures préventives, ces outils permettent également de contrôler de manière dynamique l’état actuel des applications web en vérifiant la disponibilité du port et du site, ainsi que le temps d’aller-retour (RTT), et d’alerter les administrateurs s’ils ont décelé des problèmes liés à la disponibilité et au temps d’exécution de ces applications. Ces deux facteurs constituent des indicateurs clés d’une possible attaque de la disponibilité et par
Déni de Service.

Plan de Continuité d’Activité : Outre les mesures de détection d’attaques, il est également approprié de mettre en place un plan de continuité d’activité avec des systèmes tolérants aux pannes. En cas d’attaque, cette démarche permettrait à l’entreprise de poursuivre ses activités et, en parallèle, de décider quelles mesures de protection sont à prendre. Un plan de cet ordre est donc fondamental au bon fonctionnement de l’organisation et contribue à atténuer les risques en termes de temps, de ressources et d’argent.

Procédures : L’implémentation d’un processus d’atténuation solide nécessite la mise en œuvre de procédures et de directives appropriées. Celles-ci garantissent que le système de gestion des vulnérabilités est utilisé régulièrement, efficacement et que les actions nécessaires sont activées lors de la détection afin d’atténuer les vulnérabilités en elles-mêmes. Des Procédures Normalisées, des Processus d’Atténuation de la Vulnérabilité et des Plans de Reprise d’Activité devront être rédigés, validés, mis en œuvre et contrôlés.

Les responsables sécurité se doivent d’adopter un rôle plus stratégique, en mettant en place des mécanismes inébranlables ainsi qu’un cadre réglementaire et contractuel solide qui n’exclue pas les contrôles indépendants, le respect de la conformité, les meilleures pratiques tout en préservant la confidentialité, le contrôle et la prise en charge des données.

Tests d’intrusion : À l’étape suivante devra être établi un programme de tests d’intrusion solide visant les incidents liés à la sécurité des applications web. Ceci permettra de garantir que les mesures préventives et proactives sont effectivement en place, qu’elles ont lieu et qu’elles sont efficaces. Un tel programme fournira un examen indépendant et approfondi des processus qui ont été mis en place. Pour être efficace, un programme de tests d’intrusion se doit de contrôler :

• Les vulnérabilités connues
• Les vulnérabilités d’ordre technique (décrites ci-dessus)
• Les erreurs logiques opérationnelles (transfert de fond non autorisé, modification de données personnelles)

Processus Globaux de Sécurité Réseaux
Le meilleur modèle de sécurité est toujours celui d’une défense en profondeur. Même si les activités liées à l’atténuation des vulnérabilités des applications web sont essentielles, il ne faut pas négliger de réévaluer le programme de sécurité dans son ensemble. Les systèmes de gestion et d’atténuation des vulnérabilités ainsi que les plans de continuité d’activité doivent être actualisés et rester effectifs. Les systèmes de gestion d’infrastructure doivent être surveillés et les paramètres de contrôle actualisés afin de s’assurer que les attaques seront détectées rapidement et que la reprise d’activité se fera sans encombre.

Il est évident que les applications Web sont aujourd’hui très répandues, et les vulnérabilités auxquelles elles sont confrontées constituent une catégorie à part entière. Pour 74% des vulnérabilités des applications Web de l’an dernier, leurs fournisseurs ne disposaient pas de correctif nécessaire. Cette statistique met en évidence le risque engendré par une technologie qui se développe à un rythme trop élevé par rapport au cycle de développement des logiciels.
De nos jours, les responsables sécurité doivent être parés contre cette nouvelle vague. La démarche d’atténuation devra être complète et dynamique ; le plan devra s’efforcer d’intégrer des mesures de prévention à travers des tests automatisés et manuels, une démarche proactive dès détection d’une attaque ainsi qu’un plan de continuité d’activité dans le cas d’une attaque ou d’une défaillance.

Exemple de résultats du scan d’une application Web

Chez Keross, notre Vigilant 360 Security Suite s’occupe de la Gestion des Vulnérabilités sur le long terme, et intègre une nouvelle fonction de Scan des Applications Web. Les scanners effectuent des contrôles basés sur l’inférence pour des vulnérabilités d’applications web spécifiques, offrant des rapports détaillés sur les XSS, les Injections SQL ainsi que les File Includes. Outre l’intégrité et la confidentialité, nous effectuons également des contrôles détaillés de disponibilité et de performance afin de garantir que vous serez informé, et donc à même de prendre les mesures nécessaires, dès l’instant où un problème est décelé.


Voir les articles précédents

    

Voir les articles suivants