The OWASP Foundation                                                                                             http://ww...
http://www.google.fr/#q=sebastien gioria                   ‣Responsable de la branche Audit S.I et Sécurité               ...
http://www.google.fr/#q=sebastien gioria                   ‣Responsable de la branche Audit S.I et Sécurité               ...
Top 10 Risques
Top 10 Risques• Vision multi-plateforme : • Android, IOS, Nokia, Windows, ...• Focus sur les risques plutôt que les  vulné...
Les 10 risques                                  RisqueM1 - Stockage de données non sécuriséM2 - Contrôles serveur défailla...
M1 - Stockage de données non sécurisé• Les données sensibles ne sont pas              Impact   protégées                  ...
M1 - Stockage de données non sécurisé                                        7
M1 - Stockage de données non sécurisé                                        7
M1 - Stockage de données non sécurisé                                        7
M1 - Stockage de données non sécurisé                                        7
M1 - Prévention                  8
M1 - Prévention1. Ne stocker que ce qui est réellement   nécessaire                                          8
M1 - Prévention1. Ne stocker que ce qui est réellement   nécessaire2. Ne jamais stocker de données sur des   éléments publ...
M1 - Prévention1. Ne stocker que ce qui est réellement   nécessaire2. Ne jamais stocker de données sur des   éléments publ...
M1 - Prévention1. Ne stocker que ce qui est réellement   nécessaire2. Ne jamais stocker de données sur des   éléments publ...
9
M2- Contrôles serveur défaillants• S’applique uniquement aux             Impact  services de backend.                     ...
M2 - Contrôles serveur défaillants       OWASP Top 10                  OWASP Cloud Top 10• https://www.owasp.org/index.php...
M2- Prévention                 12
M2- Prévention1. Comprendre les nouveaux risques induits par   les applications mobiles sur les architectures   existantes...
M2- Prévention1. Comprendre les nouveaux risques induits par   les applications mobiles sur les architectures   existantes...
M2- Prévention1. Comprendre les nouveaux risques induits par   les applications mobiles sur les architectures   existantes...
M2- Prévention1. Comprendre les nouveaux risques induits par   les applications mobiles sur les architectures   existantes...
M2- Prévention1. Comprendre les nouveaux risques induits par   les applications mobiles sur les architectures   existantes...
13
M3 - Protection insuffisante lors du              transport de données• Perte complète de                                 ...
M3 - Protection insuffisante lors du             transport de donnéesExemple : Protocol d’authentification des clientsGoog...
M3 - Prévention                  16
M3 - Prévention1. Vérifier que les données sensibles quittent   l’appareil chiffrées.                                     ...
M3 - Prévention1. Vérifier que les données sensibles quittent   l’appareil chiffrées.2. Quelque soit les données et les ré...
M3 - Prévention1. Vérifier que les données sensibles quittent   l’appareil chiffrées.2. Quelque soit les données et les ré...
17
M4- Injection Client• Utilisation des fonctions de                 Impact      navigateurs dans les applications  •     Ap...
M4 - Injection clientXSS                              19
M4 - Injection clientXSS                   Acces aux SMS                                      19
M4 - Prévention                  20
M4 - Prévention1. Valider les données d’entrée avant utilisation                                                    20
M4 - Prévention1. Valider les données d’entrée avant utilisation2. Nettoyer les données en sortie avant affichage.        ...
M4 - Prévention1. Valider les données d’entrée avant utilisation2. Nettoyer les données en sortie avant affichage.3. Utili...
M4 - Prévention1. Valider les données d’entrée avant utilisation2. Nettoyer les données en sortie avant affichage.3. Utili...
M5- Authentification et habilitation                  defaillante• 50% du a des problèmes d’architecture,      Impact   50...
M5- Authentification et habilitation           defaillante                                       22
M5 - Prevention                  23
M5 - Prevention1. De l’information contextuelle peut améliorer   les choses, mais uniquement en cas   d’implementation d’a...
M5 - Prevention1. De l’information contextuelle peut améliorer   les choses, mais uniquement en cas   d’implementation d’a...
M5 - Prevention1. De l’information contextuelle peut améliorer   les choses, mais uniquement en cas   d’implementation d’a...
24
M6 - Mauvaise gestion des sessions• Les sessions applicatives mobiles sont            Impact   générallement plus longue q...
M6- Prévention                 26
M6- Prévention1. Ne pas avoir peur de redemander aux utilisateurs de   se ré-authentifier plus souvent.                   ...
M6- Prévention1. Ne pas avoir peur de redemander aux utilisateurs de   se ré-authentifier plus souvent.2. S’assurer que le...
M6- Prévention1. Ne pas avoir peur de redemander aux utilisateurs de   se ré-authentifier plus souvent.2. S’assurer que le...
M7- Utilisation de données d’entrée pour     effectuer des décisions sécurité.• Peut être exploité pour passer       Impac...
M7- Utilisation de données d’entrée pour effectuer               des décisions sécurité.Exemple : gestion de skype dans l’...
M7- Prévention                 29
M7- Prévention1. Vérifier les permissions lors de l’utilisations de   données d’entrée.                                   ...
M7- Prévention1. Vérifier les permissions lors de l’utilisations de   données d’entrée.2. Demander à l’utilisateur une con...
M7- Prévention1. Vérifier les permissions lors de l’utilisations de   données d’entrée.2. Demander à l’utilisateur une con...
30
M8- Perte de données via des canaux               cachés• Mélange de fonctionnalités de la                   Impact   plat...
M8- Perte de données via des canaux Screenshots  cachés   Logging                                      32
M8- Prévention                 33
M8- Prévention1. Ne jamais stocker des authentifiants/passwds ou d’autres   informations sensibles dans les logs.         ...
M8- Prévention1. Ne jamais stocker des authentifiants/passwds ou d’autres   informations sensibles dans les logs.2. Suppri...
M8- Prévention1. Ne jamais stocker des authentifiants/passwds ou d’autres   informations sensibles dans les logs.2. Suppri...
M8- Prévention1. Ne jamais stocker des authentifiants/passwds ou d’autres   informations sensibles dans les logs.2. Suppri...
M8- Prévention1. Ne jamais stocker des authentifiants/passwds ou d’autres   informations sensibles dans les logs.2. Suppri...
34
M9- Chiffrement défectueux• 2 catégories importantes                Impact  • Implémentations defectueuses via     l’utili...
M9- Chiffrement défectueuxldc literal_876:"QlVtT0JoVmY2N2E=”invokestatic byte[] decode( java.lang.String ) // Base 64invok...
M9- Prévention                 37
M9- Prévention1. Stocker la clef et les données chiffrées n’est   pas correct.                                            ...
M9- Prévention1. Stocker la clef et les données chiffrées n’est   pas correct.2. Il vaut mieux utiliser des librairies con...
M9- Prévention1. Stocker la clef et les données chiffrées n’est   pas correct.2. Il vaut mieux utiliser des librairies con...
Dark side ?              38
M10- Perte d’information sensible• M10(enfoui dans le matériel) est              Impact   différent de M1 (stocké)• Il est...
M10- Perte d’information sensible                                    40
M10- Prévention                  41
M10- Prévention1. Les clefs d’API privées portent bien leur nom.   Il ne faut pas les stocker sur le client.              ...
M10- Prévention1. Les clefs d’API privées portent bien leur nom.   Il ne faut pas les stocker sur le client.2. Si il exist...
M10- Prévention1. Les clefs d’API privées portent bien leur nom.   Il ne faut pas les stocker sur le client.2. Si il exist...
Conclusion
Conclusion             43
Conclusion• La sécurité mobile en est au début.                                        43
Conclusion• La sécurité mobile en est au début.• Nous venons d’identifier quelques problèmes,  il est nécessaire de les co...
Conclusion• La sécurité mobile en est au début.• Nous venons d’identifier quelques problèmes,  il est nécessaire de les co...
Conclusion• La sécurité mobile en est au début.• Nous venons d’identifier quelques problèmes,  il est nécessaire de les co...
Remerciements          OWASP Mobile Project LeadersJack Mannino jack@nvisiumsecurity.com  • http://twitter.com/jack_mannin...
Autres sessions liéesWeb Security (Hampstead - 29/02 a 13h15)Threat modeling dune application: étude de cas (St-Pierre -  ...
Autres sessions liéesWeb Security (Hampstead - 29/02 a 13h15)Threat modeling dune application: étude de cas (St-Pierre -  ...
Autres sessions liéesWeb Security (Hampstead - 29/02 a 13h15)Threat modeling dune application: étude de cas (St-Pierre -  ...
Autres sessions liéesWeb Security (Hampstead - 29/02 a 13h15)Threat modeling dune application: étude de cas (St-Pierre -  ...
Liens•OWASP Mobile Project :https://www.owasp.org/index.php/   OWASP_Mobile_Security_Project•HTML5 Sécurité :http://www.sl...
Vous pouvez donc vousprotéger de lui maintenant...         @SPoint         sebastien.gioria@owasp.org                     ...
Vous pouvez donc vous  protéger de lui maintenant...              @SPoint              sebastien.gioria@owasp.orgIl ny a q...
Prochain SlideShare
Chargement dans…5
×

OWASP Mobile Top10 - Les 10 risques sur les mobiles

3 222 vues

Publié le

Présentation a confoo sur le OWASP Top10 Mobile

Publié dans : Technologie
0 commentaire
3 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
3 222
Sur SlideShare
0
Issues des intégrations
0
Intégrations
65
Actions
Partages
0
Téléchargements
246
Commentaires
0
J’aime
3
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • http://developer.android.com/reference/android/content/Context.html\n\npublic abstract SharedPreferences getSharedPreferences (String name, int mode)\nSince: API Level 1\nRetrieve and hold the contents of the preferences file 'name', returning a SharedPreferences through which you can retrieve and modify its values. Only one instance of the SharedPreferences object is returned to any callers for the same name, meaning they will see each other's edits as soon as they are made.\n\nint\nMODE_WORLD_READABLE\nFile creation mode: allow all other applications to have read access to the created file.\n\n
  • http://developer.android.com/reference/android/content/Context.html\n\npublic abstract SharedPreferences getSharedPreferences (String name, int mode)\nSince: API Level 1\nRetrieve and hold the contents of the preferences file 'name', returning a SharedPreferences through which you can retrieve and modify its values. Only one instance of the SharedPreferences object is returned to any callers for the same name, meaning they will see each other's edits as soon as they are made.\n\nint\nMODE_WORLD_READABLE\nFile creation mode: allow all other applications to have read access to the created file.\n\n
  • http://developer.android.com/reference/android/content/Context.html\n\npublic abstract SharedPreferences getSharedPreferences (String name, int mode)\nSince: API Level 1\nRetrieve and hold the contents of the preferences file 'name', returning a SharedPreferences through which you can retrieve and modify its values. Only one instance of the SharedPreferences object is returned to any callers for the same name, meaning they will see each other's edits as soon as they are made.\n\nint\nMODE_WORLD_READABLE\nFile creation mode: allow all other applications to have read access to the created file.\n\n
  • http://developer.android.com/reference/android/content/Context.html\n\npublic abstract SharedPreferences getSharedPreferences (String name, int mode)\nSince: API Level 1\nRetrieve and hold the contents of the preferences file 'name', returning a SharedPreferences through which you can retrieve and modify its values. Only one instance of the SharedPreferences object is returned to any callers for the same name, meaning they will see each other's edits as soon as they are made.\n\nint\nMODE_WORLD_READABLE\nFile creation mode: allow all other applications to have read access to the created file.\n\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • OWASP Mobile Top10 - Les 10 risques sur les mobiles

    1. 1. The OWASP Foundation http://www.owasp.orgLes 10 Risques sur les mobiles Sébastien Gioria OWASP France Leader OWASP Global Education Committee Confoo.ca 29 Février 2012 - Montréal - Canada Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License.
    2. 2. http://www.google.fr/#q=sebastien gioria ‣Responsable de la branche Audit S.I et Sécurité au sein du cabinet Groupe Y ‣OWASP France Leader & Founder - Evangéliste ‣OWASP Global Education Comittee Member (sebastien.gioria@owasp.org) ‣Responsable du Groupe Sécurité des Applications Web au CLUSIFTwitter :@SPoint CISA && ISO 27005 Risk Manager ‣ +13 ans d’expérience en Sécurité des Systèmes d’Information ‣ Différents postes de manager SSI dans la banque, l’assurance et les télécoms ‣ Expertise Technique - PenTesting, - Secure-SDLC - Gestion du risque, Architectures fonctionnelles, Audits - Consulting et Formation en Réseaux et Sécurité 2 2
    3. 3. http://www.google.fr/#q=sebastien gioria ‣Responsable de la branche Audit S.I et Sécurité au sein du cabinet Groupe Y ‣OWASP France Leader & Founder - Evangéliste ‣OWASP Global Education Comittee Member (sebastien.gioria@owasp.org) ‣Responsable du Groupe Sécurité des Applications Web au CLUSIFTwitter :@SPoint CISA && ISO 27005 Risk Manager ‣ +13 ans d’expérience en Sécurité des Systèmes d’Information ‣ Différents postes de manager SSI dans la banque, l’assurance et les télécoms ‣ Expertise Technique - PenTesting, - Secure-SDLC - Gestion du risque, Architectures fonctionnelles, Audits - Consulting et Formation en Réseaux et Sécurité 2 2
    4. 4. Top 10 Risques
    5. 5. Top 10 Risques• Vision multi-plateforme : • Android, IOS, Nokia, Windows, ...• Focus sur les risques plutôt que les vulnérabilités.• Utilisation de l’OWASP Risk Rating Methodology pour le classement • https://www.owasp.org/index.php/ OWASP_Risk_Rating_Methodology 4
    6. 6. Les 10 risques RisqueM1 - Stockage de données non sécuriséM2 - Contrôles serveur défaillantsM3 - Protection insuffisante lors du transport de donnéesM4 - Injection clientM5 - Authentification et habilitation defaillanteM6 - Mauvaise gestion des sessionsM7- Utilisation de données d’entrée pour effectuer des décisions sécurité.M8 - Perte de données via des canaux cachésM9 - Chiffrement défectueuxM10 - Perte d’information sensible 5
    7. 7. M1 - Stockage de données non sécurisé• Les données sensibles ne sont pas Impact protégées • Perte de• S’applique aux données locales, tout confidentialité sur comme celles disponibles dans le cloud les données• Généralement du à : • Divulgation • Défaut de chiffrement des données d’authentifiants • Cache de données qui ne sont par normalement prévue • Violation de vie • Permission globales ou faibles privée • Non suivi des bonnes pratiques de la • Non-compliance plateforme 6
    8. 8. M1 - Stockage de données non sécurisé 7
    9. 9. M1 - Stockage de données non sécurisé 7
    10. 10. M1 - Stockage de données non sécurisé 7
    11. 11. M1 - Stockage de données non sécurisé 7
    12. 12. M1 - Prévention 8
    13. 13. M1 - Prévention1. Ne stocker que ce qui est réellement nécessaire 8
    14. 14. M1 - Prévention1. Ne stocker que ce qui est réellement nécessaire2. Ne jamais stocker de données sur des éléments publiques (SD-Card...) 8
    15. 15. M1 - Prévention1. Ne stocker que ce qui est réellement nécessaire2. Ne jamais stocker de données sur des éléments publiques (SD-Card...)3. Utiliser les APIs de chiffrement et les conteneurs sécurisés fournis par la plateforme. 8
    16. 16. M1 - Prévention1. Ne stocker que ce qui est réellement nécessaire2. Ne jamais stocker de données sur des éléments publiques (SD-Card...)3. Utiliser les APIs de chiffrement et les conteneurs sécurisés fournis par la plateforme.4. Ne pas donner des droits en “world writeable” ou “world readable” 8
    17. 17. 9
    18. 18. M2- Contrôles serveur défaillants• S’applique uniquement aux Impact services de backend. • Perte de• Non spécifique aux mobiles. confidentialité sur des• Il n’est pas plus facile de données faire confiance au client.• Il est nécessaire de revoir les • Perte d’intégrité sur contrôles actuels classiques. des données 10
    19. 19. M2 - Contrôles serveur défaillants OWASP Top 10 OWASP Cloud Top 10• https://www.owasp.org/index.php/ • https://www.owasp.org/images/4/47/Cloud- Category:OWASP_Top_Ten_Project Top10-Security-Risks.pdf 11
    20. 20. M2- Prévention 12
    21. 21. M2- Prévention1. Comprendre les nouveaux risques induits par les applications mobiles sur les architectures existantes 12
    22. 22. M2- Prévention1. Comprendre les nouveaux risques induits par les applications mobiles sur les architectures existantes 12
    23. 23. M2- Prévention1. Comprendre les nouveaux risques induits par les applications mobiles sur les architectures existantes3. OWASP Top 10, Cloud Top 10, Web Services Top 10 12
    24. 24. M2- Prévention1. Comprendre les nouveaux risques induits par les applications mobiles sur les architectures existantes3. OWASP Top 10, Cloud Top 10, Web Services Top 10 12
    25. 25. M2- Prévention1. Comprendre les nouveaux risques induits par les applications mobiles sur les architectures existantes3. OWASP Top 10, Cloud Top 10, Web Services Top 105. Voir les Cheat sheets, guides de développement, l’ESAPI 12
    26. 26. 13
    27. 27. M3 - Protection insuffisante lors du transport de données• Perte complète de Impact chiffrement des données • Attacks MITM transmises. • Modification• Faible chiffrement des des données données transmises. transmises• Fort chiffrement, mais oubli • Perte de des alertes sécurité confidentialité • Ignorer les erreurs de validation de certificats • Retour en mode non chiffré après erreurs 14
    28. 28. M3 - Protection insuffisante lors du transport de donnéesExemple : Protocol d’authentification des clientsGoogle• L’entete d’authenfication est envoyé sur HTTP• Lorsqu’un utilisateur se connecte via un WIFI, l’application automatiquement envoie le jeton dans le but de synchroniser les données depuis le serveur.• Il suffit d’écouter le réseau et de voler cet élément pour usurper l’identité • http://www.uni-ulm.de/in/mi/mitarbeiter/koenings/catching-authtokens.html 15
    29. 29. M3 - Prévention 16
    30. 30. M3 - Prévention1. Vérifier que les données sensibles quittent l’appareil chiffrées. 16
    31. 31. M3 - Prévention1. Vérifier que les données sensibles quittent l’appareil chiffrées.2. Quelque soit les données et les réseaux : Wifi, NFC, GSM, .... 16
    32. 32. M3 - Prévention1. Vérifier que les données sensibles quittent l’appareil chiffrées.2. Quelque soit les données et les réseaux : Wifi, NFC, GSM, ....3. Ne pas ignorer les erreurs de sécurité ! 16
    33. 33. 17
    34. 34. M4- Injection Client• Utilisation des fonctions de Impact navigateurs dans les applications • Apps pure Web • Compromissio • Apps hybrides n de l’appareil• On retrouve les vulnérabilités • Fraude à connues • Injection XSS et HTML l’appel • SQL Injection • Augmentation• Des nouveautés interessantes de privilèges • Abus d’appels et de SMS • Abus de paiements ? 18
    35. 35. M4 - Injection clientXSS 19
    36. 36. M4 - Injection clientXSS Acces aux SMS 19
    37. 37. M4 - Prévention 20
    38. 38. M4 - Prévention1. Valider les données d’entrée avant utilisation 20
    39. 39. M4 - Prévention1. Valider les données d’entrée avant utilisation2. Nettoyer les données en sortie avant affichage. 20
    40. 40. M4 - Prévention1. Valider les données d’entrée avant utilisation2. Nettoyer les données en sortie avant affichage.3. Utilisation des requetes paramétrées pour les appels bases de données. 20
    41. 41. M4 - Prévention1. Valider les données d’entrée avant utilisation2. Nettoyer les données en sortie avant affichage.3. Utilisation des requetes paramétrées pour les appels bases de données.4. Minimiser les capacités/privilèges des applications hybrides Web. 20
    42. 42. M5- Authentification et habilitation defaillante• 50% du a des problèmes d’architecture, Impact 50% du à des problèmes du mobile• Certaines applications se reposent • Elevation de uniquement sur des éléments Privileges théoriquement inchangeables, mais pouvant être compromis (IMEI, IMSI, UUID) • Accès non authorisé.• Les identifiants matériels persistent apres les resets ou les nettoyages de données.• De l’information contextuelle ajoutée, est utile, mais pas infaillible. 21
    43. 43. M5- Authentification et habilitation defaillante 22
    44. 44. M5 - Prevention 23
    45. 45. M5 - Prevention1. De l’information contextuelle peut améliorer les choses, mais uniquement en cas d’implementation d’authentification multi- facteur. 23
    46. 46. M5 - Prevention1. De l’information contextuelle peut améliorer les choses, mais uniquement en cas d’implementation d’authentification multi- facteur.2. Impossible de faire du “Out-of-band” sur le même matériel (eg SMS...) 23
    47. 47. M5 - Prevention1. De l’information contextuelle peut améliorer les choses, mais uniquement en cas d’implementation d’authentification multi- facteur.2. Impossible de faire du “Out-of-band” sur le même matériel (eg SMS...)3. Ne jamais utiliser l’ID machine ou l’ID opérateur (subscriber ID), comme élément unique d’authentification. 23
    48. 48. 24
    49. 49. M6 - Mauvaise gestion des sessions• Les sessions applicatives mobiles sont Impact générallement plus longue que sur une application normale. • Elévation de • Dans un but de facilité d’utilisation privilèges.• Le maintien de session applicative se fait • Accès non via authorisé. • HTTP cookies • OAuth tokens • Contournement des licenses et • SSO authentication services des éléments de• Très mauvaise idée d’utiliser l’ID matériel paiements comme identification de session. 25
    50. 50. M6- Prévention 26
    51. 51. M6- Prévention1. Ne pas avoir peur de redemander aux utilisateurs de se ré-authentifier plus souvent. 26
    52. 52. M6- Prévention1. Ne pas avoir peur de redemander aux utilisateurs de se ré-authentifier plus souvent.2. S’assurer que les ID/token peuvent rapidement être révoqués dan cas de perte de Ensure that tokens can be revoked quickly in the event of a lost/stolen device 26
    53. 53. M6- Prévention1. Ne pas avoir peur de redemander aux utilisateurs de se ré-authentifier plus souvent.2. S’assurer que les ID/token peuvent rapidement être révoqués dan cas de perte de Ensure that tokens can be revoked quickly in the event of a lost/stolen device3. Utilisation des outils de gestion des sessions éprouvés et surs 26
    54. 54. M7- Utilisation de données d’entrée pour effectuer des décisions sécurité.• Peut être exploité pour passer Impact outre les permission et les modèles de sécurité. • Utilisation de• Globalement similaires sur les ressources différentes plateformes payantes. • Exfiltration de• Des vecteurs d’attaques données importants • Elevation de • Applications malveillantes privilèges. • Injection client 27
    55. 55. M7- Utilisation de données d’entrée pour effectuer des décisions sécurité.Exemple : gestion de skype dans l’URL surIOS...• http://software-security.sans.org/blog/2010/11/08/ insecure-handling-url-schemes-apples-ios/ 28
    56. 56. M7- Prévention 29
    57. 57. M7- Prévention1. Vérifier les permissions lors de l’utilisations de données d’entrée. 29
    58. 58. M7- Prévention1. Vérifier les permissions lors de l’utilisations de données d’entrée.2. Demander à l’utilisateur une confirmation avant l’utilisation de fonctions sensibles. 29
    59. 59. M7- Prévention1. Vérifier les permissions lors de l’utilisations de données d’entrée.2. Demander à l’utilisateur une confirmation avant l’utilisation de fonctions sensibles.3. Lorsqu’il n’est pas possible de vérifier les permissions, s’assurer via une étape additionnelle du lancement de la fonction sensible. 29
    60. 60. 30
    61. 61. M8- Perte de données via des canaux cachés• Mélange de fonctionnalités de la Impact plateforme et de failles de programmation.• Les données sensibles se trouvent un peu • Perte partout. ou l’on ne s’attend pas.... définitive de • Web caches données. • Logs de clavier... • Screenshots • Violation de la • Logs (system, crash) vie privée. • Répertoires temporaires.• Faire attention a ce que font les librairies tierces avec les données utilisateurs( publicité, analyse, ...) 31
    62. 62. M8- Perte de données via des canaux Screenshots cachés Logging 32
    63. 63. M8- Prévention 33
    64. 64. M8- Prévention1. Ne jamais stocker des authentifiants/passwds ou d’autres informations sensibles dans les logs. 33
    65. 65. M8- Prévention1. Ne jamais stocker des authentifiants/passwds ou d’autres informations sensibles dans les logs.2. Supprimer les données sensibles avant les screenshots, utiliser les capacités des caches pour les contenu des applications Web, ... 33
    66. 66. M8- Prévention1. Ne jamais stocker des authentifiants/passwds ou d’autres informations sensibles dans les logs.2. Supprimer les données sensibles avant les screenshots, utiliser les capacités des caches pour les contenu des applications Web, ...3. Debugger avec attention les applications avant mise en production pour vérifier les fichiers produits, modifiés, lus, .... 33
    67. 67. M8- Prévention1. Ne jamais stocker des authentifiants/passwds ou d’autres informations sensibles dans les logs.2. Supprimer les données sensibles avant les screenshots, utiliser les capacités des caches pour les contenu des applications Web, ...3. Debugger avec attention les applications avant mise en production pour vérifier les fichiers produits, modifiés, lus, ....4. Porter une attention particulière aux librairies tierces. 33
    68. 68. M8- Prévention1. Ne jamais stocker des authentifiants/passwds ou d’autres informations sensibles dans les logs.2. Supprimer les données sensibles avant les screenshots, utiliser les capacités des caches pour les contenu des applications Web, ...3. Debugger avec attention les applications avant mise en production pour vérifier les fichiers produits, modifiés, lus, ....4. Porter une attention particulière aux librairies tierces.5. Tester les applications sur différentes versions de la plateforme.... 33
    69. 69. 34
    70. 70. M9- Chiffrement défectueux• 2 catégories importantes Impact • Implémentations defectueuses via l’utilisation de librairies de • Perte de chiffrement. confidentialité. • Implementations personnelles de • Elevation de chiffrement.... privilèges• Bien se rappeler les bases !!! • Codage (Base64) != chiffrement • Contournemen t de la logique • Obfuscation != chiffrement métier. • Serialization != chiffrement 35
    71. 71. M9- Chiffrement défectueuxldc literal_876:"QlVtT0JoVmY2N2E=”invokestatic byte[] decode( java.lang.String ) // Base 64invokespecial_lib java.lang.String.<init> // pc=2astore 8private final byte[]com.picuploader.BizProcess.SendRequest.routine_12998 (com.picuploader.BizProcess.SendRequest, byte[],byte[] ); { enter new_lib net.rim.device.api.crypto.TripleDESKey 36
    72. 72. M9- Prévention 37
    73. 73. M9- Prévention1. Stocker la clef et les données chiffrées n’est pas correct. 37
    74. 74. M9- Prévention1. Stocker la clef et les données chiffrées n’est pas correct.2. Il vaut mieux utiliser des librairies connues de chiffrement que sa propre librairie.... 37
    75. 75. M9- Prévention1. Stocker la clef et les données chiffrées n’est pas correct.2. Il vaut mieux utiliser des librairies connues de chiffrement que sa propre librairie....3. Utiliser les avantages éventuels de la plateforme ! 37
    76. 76. Dark side ? 38
    77. 77. M10- Perte d’information sensible• M10(enfoui dans le matériel) est Impact différent de M1 (stocké)• Il est très simple de faire du reverse- • Perte engineer sur des applications mobiles.. d’authentifiants• L’obfuscation de code ne supprime pas • Exposition de le risque. propriété• Quelques informations classiques intellectuelle ? trouvées : • clefs d’API • Passwords • Logique métier sensible. 39
    78. 78. M10- Perte d’information sensible 40
    79. 79. M10- Prévention 41
    80. 80. M10- Prévention1. Les clefs d’API privées portent bien leur nom. Il ne faut pas les stocker sur le client. 41
    81. 81. M10- Prévention1. Les clefs d’API privées portent bien leur nom. Il ne faut pas les stocker sur le client.2. Si il existe une logique métier propriétaire, il convient de la faire executée par le serveur ! 41
    82. 82. M10- Prévention1. Les clefs d’API privées portent bien leur nom. Il ne faut pas les stocker sur le client.2. Si il existe une logique métier propriétaire, il convient de la faire executée par le serveur !3. Il n’y a jamais ou presque de réelle raison de stocker des mots de passes en dur (si vous le pensez, vous avez d’autres problèmes à venir...) 41
    83. 83. Conclusion
    84. 84. Conclusion 43
    85. 85. Conclusion• La sécurité mobile en est au début. 43
    86. 86. Conclusion• La sécurité mobile en est au début.• Nous venons d’identifier quelques problèmes, il est nécessaire de les corriger ! 43
    87. 87. Conclusion• La sécurité mobile en est au début.• Nous venons d’identifier quelques problèmes, il est nécessaire de les corriger !• Les plateformes deviennent plus matures, les applications le doivent aussi... 43
    88. 88. Conclusion• La sécurité mobile en est au début.• Nous venons d’identifier quelques problèmes, il est nécessaire de les corriger !• Les plateformes deviennent plus matures, les applications le doivent aussi...• Ne pas oublier que la sécurité mobile comporte une partie application serveur ! 43
    89. 89. Remerciements OWASP Mobile Project LeadersJack Mannino jack@nvisiumsecurity.com • http://twitter.com/jack_manninoZach Lanier zach.lanier@intrepidusgroup.com • http://twitter.com/quineMike Zusman mike.zusman@carvesystems.com • http://twitter.com/schmoilito 44
    90. 90. Autres sessions liéesWeb Security (Hampstead - 29/02 a 13h15)Threat modeling dune application: étude de cas (St-Pierre - 29/02 à 14h30)Sécurité et Ruby on Rails, une introduction (Fontaine F - 01/03 à 16h)Beware of the dark side, Luke! (Hampstead - 02/03 à 8h30 )Trouvez la faille! (Côte-St-Luc - 2/03 à 14h45) 45
    91. 91. Autres sessions liéesWeb Security (Hampstead - 29/02 a 13h15)Threat modeling dune application: étude de cas (St-Pierre - 29/02 à 14h30)Sécurité et Ruby on Rails, une introduction (Fontaine F - 01/03 à 16h)Beware of the dark side, Luke! (Hampstead - 02/03 à 8h30 )Trouvez la faille! (Côte-St-Luc - 2/03 à 14h45) 45
    92. 92. Autres sessions liéesWeb Security (Hampstead - 29/02 a 13h15)Threat modeling dune application: étude de cas (St-Pierre - 29/02 à 14h30)Sécurité et Ruby on Rails, une introduction (Fontaine F - 01/03 à 16h)Beware of the dark side, Luke! (Hampstead - 02/03 à 8h30 )Trouvez la faille! (Côte-St-Luc - 2/03 à 14h45) 45
    93. 93. Autres sessions liéesWeb Security (Hampstead - 29/02 a 13h15)Threat modeling dune application: étude de cas (St-Pierre - 29/02 à 14h30)Sécurité et Ruby on Rails, une introduction (Fontaine F - 01/03 à 16h)Beware of the dark side, Luke! (Hampstead - 02/03 à 8h30 )Trouvez la faille! (Côte-St-Luc - 2/03 à 14h45) 45
    94. 94. Liens•OWASP Mobile Project :https://www.owasp.org/index.php/ OWASP_Mobile_Security_Project•HTML5 Sécurité :http://www.slideshare.net/ Eagle42/2011-0207html5securityv1•OWASP Top10https://www.owasp.org/index.php/ Category:OWASP_Top_Ten_Project 46
    95. 95. Vous pouvez donc vousprotéger de lui maintenant... @SPoint sebastien.gioria@owasp.org 47
    96. 96. Vous pouvez donc vous protéger de lui maintenant... @SPoint sebastien.gioria@owasp.orgIl ny a quune façon déchouer, cest dabandonner avant davoir réussi [Olivier Lockert] 47

    ×