23
Les principales failles de sécurité des applications web actuelles telles que recensées par l ’ OWASP Principes, parades & bonnes pratiques de développement Xavier KRESS 08 Juillet 2013

Les principales failles de sécurité des applications web actuelles

  • Upload
    beeware

  • View
    1.038

  • Download
    3

Embed Size (px)

Citation preview

Les principales failles de sécurité

des applications web actuelles

telles que recensées par l ’OWASP

Principes, parades

& bonnes pratiques de développement

Xavier KRESS

08 Juillet 2013

Les principales failles de sécurité des applications web actuelles

Xavier KRESS - 08/07/2013

- L’importance de la sécurité applicative • Les applications Web sont devenues omniprésentes • Objectifs et conséquences d’une attaque • Les hackers et les kits d’attaque • L’OWASP et les kits de défense

- Les principales failles de sécurité applicatives

• Principe et exemples de fonctionnement • Objectifs / Conséquences • Parades

- Comment sécuriser son parc applicatif • Sensibiliser les développeurs • Effectuer des tests d’intrusion et de la revue de code • Intégrer la sécurité dans la gestion de projets

2/22

Les principales failles de sécurité des applications web actuelles

Xavier KRESS - 08/07/2013

3/22

- L’importance de la sécurité applicative • Les applications Web sont devenues omniprésentes

Pourcentage d’Internautes dans le monde, source: International Telecommunications Union.

Environ 40% de la population mondiale 70% dans les pays développés 80% en France soit plus de 50 millions d’internautes

Les principales failles de sécurité des applications web actuelles

Xavier KRESS - 08/07/2013

- L’importance de la sécurité applicative • Les applications Web sont devenues omniprésentes

Une multitude d’applications Dans tous les domaines Des usages différents, en entreprise, à domicile ou en mobilité L’intégralité des données personnelles et de l’entreprise est accessible au travers des applications Web

4/22

Les principales failles de sécurité des applications web actuelles

Xavier KRESS - 08/07/2013

- L’importance de la sécurité applicative • Objectifs et conséquences d’une attaque

o Vol d’informations o Usurpation d’identité o Indisponibilité de service o Défiguration de site o Désinformation

5/22

Les principales failles de sécurité des applications web actuelles

Xavier KRESS - 08/07/2013

- L’importance de la sécurité applicative • Objectifs et conséquences d’une attaque

Juin 2012 6.5 millions de mots de passe LinkedIn volés

Juin 2011 : plusieurs centaines de comptes Gmail de hauts fonctionnaires et militaires américains piratés

Avril 2011 : accès et publication sur Internet des informations de 77 millions de comptes du Playstation Network

6/22

Les principales failles de sécurité des applications web actuelles

Xavier KRESS - 08/07/2013

- L’importance de la sécurité applicative • Les hackers et les kits d’attaque

o Trouver et exploiter une faille de

sécurité est un jeu d’enfant

o Cela ne nécessite aucune

compétence particulière

o Une documentation abondante

o Des logiciels de détection (scanner)

et d’intrusion disponibles gratuitement.

7/22

Les principales failles de sécurité des applications web actuelles

Xavier KRESS - 08/07/2013

- L’importance de la sécurité applicative • L’OWASP et les kits de défense

o Une communauté libre et ouverte travaillant sur la sécurité des applications Web o De nombreux projets et documents destinés à aider les développeurs à sécuriser leurs applications

o WebGoat Application non sécurisée permettant de découvrir la sécurité par la pratique o WebScarab Permet d’analyser et modifier les flux HTTP envoyés et reçus par les applications o Zed Attack Proxy Logiciel de test d’intrusion permettant de détecter des failles applicatives o Testing Guide Guide pour les tests applicatifs o Code Review Guide Guide pour la revue de code o Top Ten Classement (par niveau de risque) des principales failles applicatives

8/22

Les principales failles de sécurité des applications web actuelles

Xavier KRESS - 08/07/2013

- Les principales failles de sécurité applicatives

1. Les injections 2. Violation de gestion d’authentification et de session 3. Cross-Site Scripting (XSS) 4. Référence directe non sécurisée à un objet 5. Mauvaise configuration de sécurité 6. Exposition de données sensibles 7. Absence de contrôle d’accès aux fonctions 8. Falsification de requête intersite (CSRF) 9. Utilisation de composants dont la vulnérabilité est connue 10. Redirections et renvois non validés

9/22

Les principales failles de sécurité des applications web actuelles

Xavier KRESS - 08/07/2013

- Les principales failles de sécurité applicatives 1. Les injections

Injection de commande non prévue par le système (SQL, LDAP, XPATH …) dans les entrées de l’application (formulaires et variables d’URL).

Objectifs : - lecture, suppression, altération de données. - accès au système sans authentification. Parades : - Vérification des données saisies (listes noires,

liste blanche, expressions régulières…).

10/22

Les principales failles de sécurité des applications web actuelles

Xavier KRESS - 08/07/2013

- Les principales failles de sécurité applicatives 2. Violation de gestion d’authentification et de session

Regroupe les vulnérabilités permettant à un attaquant de s’approprier l’identité d’un utilisateur. Violation de gestion d’authentification Vol de session

Objectifs : - Accéder à des fonctionnalités réservées à

certaines personnes. - Accéder à des données confidentielles. Parades : - Exiger des mots de passe forts. - Utiliser un système de captcha. -------------------- - Utiliser les cookies pour gérer les sessions. - Définir une durée de session maximale.

11/22

Les principales failles de sécurité des applications web actuelles

Xavier KRESS - 08/07/2013

- Les principales failles de sécurité applicatives 3. Cross-Site Scripting (XSS)

Attaque par injection, consistant à insérer du code au sein d’une application réputée fiable, pour qu’il s’exécute sur le poste client.

Objectifs : - Défiguration / blocage de site. - Redirection d’utilisateurs vers un autre site. - Vol de session. Parades : - Vérifier les données en entrée. - Retraiter les données issues de la base de

données avant de les afficher.

12/22

Les principales failles de sécurité des applications web actuelles

Xavier KRESS - 08/07/2013

- Les principales failles de sécurité applicatives 4. Référence directe non sécurisée à un objet

Faille permettant à un attaquant d’accéder directement à des objets (fichiers, répertoires, enregistrements de base de données) sans autorisation.

Objectifs : - Accéder à des informations confidentielles. - Prendre le contrôle d’un serveur. Parades : - Vérifier les accès à chaque ressources. - Remplacer par une valeur temporaire

aléatoire (ESAPI) les références directes aux objets (ID, noms de fichiers…).

13/22

Les principales failles de sécurité des applications web actuelles

Xavier KRESS - 08/07/2013

- Les principales failles de sécurité applicatives 5. Mauvaise configuration de sécurité

Cette faille regroupe toutes les vulnérabilités liées à des problèmes de configuration, sur tous les éléments de la couche applicative (serveurs, langage, framework, composants…). Attaque par manipulation d’URL Objectifs :

- Accéder à des informations confidentielles. - Prendre le contrôle d’un serveur. Parades : - Ne pas attribuer aux composants plus de

droits que nécessaire. - Etudier rigoureusement la configuration.

14/22

Les principales failles de sécurité des applications web actuelles

Xavier KRESS - 08/07/2013

- Les principales failles de sécurité applicatives 6. Exposition de données sensibles

Cette faille regroupe toutes les vulnérabilités liées à la protection des données sensibles. Technique du grain de sel Objectifs :

- Accéder à des données confidentielles. - Usurpation d’identité.

Parades : - Utiliser des algorithmes de chiffrement forts. - Ne pas stocker d’informations inutiles. - Utiliser le protocole TLS sur toute la chaine. - Les clés de décryptage doivent être stockées

séparément des données.

15/22

Les principales failles de sécurité des applications web actuelles

Xavier KRESS - 08/07/2013

- Les principales failles de sécurité applicatives 7. Absence de contrôle d’accès aux fonctions

Cette faille permet à un attaquant d’accéder à des pages ou fonctions d’une application Web sans y avoir droit.

Objectifs : - Exécuter des fonctionnalités sans en avoir les

droits. - Accéder à des données confidentielles. Parades : - Vérifier les droits d’accès sur chaque page de

l’interface et avant d’exécuter chaque fonctions (logique métier).

- Par défaut, refuser les accès.

16/22

Les principales failles de sécurité des applications web actuelles

Xavier KRESS - 08/07/2013

- Les principales failles de sécurité applicatives 8. Falsification de requête intersite (CSRF)

Cette faille consiste à exploiter la confiance qu’une application a envers ses utilisateurs en les forçant à exécuter des requêtes sur l’application sans qu’ils en soient conscients. Attaque CSRF par envoi de mail Objectifs :

- Exécuter des fonctionnalités sans en avoir les droits.

Parades : - Demander aux utilisateurs des confirmations

avant d’exécuter des actions sensibles. - Vérifier le referer de la page. - Utiliser la technique du jeton de validité.

<img src = "http://bank.com/transfer.do?acct=KRESS&amount=1000" width="1" height="1" border="0">

17/22

Les principales failles de sécurité des applications web actuelles

Xavier KRESS - 08/07/2013

- Les principales failles de sécurité applicatives 9. Utilisation de composants dont la vulnérabilité est connue

Cette faille concerne tous les composants utilisés pour le fonctionnement d’une application. Ils peuvent présenter des vulnérabilités et doivent faire l’objet d’une attention particulière.

Objectifs : - Accéder à des données confidentielles. - Prendre le contrôle d’un serveur. Parades : - Tenir à jour une liste des composants utilisés

ainsi que leur version. - Mettre à jour ces composants dès qu’une

vulnérabilité est détectée et corrigée.

18/22

Objectifs : - Rediriger des utilisateurs vers des sites de

phishing. - Accéder sans autorisation à une partie de

l’application.

Parades : - Vérifier les URL avant d’effectuer les

redirections. - Utiliser des variables pour masquer les liens

de redirection. - Vérifier les droits d’accès sur chaque page

d’un espace privé.

Les principales failles de sécurité des applications web actuelles

Xavier KRESS - 08/07/2013

- Les principales failles de sécurité applicatives 10. Redirections et renvois non validés

Cette faille concerne les redirections et renvois utilisés par les applications sans validation.

19/22

Les principales failles de sécurité des applications web actuelles

Xavier KRESS - 08/07/2013

- Comment sécuriser son parc applicatif • Sensibiliser les développeurs

o Les informer sur les failles de sécurité et les impacts métier qu’elles peuvent avoir.

o Leur apprendre à mettre en place des parades pour chacune de ces failles.

o La robustesse d’une application dépend de son maillon le plus faible.

o Les inciter à utiliser les API et les check-lists (OWASP).

o Utiliser des référentiels (OWASP, SANS TOP 25, CWE, WASC ID…)

20/22

Les principales failles de sécurité des applications web actuelles

Xavier KRESS - 08/07/2013

- Comment sécuriser son parc applicatif • Effectuer des tests d’intrusion et de la revue de code

o Utiliser les techniques des hackers pour mieux protéger ses applications.

o Les tests d’intrusion ne remplacent pas la revue de code (hashage des mots de passe,

vérification d’authentification sur toutes les pages…)

o Utiliser des guides (Testing guide, Code rewiew guide…)

21/22

Les principales failles de sécurité des applications web actuelles

Xavier KRESS - 08/07/2013

- Comment sécuriser son parc applicatif • Intégrer la sécurité dans la gestion de projets

o La sécurité doit être appréhendée et traitée comme un processus continu.

o Elle doit être intégrée à la stratégie et aux objectifs de l’entreprise.

o Définition d’une politique de sécurité impliquant le management.

22/22

Les principales failles de sécurité des applications web actuelles

Xavier KRESS - 08/07/2013

Questions