Réalisé par: Hamed Khaoula
OWASP Top 10 Mobile
risques et solutions
2
Plan
• Introduction
• Définition
• Top 10 Mobile, risques et solutions.
• Conclusion
3
Introduction
 Les terminaux mobiles, qui recèlent d’un nombre de données exponentiel
(contacts, données de géolocalisation, mails, identifiants, etc.) sont très
souvent volés.
 Comment assurer la sécurité d’une application mobile?
4
Définition:OWASP
•Open Web Application Security Project (OWASP): est une organisation
mondiale sans but lucratif axée sur l'amélioration de la sécurité des
logiciels.
 OWASP Top 10 risques des mobiles:
• Vision multi-plateforme :Android, IOS, Nokia, Windows, ...
•Concentrer sur les risques plutôt que les vulnérabilités.
5
Risques
M1 - Stockage de données non sécurisé
M2 - Contrôles serveur défaillants
M3 - Protection insuffisante lors du transport de données
M4 - Injection client
M5 - Authentification et habilitation défaillante
M6 - Mauvaise gestion des sessions
M7- Utilisation de données d’entrée pour effectuer des décisions sécurité.
M8 - Perte de données via des canaux cachés
M9 - Chiffrement défectueux
M10 - Perte d’information sensible
6
M1 - Stockage de données non sécurisé
Impact
• Perte de confidentialité sur
les données,
• Divulgation d’authentifiants,
• Violation de vie privée.
Les données sensibles ne
sont pas protégées.
Généralement du à :
• Défaut de chiffrement des
données,
• Permissions globales ou
faibles,
• Non suivi des bonnes
pratiques de la plateforme.
7
Exemple
8
M1 – Prévention
1. Ne stocker que ce qui est réellement nécessaire.
2. Ne jamais stocker des données sur des éléments publics (SD-
Card...)
3. Ne pas donner des droits en “world writeable” ou “world readable”
9
M2 - Contrôles serveur défaillants
Impact
•Perte de confidentialité sur
des données
• Perte d’intégrité sur des
données
S’applique uniquement aux
services de backend.
M2- Prévention
1. Comprendre les nouveaux risques induits par les applications mobiles sur
les architectures existantes
2. OWASP Top 10, Cloud Top 10, Web Services Top 10
10
M3 - Protection insuffisante lors du transport de données
Impact
•Attaques MITM
• Modification des
données transmises
• Perte de confidentialité
M3 – Prévention
1. Vérifier que les données sensibles quittent l’appareil chiffrées.
2. Ne pas ignorer les erreurs de sécurité !
Perte complète de chiffrement des données
transmises.
 Faible chiffrement des données transmises.
 Fort chiffrement, mais oubli des alertes
sécurité
11
M4 - Injection Client
Impact
•Compromission de l’appareil
•Fraude à l’appel
•Augmentation de privilèges
Utilisation des fonctions de
navigateurs dans les applications
 On retrouve les vulnérabilités
connues: Injection XSS et HTML,SQL
Injection
M4 – Prévention
1. Valider les données d’entrée avant utilisation
2. Nettoyer les données en sortie avant affichage.
3. Utilisation des requêtes paramétrées pour les appels bases de
données.
12
M5 - Authentification et habilitation défaillante
Impact
•Elévation de privilèges
•Accès non autorisé.
 Se reposer sur des éléments
théoriquement inchangeables, mais
pouvant être compromis (IMEI,…)
Les identifiants matériels persistent
après les resets ou les nettoyages de
données.
M5 – Prévention
1. Ajouter des informations contextuelles en cas d’implémentation
d’authentification multifacteur.
2. Ne jamais utiliser l’ID machine ou l’ID opérateur (subscriber ID), comme
élément unique d’authentification.
13
M6 - Mauvaise gestion des sessions
Impact
•Elévation de privilèges
•Accès non autorisé
•Contournement des
licences et des éléments
de paiements
Le maintien de session applicative se fait
via: HTTP cookies, OAuth tokens,SSO
authentication services.
Très mauvaise idée d’utiliser l’ID matériel
comme identification de session.
M6 – Prévention
1. Redemander aux utilisateurs de se ré-authentifier plus souvent.
2. S’assurer que les ID/token peuvent être révoqués en cas de perte.
14
M7 - Utilisation de données d’entrée pour effectuer
des décisions sécurité.
Impact
•Utilisation de ressources
payantes.
•Exfiltration de données
• Elévation de privilèges.
Peut être exploité pour passer
outre les permissions et les
modèles de sécurité.
 Des vecteurs d’attaques importants:
• Applications malveillantes
• Injection client
15
Exemple
• Gestion de skype dans l’URL sur IOS...
M7- Prévention
1. Vérifier les permissions lors de l’utilisation de données d’entrée.
2. Demander à l’utilisateur une confirmation avant l’utilisation de
fonctions sensibles.
16
M8 - Perte de données via des canaux cachés
Impact
• Perte définitive de
données.
•Violation de la vie privée.
Mélange de fonctionnalités de la
plateforme et de failles de programmation.
 Les données sensibles se trouvent
un peu partout:
• Web caches
• Screenshots
• Logs (system, crash)
• …
Faire attention à ce que font les librairies tierces
avec les données utilisateurs( publicité, analyse, ...)
17
M8- Prévention
1. Ne jamais stocker des authentifiants/passwords ou d’autres
informations sensibles dans les logs.
2. Debugger les applications avant mise en
production pour vérifier les fichiers produits, modifiés, lus, ....
3. Porter une attention particulière aux librairies tierces.
18
M9 - Chiffrement défectueux
Impact
•Perte de confidentialité.
• Elévation de privilèges
• Contournement de la
logique métier.
2 catégories importantes:
 Implémentations défectueuses via
l’utilisation de librairies de chiffrement.
 Implémentations personnelles de
chiffrement.
M9- Prévention
1.Le stockage de clef et des données chiffrées n’est pas correct.
2. Il vaut mieux utiliser des librairies connues de chiffrement que sa
propre librairie....
19
M10 - Perte d’information sensible
Impact
•Perte d’authentifiants
•Exposition de
propriété intellectuelle
Il est assez simple de faire du reverse engineering
sur des applications mobiles...
Quelques informations classiques
trouvées :
• clefs d’API
• Passwords
M10- Prévention
1. Pas de stockage des clefs d’API privées sur le client.
2. Exécuter la logique métier propriétaire par le serveur .
20
Conclusion:
 Une protection et une sécurisation des données est indispensable.
 Nous venons d’identifier quelques problèmes, il est nécessaire de
les corriger !
 Les plateformes deviennent plus matures, les applications le
doivent aussi...
21
Netographie
•http://www.owasp.org
•http:// http://fr.slideshare.net/Eagle42/owasp-mobile-top10-les-10-
risques-sur-les-mobiles
•http://fr.wikipedia.org/wiki/Open_Web_Application_Security_Project
Merci pour votre attention

Owasp

  • 1.
    Réalisé par: HamedKhaoula OWASP Top 10 Mobile risques et solutions
  • 2.
    2 Plan • Introduction • Définition •Top 10 Mobile, risques et solutions. • Conclusion
  • 3.
    3 Introduction  Les terminauxmobiles, qui recèlent d’un nombre de données exponentiel (contacts, données de géolocalisation, mails, identifiants, etc.) sont très souvent volés.  Comment assurer la sécurité d’une application mobile?
  • 4.
    4 Définition:OWASP •Open Web ApplicationSecurity Project (OWASP): est une organisation mondiale sans but lucratif axée sur l'amélioration de la sécurité des logiciels.  OWASP Top 10 risques des mobiles: • Vision multi-plateforme :Android, IOS, Nokia, Windows, ... •Concentrer sur les risques plutôt que les vulnérabilités.
  • 5.
    5 Risques M1 - Stockagede données non sécurisé M2 - Contrôles serveur défaillants M3 - Protection insuffisante lors du transport de données M4 - Injection client M5 - Authentification et habilitation défaillante M6 - Mauvaise gestion des sessions M7- Utilisation de données d’entrée pour effectuer des décisions sécurité. M8 - Perte de données via des canaux cachés M9 - Chiffrement défectueux M10 - Perte d’information sensible
  • 6.
    6 M1 - Stockagede données non sécurisé Impact • Perte de confidentialité sur les données, • Divulgation d’authentifiants, • Violation de vie privée. Les données sensibles ne sont pas protégées. Généralement du à : • Défaut de chiffrement des données, • Permissions globales ou faibles, • Non suivi des bonnes pratiques de la plateforme.
  • 7.
  • 8.
    8 M1 – Prévention 1.Ne stocker que ce qui est réellement nécessaire. 2. Ne jamais stocker des données sur des éléments publics (SD- Card...) 3. Ne pas donner des droits en “world writeable” ou “world readable”
  • 9.
    9 M2 - Contrôlesserveur défaillants Impact •Perte de confidentialité sur des données • Perte d’intégrité sur des données S’applique uniquement aux services de backend. M2- Prévention 1. Comprendre les nouveaux risques induits par les applications mobiles sur les architectures existantes 2. OWASP Top 10, Cloud Top 10, Web Services Top 10
  • 10.
    10 M3 - Protectioninsuffisante lors du transport de données Impact •Attaques MITM • Modification des données transmises • Perte de confidentialité M3 – Prévention 1. Vérifier que les données sensibles quittent l’appareil chiffrées. 2. Ne pas ignorer les erreurs de sécurité ! Perte complète de chiffrement des données transmises.  Faible chiffrement des données transmises.  Fort chiffrement, mais oubli des alertes sécurité
  • 11.
    11 M4 - InjectionClient Impact •Compromission de l’appareil •Fraude à l’appel •Augmentation de privilèges Utilisation des fonctions de navigateurs dans les applications  On retrouve les vulnérabilités connues: Injection XSS et HTML,SQL Injection M4 – Prévention 1. Valider les données d’entrée avant utilisation 2. Nettoyer les données en sortie avant affichage. 3. Utilisation des requêtes paramétrées pour les appels bases de données.
  • 12.
    12 M5 - Authentificationet habilitation défaillante Impact •Elévation de privilèges •Accès non autorisé.  Se reposer sur des éléments théoriquement inchangeables, mais pouvant être compromis (IMEI,…) Les identifiants matériels persistent après les resets ou les nettoyages de données. M5 – Prévention 1. Ajouter des informations contextuelles en cas d’implémentation d’authentification multifacteur. 2. Ne jamais utiliser l’ID machine ou l’ID opérateur (subscriber ID), comme élément unique d’authentification.
  • 13.
    13 M6 - Mauvaisegestion des sessions Impact •Elévation de privilèges •Accès non autorisé •Contournement des licences et des éléments de paiements Le maintien de session applicative se fait via: HTTP cookies, OAuth tokens,SSO authentication services. Très mauvaise idée d’utiliser l’ID matériel comme identification de session. M6 – Prévention 1. Redemander aux utilisateurs de se ré-authentifier plus souvent. 2. S’assurer que les ID/token peuvent être révoqués en cas de perte.
  • 14.
    14 M7 - Utilisationde données d’entrée pour effectuer des décisions sécurité. Impact •Utilisation de ressources payantes. •Exfiltration de données • Elévation de privilèges. Peut être exploité pour passer outre les permissions et les modèles de sécurité.  Des vecteurs d’attaques importants: • Applications malveillantes • Injection client
  • 15.
    15 Exemple • Gestion deskype dans l’URL sur IOS... M7- Prévention 1. Vérifier les permissions lors de l’utilisation de données d’entrée. 2. Demander à l’utilisateur une confirmation avant l’utilisation de fonctions sensibles.
  • 16.
    16 M8 - Pertede données via des canaux cachés Impact • Perte définitive de données. •Violation de la vie privée. Mélange de fonctionnalités de la plateforme et de failles de programmation.  Les données sensibles se trouvent un peu partout: • Web caches • Screenshots • Logs (system, crash) • … Faire attention à ce que font les librairies tierces avec les données utilisateurs( publicité, analyse, ...)
  • 17.
    17 M8- Prévention 1. Nejamais stocker des authentifiants/passwords ou d’autres informations sensibles dans les logs. 2. Debugger les applications avant mise en production pour vérifier les fichiers produits, modifiés, lus, .... 3. Porter une attention particulière aux librairies tierces.
  • 18.
    18 M9 - Chiffrementdéfectueux Impact •Perte de confidentialité. • Elévation de privilèges • Contournement de la logique métier. 2 catégories importantes:  Implémentations défectueuses via l’utilisation de librairies de chiffrement.  Implémentations personnelles de chiffrement. M9- Prévention 1.Le stockage de clef et des données chiffrées n’est pas correct. 2. Il vaut mieux utiliser des librairies connues de chiffrement que sa propre librairie....
  • 19.
    19 M10 - Perted’information sensible Impact •Perte d’authentifiants •Exposition de propriété intellectuelle Il est assez simple de faire du reverse engineering sur des applications mobiles... Quelques informations classiques trouvées : • clefs d’API • Passwords M10- Prévention 1. Pas de stockage des clefs d’API privées sur le client. 2. Exécuter la logique métier propriétaire par le serveur .
  • 20.
    20 Conclusion:  Une protectionet une sécurisation des données est indispensable.  Nous venons d’identifier quelques problèmes, il est nécessaire de les corriger !  Les plateformes deviennent plus matures, les applications le doivent aussi...
  • 21.
  • 22.