The OWASP Foundationhttp://www.owasp.orgCopyright © The OWASP FoundationPermission is granted to copy, distribute and/or m...
CISA && ISO 27005 Risk Manager2http://www.google.fr/#q=sebastien gioria‣OWASP France Leader & Founder - Evangéliste‣OWASP ...
Top 10 RisquesFriday, February 15, 13
4Top 10 Risques• Vision multi-plateforme :• Windows Phone, Android, IOS, Nokia, ...• Focus sur les risques plutôt que lesv...
5Les 10 risquesRisqueM1 - Stockage de données non sécuriséM2 - Contrôles serveur défaillantsM3 - Protection insuffisante l...
6Friday, February 15, 13
7M1 - Stockage de données non sécurisé• Les données sensibles ne sont pasprotégées• S’applique aux données locales, toutco...
8M1 - Stockage de données non sécuriséFriday, February 15, 13
8M1 - Stockage de données non sécuriséFriday, February 15, 13
8M1 - Stockage de données non sécuriséFriday, February 15, 13
9M1 - PréventionFriday, February 15, 13
9M1 - Prévention1. Ne stocker que ce qui est réellement nécessaireFriday, February 15, 13
9M1 - Prévention1. Ne stocker que ce qui est réellement nécessaire2. Ne jamais stocker de données sur des élémentspublics ...
9M1 - Prévention1. Ne stocker que ce qui est réellement nécessaire2. Ne jamais stocker de données sur des élémentspublics ...
9M1 - Prévention1. Ne stocker que ce qui est réellement nécessaire2. Ne jamais stocker de données sur des élémentspublics ...
9M1 - Prévention1. Ne stocker que ce qui est réellement nécessaire2. Ne jamais stocker de données sur des élémentspublics ...
9M1 - Prévention1. Ne stocker que ce qui est réellement nécessaire2. Ne jamais stocker de données sur des élémentspublics ...
10Friday, February 15, 13
11M2- Contrôles serveur défaillants• S’applique uniquement auxservices de backend.• Non spécifique aux mobiles.• Il n’est ...
12M2 - Contrôles serveur défaillantsOWASP Top 10• https://www.owasp.org/index.php/Category:OWASP_Top_Ten_ProjectOWASP Clou...
13M2- PréventionFriday, February 15, 13
13M2- Prévention1. Comprendre les nouveaux risques induits par lesapplications mobiles sur les architectures existantes :F...
13M2- Prévention1. Comprendre les nouveaux risques induits par lesapplications mobiles sur les architectures existantes :•...
13M2- Prévention1. Comprendre les nouveaux risques induits par lesapplications mobiles sur les architectures existantes :•...
13M2- Prévention1. Comprendre les nouveaux risques induits par lesapplications mobiles sur les architectures existantes :•...
13M2- Prévention1. Comprendre les nouveaux risques induits par lesapplications mobiles sur les architectures existantes :•...
13M2- Prévention1. Comprendre les nouveaux risques induits par lesapplications mobiles sur les architectures existantes :•...
13M2- Prévention1. Comprendre les nouveaux risques induits par lesapplications mobiles sur les architectures existantes :•...
14Friday, February 15, 13
15M3 - Protection insuffisante lors dutransport de données• Perte complète de chiffrementdes données transmises.• Faible c...
16M3 - Protection insuffisante lors dutransport de donnéesExemple : Protocole d’authentification des clientsGoogle• L’ente...
17M3 - PréventionFriday, February 15, 13
17M3 - Prévention1. Vérifier que les données sensibles quittentl’appareil chiffrées.Friday, February 15, 13
17M3 - Prévention1. Vérifier que les données sensibles quittentl’appareil chiffrées.2. Quelque soit les données et les rés...
17M3 - Prévention1. Vérifier que les données sensibles quittentl’appareil chiffrées.2. Quelque soit les données et les rés...
17M3 - Prévention1. Vérifier que les données sensibles quittentl’appareil chiffrées.2. Quelque soit les données et les rés...
18Friday, February 15, 13
18Friday, February 15, 13
19Friday, February 15, 13
20M4- Injection Client• Utilisation des fonctions denavigateurs dans les applications• Apps pure Web• Apps hybrides• On re...
21M4 - Injection clientSmsComposeTask	  smsComposeTask	  =	  new	  SmsComposeTask();smsComposeTask.To	  =	  "2065550123";s...
22M4 - PréventionFriday, February 15, 13
22M4 - Prévention1. Valider les données d’entrée avant utilisationFriday, February 15, 13
22M4 - Prévention1. Valider les données d’entrée avant utilisation2. Nettoyer les données en sortie avantaffichage.Friday,...
22M4 - Prévention1. Valider les données d’entrée avant utilisation2. Nettoyer les données en sortie avantaffichage.3. Mini...
23Friday, February 15, 13
24M5- Authentification et habilitationdefaillante• 50% du a des problèmes d’architecture,50% du à des problèmes du mobile•...
25M5 - PreventionFriday, February 15, 13
25M5 - Prevention1. De l’information contextuelle peut améliorerles choses, mais uniquement en casd’implementation d’authe...
25M5 - Prevention1. De l’information contextuelle peut améliorerles choses, mais uniquement en casd’implementation d’authe...
25M5 - Prevention1. De l’information contextuelle peut améliorerles choses, mais uniquement en casd’implementation d’authe...
26Friday, February 15, 13
27M6 - Mauvaise gestion des sessions• Les sessions applicatives mobiles sontgénéralement plus longues que sur uneapplicati...
28M6- PréventionFriday, February 15, 13
28M6- Prévention1. Ne pas avoir peur de redemander aux utilisateursde se ré-authentifier plus souvent.Friday, February 15,...
28M6- Prévention1. Ne pas avoir peur de redemander aux utilisateursde se ré-authentifier plus souvent.2. S’assurer que les...
28M6- Prévention1. Ne pas avoir peur de redemander aux utilisateursde se ré-authentifier plus souvent.2. S’assurer que les...
29M7- Utilisation de données d’entrée poureffectuer des décisions sécurité.• Peut être exploité pour passeroutre les permi...
30M7- Utilisation de données d’entrée pour effectuerdes décisions sécurité.Exemple : gestion de skype dans l’URL surIOS......
31M7- PréventionFriday, February 15, 13
31M7- Prévention1. Vérifier les permissions lors de l’utilisation dedonnées d’entrée.Friday, February 15, 13
31M7- Prévention1. Vérifier les permissions lors de l’utilisation dedonnées d’entrée.2. Demander à l’utilisateur une confi...
31M7- Prévention1. Vérifier les permissions lors de l’utilisation dedonnées d’entrée.2. Demander à l’utilisateur une confi...
31M7- Prévention1. Vérifier les permissions lors de l’utilisation dedonnées d’entrée.2. Demander à l’utilisateur une confi...
32Friday, February 15, 13
33M8- Perte de données via des canauxcachés• Mélange de fonctionnalités de laplateforme et de failles de programmation.• L...
34M8- PréventionFriday, February 15, 13
34M8- Prévention1. Ne jamais stocker des authentifiants/passwds ou d’autresinformations sensibles dans les logs.Friday, Fe...
34M8- Prévention1. Ne jamais stocker des authentifiants/passwds ou d’autresinformations sensibles dans les logs.2. Supprim...
34M8- Prévention1. Ne jamais stocker des authentifiants/passwds ou d’autresinformations sensibles dans les logs.2. Supprim...
34M8- Prévention1. Ne jamais stocker des authentifiants/passwds ou d’autresinformations sensibles dans les logs.2. Supprim...
34M8- Prévention1. Ne jamais stocker des authentifiants/passwds ou d’autresinformations sensibles dans les logs.2. Supprim...
35Friday, February 15, 13
36M9- Chiffrement défectueux• 2 catégories importantes• Implémentations défectueuses vial’utilisation de librairies dechif...
37M9- PréventionFriday, February 15, 13
37M9- Prévention1. Stocker la clef et les données chiffrées n’estpas correct.Friday, February 15, 13
37M9- Prévention1. Stocker la clef et les données chiffrées n’estpas correct.2. Il vaut mieux utiliser des librairies conn...
37M9- Prévention1. Stocker la clef et les données chiffrées n’estpas correct.2. Il vaut mieux utiliser des librairies conn...
37M9- Prévention1. Stocker la clef et les données chiffrées n’estpas correct.2. Il vaut mieux utiliser des librairies conn...
37M9- Prévention1. Stocker la clef et les données chiffrées n’estpas correct.2. Il vaut mieux utiliser des librairies conn...
38Friday, February 15, 13
39Friday, February 15, 13
Dark side ?40Friday, February 15, 13
41M10- Perte d’information sensible• M10(enfoui dans le matériel) estdifférent de M1 (stocké)• Il est assez simple de fair...
42M10- PréventionFriday, February 15, 13
42M10- Prévention1. Les clefs d’API privées portent bien leur nom.Il ne faut pas les stocker sur le client.Friday, Februar...
42M10- 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...
42M10- 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...
ConclusionFriday, February 15, 13
44ConclusionFriday, February 15, 13
44Conclusion• La sécurité mobile en est au début.Friday, February 15, 13
44Conclusion• La sécurité mobile en est au début.• Nous venons d’identifier quelques problèmes,il est nécessaire de les co...
44Conclusion• La sécurité mobile en est au début.• Nous venons d’identifier quelques problèmes,il est nécessaire de les co...
44Conclusion• La sécurité mobile en est au début.• Nous venons d’identifier quelques problèmes,il est nécessaire de les co...
Liens•OWASP Mobile Project : https://www.owasp.org/index.php/OWASP_Mobile_Security_Project•OWASP Top10 : https://www.owasp...
@SPointsebastien.gioria@owasp.org46Vous pouvez donc vousprotéger de lui maintenant...Friday, February 15, 13
@SPointsebastien.gioria@owasp.org46Il ny a quune façon déchouer, cest dabandonner avantdavoir réussi [Olivier Lockert]Vous...
Prochain SlideShare
Chargement dans…5
×

OWASP Top10 Mobile - Attaques et solutions sur Windows Phone

609 vues

Publié le

Les smartphones sont aujourdhui partie prenante de toutes les entreprises , avec le BYOD la menace augmente Malheureusement ces outils sont actuellement la cible de toutes les attaques pour entrer dans l'entreprise. Nous détaillerons dans cette présentation les dix risques les plus courants s'appliquant aux smartphones ainsi que les remédiations possibles dans un environnement Windows Phone

0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
609
Sur SlideShare
0
Issues des intégrations
0
Intégrations
2
Actions
Partages
0
Téléchargements
18
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

OWASP Top10 Mobile - Attaques et solutions sur Windows Phone

  1. 1. The OWASP Foundationhttp://www.owasp.orgCopyright © The OWASP FoundationPermission is granted to copy, distribute and/or modify this document under the terms of the OWASP License.OWASP Top10 MobileRisksSébastien GioriaOWASP France LeaderOWASP Global Education CommitteeMicrosoft TechDays 2013 - 12 Février 2013 - ParisFriday, February 15, 13
  2. 2. CISA && ISO 27005 Risk Manager2http://www.google.fr/#q=sebastien gioria‣OWASP France Leader & Founder - Evangéliste‣OWASP Global Education Comittee Member(sebastien.gioria@owasp.org)‣Consultant Indépendant en Sécurité desSystèmes, spécialisé en Sécurité des ApplicationsTwitter :@SPoint‣+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é‣Responsable du Groupe Sécurité desApplications Web au CLUSIF2Friday, February 15, 13
  3. 3. Top 10 RisquesFriday, February 15, 13
  4. 4. 4Top 10 Risques• Vision multi-plateforme :• Windows Phone, Android, IOS, Nokia, ...• Focus sur les risques plutôt que lesvulnérabilités.• Utilisation de l’OWASP Risk RatingMethodology pour le classement• https://www.owasp.org/index.php/OWASP_Risk_Rating_MethodologyFriday, February 15, 13
  5. 5. 5Les 10 risquesRisqueM1 - 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 sensibleFriday, February 15, 13
  6. 6. 6Friday, February 15, 13
  7. 7. 7M1 - Stockage de données non sécurisé• Les données sensibles ne sont pasprotégées• S’applique aux données locales, toutcomme celles disponibles dans le cloud• Généralement du à :• Défaut de chiffrement des données• Cache de données qui n’est pasgénéralement prévu• Permissions globales ou faibles• Non suivi des bonnes pratiques de laplateformeImpact• Perte deconfidentialité surles données• Divulgationd’authentifiants• Violation de vieprivée• Non-complianceFriday, February 15, 13
  8. 8. 8M1 - Stockage de données non sécuriséFriday, February 15, 13
  9. 9. 8M1 - Stockage de données non sécuriséFriday, February 15, 13
  10. 10. 8M1 - Stockage de données non sécuriséFriday, February 15, 13
  11. 11. 9M1 - PréventionFriday, February 15, 13
  12. 12. 9M1 - Prévention1. Ne stocker que ce qui est réellement nécessaireFriday, February 15, 13
  13. 13. 9M1 - Prévention1. Ne stocker que ce qui est réellement nécessaire2. Ne jamais stocker de données sur des élémentspublics (SD-Card...)Friday, February 15, 13
  14. 14. 9M1 - Prévention1. Ne stocker que ce qui est réellement nécessaire2. Ne jamais stocker de données sur des élémentspublics (SD-Card...)3. Utiliser les APIs de chiffrement et les conteneurssécurisés fournis par la plateforme:Friday, February 15, 13
  15. 15. 9M1 - Prévention1. Ne stocker que ce qui est réellement nécessaire2. Ne jamais stocker de données sur des élémentspublics (SD-Card...)3. Utiliser les APIs de chiffrement et les conteneurssécurisés fournis par la plateforme:4. Utilisation d’InTuneFriday, February 15, 13
  16. 16. 9M1 - Prévention1. Ne stocker que ce qui est réellement nécessaire2. Ne jamais stocker de données sur des élémentspublics (SD-Card...)3. Utiliser les APIs de chiffrement et les conteneurssécurisés fournis par la plateforme:4. Utilisation d’InTune5. Utilisation de DPAPI pour une réelle protection et pasjuste le stockage :Friday, February 15, 13
  17. 17. 9M1 - Prévention1. Ne stocker que ce qui est réellement nécessaire2. Ne jamais stocker de données sur des élémentspublics (SD-Card...)3. Utiliser les APIs de chiffrement et les conteneurssécurisés fournis par la plateforme:4. Utilisation d’InTune5. Utilisation de DPAPI pour une réelle protection et pasjuste le stockage :• System.Security.Cryptography.ProtectedDataFriday, February 15, 13
  18. 18. 10Friday, February 15, 13
  19. 19. 11M2- Contrôles serveur défaillants• S’applique uniquement auxservices de backend.• Non spécifique aux mobiles.• Il n’est pas plus facile defaire confiance au client.• Il est nécessaire de revoir lescontrôles actuels classiques.Impact• Perte deconfidentialitésur desdonnées• Perted’intégrité surdes donnéesFriday, February 15, 13
  20. 20. 12M2 - Contrôles serveur défaillantsOWASP Top 10• https://www.owasp.org/index.php/Category:OWASP_Top_Ten_ProjectOWASP Cloud Top 10• https://www.owasp.org/images/4/47/Cloud-Top10-Security-Risks.pdfFriday, February 15, 13
  21. 21. 13M2- PréventionFriday, February 15, 13
  22. 22. 13M2- Prévention1. Comprendre les nouveaux risques induits par lesapplications mobiles sur les architectures existantes :Friday, February 15, 13
  23. 23. 13M2- Prévention1. Comprendre les nouveaux risques induits par lesapplications mobiles sur les architectures existantes :• exemple : JSON, ...REST, ....Friday, February 15, 13
  24. 24. 13M2- Prévention1. Comprendre les nouveaux risques induits par lesapplications mobiles sur les architectures existantes :• exemple : JSON, ...REST, ....2. OWASP Top 10, Cloud Top 10, Web Services Top 10Friday, February 15, 13
  25. 25. 13M2- Prévention1. Comprendre les nouveaux risques induits par lesapplications mobiles sur les architectures existantes :• exemple : JSON, ...REST, ....2. OWASP Top 10, Cloud Top 10, Web Services Top 10• https://www.owasp.org/index.php/Category:OWASP_Top_Ten_ProjectFriday, February 15, 13
  26. 26. 13M2- Prévention1. Comprendre les nouveaux risques induits par lesapplications mobiles sur les architectures existantes :• exemple : JSON, ...REST, ....2. OWASP Top 10, Cloud Top 10, Web Services Top 10• https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project• https://www.owasp.org/index.php/Category:OWASP_Cloud_%E2%80%90_10_ProjectFriday, February 15, 13
  27. 27. 13M2- Prévention1. Comprendre les nouveaux risques induits par lesapplications mobiles sur les architectures existantes :• exemple : JSON, ...REST, ....2. OWASP Top 10, Cloud Top 10, Web Services Top 10• https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project• https://www.owasp.org/index.php/Category:OWASP_Cloud_%E2%80%90_10_Project3. Voir les Cheat sheets, guides de développement, l’ESAPIFriday, February 15, 13
  28. 28. 13M2- Prévention1. Comprendre les nouveaux risques induits par lesapplications mobiles sur les architectures existantes :• exemple : JSON, ...REST, ....2. OWASP Top 10, Cloud Top 10, Web Services Top 10• https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project• https://www.owasp.org/index.php/Category:OWASP_Cloud_%E2%80%90_10_Project3. Voir les Cheat sheets, guides de développement, l’ESAPI• https://www.owasp.org/index.php/Cheat_SheetsFriday, February 15, 13
  29. 29. 14Friday, February 15, 13
  30. 30. 15M3 - Protection insuffisante lors dutransport de données• Perte complète de chiffrementdes données transmises.• Faible chiffrement desdonnées transmises.• Fort chiffrement, mais oublides alertes sécurité• Ignorer les erreurs de validation de certificats• Retour en mode non chiffré après erreursImpact• Attacks MITM• Modificationdes donnéestransmises• Perte deconfidentialitéFriday, February 15, 13
  31. 31. 16M3 - Protection insuffisante lors dutransport de donnéesExemple : Protocole d’authentification des clientsGoogle• L’entete d’authentification est envoyé sur HTTP• Lorsqu’un utilisateur se connecte via un WIFI,l’application automatiquement envoie le jeton dansle but de synchroniser les données depuis le serveur.• Il suffit d’écouter le réseau et de voler cet élémentpour usurper l’identité• http://www.uni-ulm.de/in/mi/mitarbeiter/koenings/catching-authtokens.htmlFriday, February 15, 13
  32. 32. 17M3 - PréventionFriday, February 15, 13
  33. 33. 17M3 - Prévention1. Vérifier que les données sensibles quittentl’appareil chiffrées.Friday, February 15, 13
  34. 34. 17M3 - Prévention1. Vérifier que les données sensibles quittentl’appareil chiffrées.2. Quelque soit les données et les réseaux : Wifi,NFC( coucou Renaud :) ), GSM, ....Friday, February 15, 13
  35. 35. 17M3 - Prévention1. Vérifier que les données sensibles quittentl’appareil chiffrées.2. Quelque soit les données et les réseaux : Wifi,NFC( coucou Renaud :) ), GSM, ....• http://2012.hackitoergosum.org/blog/wp-content/uploads/2012/04/HES-2012-rlifchitz-contactless-payments-insecurity.pdfFriday, February 15, 13
  36. 36. 17M3 - Prévention1. Vérifier que les données sensibles quittentl’appareil chiffrées.2. Quelque soit les données et les réseaux : Wifi,NFC( coucou Renaud :) ), GSM, ....• http://2012.hackitoergosum.org/blog/wp-content/uploads/2012/04/HES-2012-rlifchitz-contactless-payments-insecurity.pdf3. Ne pas ignorer les erreurs de sécurité !Friday, February 15, 13
  37. 37. 18Friday, February 15, 13
  38. 38. 18Friday, February 15, 13
  39. 39. 19Friday, February 15, 13
  40. 40. 20M4- Injection Client• Utilisation des fonctions denavigateurs dans les applications• Apps pure Web• Apps hybrides• On retrouve les vulnérabilitésconnues• Injection XSS et HTML• SQL Injection• Des nouveautés interessantes• Abus d’appels et de SMS• Abus de paiements ?Impact• Compromissionde l’appareil• Fraude à l’appel• Augmentationde privilègesFriday, February 15, 13
  41. 41. 21M4 - Injection clientSmsComposeTask  smsComposeTask  =  new  SmsComposeTask();smsComposeTask.To  =  "2065550123";smsComposeTask.Body  =  "Try  this  new  application.  Its  great!";smsComposeTask.Show();Facilité d’envoi de SMSErreur, classique....Friday, February 15, 13
  42. 42. 22M4 - PréventionFriday, February 15, 13
  43. 43. 22M4 - Prévention1. Valider les données d’entrée avant utilisationFriday, February 15, 13
  44. 44. 22M4 - Prévention1. Valider les données d’entrée avant utilisation2. Nettoyer les données en sortie avantaffichage.Friday, February 15, 13
  45. 45. 22M4 - Prévention1. Valider les données d’entrée avant utilisation2. Nettoyer les données en sortie avantaffichage.3. Minimiser les capacités/privilèges desapplications hybrides Web.Friday, February 15, 13
  46. 46. 23Friday, February 15, 13
  47. 47. 24M5- Authentification et habilitationdefaillante• 50% du a des problèmes d’architecture,50% du à des problèmes du mobile• Certaines applications se reposentuniquement sur des élémentsthéoriquement inchangeables, maispouvant être compromis (IMEI, IMSI,UUID)• Les identifiants matériels persistentapres les resets ou les nettoyages dedonnées.• De l’information contextuelle ajoutée,est utile, mais pas infaillible.Impact• Elevation dePrivileges• Accès nonautorisé.Friday, February 15, 13
  48. 48. 25M5 - PreventionFriday, February 15, 13
  49. 49. 25M5 - Prevention1. De l’information contextuelle peut améliorerles choses, mais uniquement en casd’implementation d’authentification multi-facteur.Friday, February 15, 13
  50. 50. 25M5 - Prevention1. De l’information contextuelle peut améliorerles choses, mais uniquement en casd’implementation d’authentification multi-facteur.2. Impossible de faire du “Out-of-band” sur lemême matériel (eg SMS...)Friday, February 15, 13
  51. 51. 25M5 - Prevention1. De l’information contextuelle peut améliorerles choses, mais uniquement en casd’implementation d’authentification multi-facteur.2. Impossible de faire du “Out-of-band” sur lemême matériel (eg SMS...)3. Ne jamais utiliser l’ID machine ou l’IDopérateur (subscriber ID), comme élémentunique d’authentification.Friday, February 15, 13
  52. 52. 26Friday, February 15, 13
  53. 53. 27M6 - Mauvaise gestion des sessions• Les sessions applicatives mobiles sontgénéralement plus longues que sur uneapplication normale.• Dans un but de facilité d’utilisation• Parceque le réseau est plus “lent” et moins“sur”• 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érielcomme identification de session.Impact• Elévation deprivilèges.• Accès nonautorisé.• Contournementdes licenses etdes éléments depaiementsFriday, February 15, 13
  54. 54. 28M6- PréventionFriday, February 15, 13
  55. 55. 28M6- Prévention1. Ne pas avoir peur de redemander aux utilisateursde se ré-authentifier plus souvent.Friday, February 15, 13
  56. 56. 28M6- Prévention1. Ne pas avoir peur de redemander aux utilisateursde se ré-authentifier plus souvent.2. S’assurer que les ID/token peuvent rapidementêtre révoqués en cas de perte.Friday, February 15, 13
  57. 57. 28M6- Prévention1. Ne pas avoir peur de redemander aux utilisateursde se ré-authentifier plus souvent.2. S’assurer que les ID/token peuvent rapidementêtre révoqués en cas de perte.3. Utiliser des outils de gestion des sessionséprouvésFriday, February 15, 13
  58. 58. 29M7- Utilisation de données d’entrée poureffectuer des décisions sécurité.• Peut être exploité pour passeroutre les permissions et lesmodèles de sécurité.• Globalement similaires sur lesdifférentes plateformes• Des vecteurs d’attaquesimportants• Applications malveillantes• Injection clientImpact• Utilisation deressourcespayantes.• Exfiltration dedonnées• Elevation deprivilèges.Friday, February 15, 13
  59. 59. 30M7- Utilisation de données d’entrée pour effectuerdes 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/Friday, February 15, 13
  60. 60. 31M7- PréventionFriday, February 15, 13
  61. 61. 31M7- Prévention1. Vérifier les permissions lors de l’utilisation dedonnées d’entrée.Friday, February 15, 13
  62. 62. 31M7- Prévention1. Vérifier les permissions lors de l’utilisation dedonnées d’entrée.2. Demander à l’utilisateur une confirmation avantl’utilisation de fonctions sensibles ou de donnéespersonnelles.Friday, February 15, 13
  63. 63. 31M7- Prévention1. Vérifier les permissions lors de l’utilisation dedonnées d’entrée.2. Demander à l’utilisateur une confirmation avantl’utilisation de fonctions sensibles ou de donnéespersonnelles.• Meme si l’application est propre à l’entreprise !Friday, February 15, 13
  64. 64. 31M7- Prévention1. Vérifier les permissions lors de l’utilisation dedonnées d’entrée.2. Demander à l’utilisateur une confirmation avantl’utilisation de fonctions sensibles ou de donnéespersonnelles.• Meme si l’application est propre à l’entreprise !3. Lorsqu’il n’est pas possible de vérifier lespermissions, s’assurer via une étape additionnelledu lancement de la fonction sensible.Friday, February 15, 13
  65. 65. 32Friday, February 15, 13
  66. 66. 33M8- Perte de données via des canauxcachés• Mélange de fonctionnalités de laplateforme et de failles de programmation.• Les données sensibles se trouvent un peupartout. ou l’on ne s’attend pas....• Web caches• Logs de clavier...• Screenshots• Logs (system, crash)• Répertoires temporaires.• Faire attention a ce que font les librairiestierces avec les donnéesutilisateurs( publicité, analyse, ...)Impact• Pertedéfinitive dedonnées.• Violation de lavie privée.Friday, February 15, 13
  67. 67. 34M8- PréventionFriday, February 15, 13
  68. 68. 34M8- Prévention1. Ne jamais stocker des authentifiants/passwds ou d’autresinformations sensibles dans les logs.Friday, February 15, 13
  69. 69. 34M8- Prévention1. Ne jamais stocker des authentifiants/passwds ou d’autresinformations sensibles dans les logs.2. Supprimer les données sensibles avant les screenshots,utiliser les capacités des caches pour les contenu desapplications Web, ...Friday, February 15, 13
  70. 70. 34M8- Prévention1. Ne jamais stocker des authentifiants/passwds ou d’autresinformations sensibles dans les logs.2. Supprimer les données sensibles avant les screenshots,utiliser les capacités des caches pour les contenu desapplications Web, ...3. Debugger avec attention les applications avant mise enproduction pour vérifier les fichiers produits, modifiés, lus, ....Friday, February 15, 13
  71. 71. 34M8- Prévention1. Ne jamais stocker des authentifiants/passwds ou d’autresinformations sensibles dans les logs.2. Supprimer les données sensibles avant les screenshots,utiliser les capacités des caches pour les contenu desapplications Web, ...3. Debugger avec attention les applications avant mise enproduction pour vérifier les fichiers produits, modifiés, lus, ....4. Porter une attention particulière aux librairies tierces.Friday, February 15, 13
  72. 72. 34M8- Prévention1. Ne jamais stocker des authentifiants/passwds ou d’autresinformations sensibles dans les logs.2. Supprimer les données sensibles avant les screenshots,utiliser les capacités des caches pour les contenu desapplications Web, ...3. Debugger avec attention les applications avant mise enproduction 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 laplateforme....Friday, February 15, 13
  73. 73. 35Friday, February 15, 13
  74. 74. 36M9- Chiffrement défectueux• 2 catégories importantes• Implémentations défectueuses vial’utilisation de librairies dechiffrement.• Implementations personnelles dechiffrement....• Bien se rappeler les bases !!!• Codage (Base64) != chiffrement• Obfuscation != chiffrement• Serialization != chiffrement• Vous vous appelez Bruce ?Impact• Perte deconfidentialité.• Elevation deprivilèges• Contournement de la logiquemétier.Friday, February 15, 13
  75. 75. 37M9- PréventionFriday, February 15, 13
  76. 76. 37M9- Prévention1. Stocker la clef et les données chiffrées n’estpas correct.Friday, February 15, 13
  77. 77. 37M9- Prévention1. Stocker la clef et les données chiffrées n’estpas correct.2. Il vaut mieux utiliser des librairies connues dechiffrement que sa propre librairie....Friday, February 15, 13
  78. 78. 37M9- Prévention1. Stocker la clef et les données chiffrées n’estpas correct.2. Il vaut mieux utiliser des librairies connues dechiffrement que sa propre librairie....3. Utiliser les avantages éventuels de laplateforme !Friday, February 15, 13
  79. 79. 37M9- Prévention1. Stocker la clef et les données chiffrées n’estpas correct.2. Il vaut mieux utiliser des librairies connues dechiffrement que sa propre librairie....3. Utiliser les avantages éventuels de laplateforme !• System.Security.CryptographyFriday, February 15, 13
  80. 80. 37M9- Prévention1. Stocker la clef et les données chiffrées n’estpas correct.2. Il vaut mieux utiliser des librairies connues dechiffrement que sa propre librairie....3. Utiliser les avantages éventuels de laplateforme !• System.Security.CryptographyFriday, February 15, 13
  81. 81. 38Friday, February 15, 13
  82. 82. 39Friday, February 15, 13
  83. 83. Dark side ?40Friday, February 15, 13
  84. 84. 41M10- Perte d’information sensible• M10(enfoui dans le matériel) estdifférent de M1 (stocké)• Il est assez simple de faire du reverse-engineer sur des applications mobiles...• L’obfuscation de code ne supprime pasle risque.• Quelques informations classiquestrouvées :• clefs d’API• Passwords• Logique métier sensible.Impact• Perted’authentifiants• Exposition depropriétéintellectuelle ?Friday, February 15, 13
  85. 85. 42M10- PréventionFriday, February 15, 13
  86. 86. 42M10- Prévention1. Les clefs d’API privées portent bien leur nom.Il ne faut pas les stocker sur le client.Friday, February 15, 13
  87. 87. 42M10- 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, ilconvient de la faire executée par le serveur !Friday, February 15, 13
  88. 88. 42M10- 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, ilconvient de la faire executée par le serveur !3. Il n’y a jamais ou presque de réelle raison destocker des mots de passes en dur (si vous lepensez, vous avez d’autres problèmes àvenir...)Friday, February 15, 13
  89. 89. ConclusionFriday, February 15, 13
  90. 90. 44ConclusionFriday, February 15, 13
  91. 91. 44Conclusion• La sécurité mobile en est au début.Friday, February 15, 13
  92. 92. 44Conclusion• La sécurité mobile en est au début.• Nous venons d’identifier quelques problèmes,il est nécessaire de les corriger !Friday, February 15, 13
  93. 93. 44Conclusion• 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, lesapplications le doivent aussi...Friday, February 15, 13
  94. 94. 44Conclusion• 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, lesapplications le doivent aussi...• Ne pas oublier que la sécurité mobilecomporte une partie applicationserveur !Friday, February 15, 13
  95. 95. Liens•OWASP Mobile Project : https://www.owasp.org/index.php/OWASP_Mobile_Security_Project•OWASP Top10 : https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project•http://www.windowsphone.com/en-US/business/security•http://windowsphonehacker.com/articles/the_complete_guide_to_jailbreaking_windows_phone_7_and_7.5-09-24-1145Friday, February 15, 13
  96. 96. @SPointsebastien.gioria@owasp.org46Vous pouvez donc vousprotéger de lui maintenant...Friday, February 15, 13
  97. 97. @SPointsebastien.gioria@owasp.org46Il ny a quune façon déchouer, cest dabandonner avantdavoir réussi [Olivier Lockert]Vous pouvez donc vousprotéger de lui maintenant...Friday, February 15, 13

×