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

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

Upload: xavier-kress

Post on 13-Dec-2014

2.920 views

Category:

Technology


5 download

DESCRIPTION

Les principales failles de sécurité des applications Web actuelles telles que recensées par l'OWASP. Principes, parades et bonnes pratiques de développement. Ce document, élaboré dans le cadre d'une présentation faite au CNAM, traite de 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), des principales failles de sécurité applicatives (principe et exemples de fonctionnement, objectifs / conséquences, parades) et des bonnes pratiques permettant de sécuriser un 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)

TRANSCRIPT

Page 1: Les principales failles de sécurité des applications Web actuelles

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

Page 2: Les principales failles de sécurité des applications Web actuelles

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

Page 3: Les principales failles de sécurité des applications Web actuelles

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

Page 4: Les principales failles de sécurité des applications Web actuelles

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

Page 5: Les principales failles de sécurité des applications Web actuelles

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’informationso Usurpation d’identitéo Indisponibilité de serviceo Défiguration de site o Désinformation

5/22

Page 6: Les principales failles de sécurité des applications Web actuelles

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

Page 7: Les principales failles de sécurité des applications Web actuelles

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

Page 8: Les principales failles de sécurité des applications Web actuelles

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 Webo 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 pratiqueo WebScarab Permet d’analyser et modifier les flux HTTP envoyés et reçus par les

applicationso Zed Attack Proxy Logiciel de test d’intrusion permettant de détecter des failles applicativeso Testing Guide Guide pour les tests applicatifso Code Review Guide Guide pour la revue de codeo Top Ten Classement (par niveau de risque) des principales failles

applicatives8/22

Page 9: Les principales failles de sécurité des applications Web actuelles

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

Xavier KRESS - 08/07/2013

- Les principales failles de sécurité applicatives

1. Les injections2. Violation de gestion d’authentification et de session3. Cross-Site Scripting (XSS)4. Référence directe non sécurisée à un objet5. Mauvaise configuration de sécurité6. Exposition de données sensibles7. Absence de contrôle d’accès aux fonctions8. Falsification de requête intersite (CSRF)9. Utilisation de composants dont la vulnérabilité est connue10. Redirections et renvois non validés

9/22

Page 10: Les principales failles de sécurité des applications Web actuelles

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

Xavier KRESS - 08/07/2013

- Les principales failles de sécurité applicatives1. 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

Page 11: Les principales failles de sécurité des applications Web actuelles

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

Xavier KRESS - 08/07/2013

- Les principales failles de sécurité applicatives2. 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

Page 12: Les principales failles de sécurité des applications Web actuelles

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

Xavier KRESS - 08/07/2013

- Les principales failles de sécurité applicatives3. 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

Page 13: Les principales failles de sécurité des applications Web actuelles

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

Xavier KRESS - 08/07/2013

- Les principales failles de sécurité applicatives4. 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

Page 14: Les principales failles de sécurité des applications Web actuelles

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

Xavier KRESS - 08/07/2013

- Les principales failles de sécurité applicatives5. 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

Page 15: Les principales failles de sécurité des applications Web actuelles

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

Xavier KRESS - 08/07/2013

- Les principales failles de sécurité applicatives6. 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

Page 16: Les principales failles de sécurité des applications Web actuelles

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

Xavier KRESS - 08/07/2013

- Les principales failles de sécurité applicatives7. 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

Page 17: Les principales failles de sécurité des applications Web actuelles

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

Xavier KRESS - 08/07/2013

- Les principales failles de sécurité applicatives8. 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

Page 18: Les principales failles de sécurité des applications Web actuelles

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

Xavier KRESS - 08/07/2013

- Les principales failles de sécurité applicatives9. 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

Page 19: Les principales failles de sécurité des applications Web actuelles

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é applicatives10. Redirections et renvois non validés

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

19/22

Page 20: Les principales failles de sécurité des applications Web actuelles

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

Page 21: Les principales failles de sécurité des applications Web actuelles

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

Page 22: Les principales failles de sécurité des applications Web actuelles

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

Page 23: Les principales failles de sécurité des applications Web actuelles

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

Xavier KRESS - 08/07/2013

Questions