2012 11-07-owasp mobile top10 v01

95
The OWASP Foundation http://www.owasp.org Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. Applica'on Security Forum 3 2012 Western Switzerland 708 novembre 2012 0 Y0Parc / Yverdon0les0Bains h?ps://www.appsec0forum.ch OWASP Top10 Mobile Risks Sébastien Gioria OWASP France Leader OWASP Global Education Committee Saturday, November 10, 12

Upload: sebastien-gioria

Post on 20-Aug-2015

1.142 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: 2012 11-07-owasp mobile top10 v01

The OWASP Foundationhttp://www.owasp.org

Copyright © The OWASP FoundationPermission is granted to copy, distribute and/or modify this document under the terms of the OWASP License.

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch'

OWASP Top10 Mobile Risks

Sébastien GioriaOWASP France Leader

OWASP Global Education Committee

Saturday, November 10, 12

Page 2: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch'

CISA && ISO 27005 Risk Manager

2

http://www.google.fr/#q=sebastien gioria

‣OWASP France Leader & Founder - Evangéliste‣OWASP Global Education Comittee Member ([email protected])

‣Responsable de la branche Audit S.I et Sécurité au sein du cabinet Groupe Y

Twitter :@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é des Applications Web au CLUSIF

2

Saturday, November 10, 12

Page 3: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch'

CISA && ISO 27005 Risk Manager

2

http://www.google.fr/#q=sebastien gioria

‣OWASP France Leader & Founder - Evangéliste‣OWASP Global Education Comittee Member ([email protected])

‣Responsable de la branche Audit S.I et Sécurité au sein du cabinet Groupe Y

Twitter :@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é des Applications Web au CLUSIF

2

Saturday, November 10, 12

Page 4: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch'

Top 10 Risques

Saturday, November 10, 12

Page 5: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 4

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

Saturday, November 10, 12

Page 6: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 5

Les 10 risquesRisque

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 defaillante

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

Saturday, November 10, 12

Page 7: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 6

Saturday, November 10, 12

Page 8: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 7

M1 - Stockage de données non sécurisé

• Les données sensibles ne sont pas protégées

• S’applique aux données locales, tout comme celles disponibles dans le cloud

• Généralement du à :

• Défaut de chiffrement des données

• Cache de données qui n’est pas généralement prévu

• Permissions globales ou faibles

• Non suivi des bonnes pratiques de la plateforme

Impact• Perte de

confidentialité sur les données

• Divulgation d’authentifiants

• Violation de vie privée

• Non-compliance

Saturday, November 10, 12

Page 9: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 8

M1 - Stockage de données non sécurisé

Saturday, November 10, 12

Page 10: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 8

M1 - Stockage de données non sécurisé

Saturday, November 10, 12

Page 11: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 8

M1 - Stockage de données non sécurisé

Saturday, November 10, 12

Page 12: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 8

M1 - Stockage de données non sécurisé

Saturday, November 10, 12

Page 13: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 9

M1 - Prévention

Saturday, November 10, 12

Page 14: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 9

M1 - Prévention

1. Ne stocker que ce qui est réellement nécessaire

Saturday, November 10, 12

Page 15: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 9

M1 - Prévention

1. Ne stocker que ce qui est réellement nécessaire

2. Ne jamais stocker de données sur des éléments publics (SD-Card...)

Saturday, November 10, 12

Page 16: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 9

M1 - Prévention

1. Ne stocker que ce qui est réellement nécessaire

2. Ne jamais stocker de données sur des éléments publics (SD-Card...)

3. Utiliser les APIs de chiffrement et les conteneurs sécurisés fournis par la plateforme.

Saturday, November 10, 12

Page 17: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 9

M1 - Prévention

1. Ne stocker que ce qui est réellement nécessaire

2. Ne jamais stocker de données sur des éléments publics (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”

Saturday, November 10, 12

Page 18: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 10

Saturday, November 10, 12

Page 19: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 11

M2- Contrôles serveur défaillants

• S’applique uniquement aux services de backend.

• Non spécifique aux mobiles.

• Il n’est pas plus facile de faire confiance au client.

• Il est nécessaire de revoir les contrôles actuels classiques.

Impact

• Perte de confidentialité sur des données

• Perte d’intégrité sur des données

Saturday, November 10, 12

Page 20: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 12

M2 - Contrôles serveur défaillants

OWASP Top 10

• https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project

OWASP Cloud Top 10

• https://www.owasp.org/images/4/47/Cloud-Top10-Security-Risks.pdf

Saturday, November 10, 12

Page 21: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 13

M2- Prévention

Saturday, November 10, 12

Page 22: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 13

M2- Prévention

1. Comprendre les nouveaux risques induits par les applications mobiles sur les architectures existantes

Saturday, November 10, 12

Page 23: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 13

M2- Prévention

1. Comprendre les nouveaux risques induits par les applications mobiles sur les architectures existantes

Saturday, November 10, 12

Page 24: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 13

M2- Prévention

1. Comprendre les nouveaux risques induits par les applications mobiles sur les architectures existantes

3. OWASP Top 10, Cloud Top 10, Web Services Top 10

Saturday, November 10, 12

Page 25: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 13

M2- Prévention

1. Comprendre les nouveaux risques induits par les applications mobiles sur les architectures existantes

3. OWASP Top 10, Cloud Top 10, Web Services Top 10

Saturday, November 10, 12

Page 26: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 13

M2- Prévention

1. Comprendre les nouveaux risques induits par les applications mobiles sur les architectures existantes

3. OWASP Top 10, Cloud Top 10, Web Services Top 10

5. Voir les Cheat sheets, guides de développement, l’ESAPI

Saturday, November 10, 12

Page 27: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 14

Saturday, November 10, 12

Page 28: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 15

M3 - Protection insuffisante lors du transport de données

• Perte complète de chiffrement des données transmises.

• Faible chiffrement des données transmises.

• Fort chiffrement, mais oubli des alertes sécurité

• Ignorer les erreurs de validation de certificats

• Retour en mode non chiffré après erreurs

Impact

• Attacks MITM

• Modification des données transmises

• Perte de confidentialité

Saturday, November 10, 12

Page 29: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 16

M3 - Protection insuffisante lors du transport de données

Exemple : Protocole d’authentification des clients Google

• L’entete d’authentification 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

Saturday, November 10, 12

Page 30: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 17

M3 - Prévention

Saturday, November 10, 12

Page 31: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 17

M3 - Prévention

1. Vérifier que les données sensibles quittent l’appareil chiffrées.

Saturday, November 10, 12

Page 32: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 17

M3 - Prévention

1. Vérifier que les données sensibles quittent l’appareil chiffrées.

2. Quelque soit les données et les réseaux : Wifi, NFC( coucou Renaud :) ), GSM, ....

Saturday, November 10, 12

Page 33: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 17

M3 - Prévention

1. Vérifier que les données sensibles quittent l’appareil chiffrées.

2. Quelque soit les données et les réseaux : Wifi, NFC( coucou Renaud :) ), GSM, ....

3. Ne pas ignorer les erreurs de sécurité !

Saturday, November 10, 12

Page 34: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 18

Saturday, November 10, 12

Page 35: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 19

M4- Injection Client

• Utilisation des fonctions de navigateurs dans les applications

• Apps pure Web

• Apps hybrides

• On retrouve les vulnérabilités connues

• Injection XSS et HTML

• SQL Injection

• Des nouveautés interessantes• Abus d’appels et de SMS

• Abus de paiements ?

Impact

• Compromission de l’appareil

• Fraude à l’appel

• Augmentation de privilèges

Saturday, November 10, 12

Page 36: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 20

M4 - Injection client

XSS

Saturday, November 10, 12

Page 37: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 20

M4 - Injection client

XSS Acces aux SMS

Saturday, November 10, 12

Page 38: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 21

M4 - Prévention

Saturday, November 10, 12

Page 39: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 21

M4 - Prévention

1. Valider les données d’entrée avant utilisation

Saturday, November 10, 12

Page 40: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 21

M4 - Prévention

1. Valider les données d’entrée avant utilisation

2. Nettoyer les données en sortie avant affichage.

Saturday, November 10, 12

Page 41: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 21

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 requetes paramétrées (correctement ! ) pour les appels bases de données.

Saturday, November 10, 12

Page 42: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 21

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 requetes paramétrées (correctement ! ) pour les appels bases de données.

4. Minimiser les capacités/privilèges des applications hybrides Web.

Saturday, November 10, 12

Page 43: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 22

Saturday, November 10, 12

Page 44: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 23

M5- Authentification et habilitation defaillante

• 50% du a des problèmes d’architecture, 50% du à des problèmes du mobile

• Certaines applications se reposent uniquement sur des éléments théoriquement inchangeables, mais pouvant être compromis (IMEI, IMSI, UUID)

• 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.

Impact

• Elevation de Privileges

• Accès non autorisé.

Saturday, November 10, 12

Page 45: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 24

M5- Authentification et habilitation defaillante

Saturday, November 10, 12

Page 46: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 25

M5 - Prevention

Saturday, November 10, 12

Page 47: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 25

M5 - Prevention

1. De l’information contextuelle peut améliorer les choses, mais uniquement en cas d’implementation d’authentification multi-facteur.

Saturday, November 10, 12

Page 48: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 25

M5 - Prevention

1. 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...)

Saturday, November 10, 12

Page 49: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 25

M5 - Prevention

1. 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.

Saturday, November 10, 12

Page 50: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 26

Saturday, November 10, 12

Page 51: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 27

M6 - Mauvaise gestion des sessions

• Les sessions applicatives mobiles sont généralement plus longues que sur une application 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ériel comme identification de session.

Impact

• Elévation de privilèges.

• Accès non autorisé.

• Contournement des licenses et des éléments de paiements

Saturday, November 10, 12

Page 52: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 28

M6- Prévention

Saturday, November 10, 12

Page 53: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 28

M6- Prévention

1. Ne pas avoir peur de redemander aux utilisateurs de se ré-authentifier plus souvent.

Saturday, November 10, 12

Page 54: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 28

M6- Prévention

1. 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 en cas de perte.

Saturday, November 10, 12

Page 55: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 28

M6- Prévention

1. 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 en cas de perte.

3. Utiliser des outils de gestion des sessions éprouvés

Saturday, November 10, 12

Page 56: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 29

Saturday, November 10, 12

Page 57: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 30

M7- Utilisation de données d’entrée pour effectuer des décisions sécurité.

• Peut être exploité pour passer outre les permissions et les modèles de sécurité.

• Globalement similaires sur les différentes plateformes

• Des vecteurs d’attaques importants

• Applications malveillantes

• Injection client

Impact

• Utilisation de ressources payantes.

• Exfiltration de données

• Elevation de privilèges.

Saturday, November 10, 12

Page 58: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 31

M7- Utilisation de données d’entrée pour effectuer des décisions sécurité.

Exemple : gestion de skype dans l’URL sur IOS...

• http://software-security.sans.org/blog/2010/11/08/insecure-handling-url-schemes-apples-ios/

Saturday, November 10, 12

Page 59: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 32

M7- Prévention

Saturday, November 10, 12

Page 60: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 32

M7- Prévention

1. Vérifier les permissions lors de l’utilisation de données d’entrée.

Saturday, November 10, 12

Page 61: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 32

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.

Saturday, November 10, 12

Page 62: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 32

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.

3. Lorsqu’il n’est pas possible de vérifier les permissions, s’assurer via une étape additionnelle du lancement de la fonction sensible.

Saturday, November 10, 12

Page 63: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 33

Saturday, November 10, 12

Page 64: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 34

M8- Perte de données via des canaux cachés

• Mélange de fonctionnalités de la plateforme et de failles de programmation.

• Les données sensibles se trouvent un peu partout. 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 librairies tierces avec les données utilisateurs( publicité, analyse, ...)

Impact

• Perte définitive de données.

• Violation de la vie privée.

Saturday, November 10, 12

Page 65: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 35

M8- Perte de données via des canaux cachés

Logging

Screenshots

Saturday, November 10, 12

Page 66: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 36

M8- Prévention

Saturday, November 10, 12

Page 67: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 36

M8- Prévention1. Ne jamais stocker des authentifiants/passwds ou d’autres

informations sensibles dans les logs.

Saturday, November 10, 12

Page 68: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 36

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, ...

Saturday, November 10, 12

Page 69: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 36

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, ....

Saturday, November 10, 12

Page 70: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 36

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.

Saturday, November 10, 12

Page 71: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 36

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....

Saturday, November 10, 12

Page 72: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 37

Saturday, November 10, 12

Page 73: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 38

M9- Chiffrement défectueux

• 2 catégories importantes

• Implémentations défectueuses via l’utilisation de librairies de chiffrement.

• Implementations personnelles de chiffrement....

• Bien se rappeler les bases !!!

• Codage (Base64) != chiffrement

• Obfuscation != chiffrement

• Serialization != chiffrement

• Vous vous appelez Bruce ?

Impact• Perte de

confidentialité.

• Elevation de privilèges

• Contournement de la logique métier.

Saturday, November 10, 12

Page 74: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 39

M9- Chiffrement défectueux

ldc literal_876:"QlVtT0JoVmY2N2E=”invokestatic byte[] decode( java.lang.String ) // Base 64invokespecial_lib java.lang.String.<init> // pc=2astore 8

private final byte[] com.picuploader.BizProcess.SendRequest.routine_12998 (com.picuploader.BizProcess.SendRequest, byte[], byte[] ); { enter new_lib net.rim.device.api.crypto.TripleDESKey

Saturday, November 10, 12

Page 75: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 40

M9- Prévention

Saturday, November 10, 12

Page 76: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 40

M9- Prévention

1. Stocker la clef et les données chiffrées n’est pas correct.

Saturday, November 10, 12

Page 77: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 40

M9- Prévention

1. 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....

Saturday, November 10, 12

Page 78: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 40

M9- Prévention

1. 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 !

Saturday, November 10, 12

Page 79: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch'

Dark side ?

41Saturday, November 10, 12

Page 80: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 42

M10- Perte d’information sensible

• M10(enfoui dans le matériel) est différent de M1 (stocké)

• Il est assez simple de faire du reverse-engineer sur des applications mobiles...

• L’obfuscation de code ne supprime pas le risque.

• Quelques informations classiques trouvées :

• clefs d’API

• Passwords

• Logique métier sensible.

Impact

• Perte d’authentifiants

• Exposition de propriété intellectuelle ?

Saturday, November 10, 12

Page 81: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 43

M10- Perte d’information sensible

Saturday, November 10, 12

Page 82: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 44

M10- Prévention

Saturday, November 10, 12

Page 83: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 44

M10- Prévention

1. Les clefs d’API privées portent bien leur nom. Il ne faut pas les stocker sur le client.

Saturday, November 10, 12

Page 84: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 44

M10- Prévention

1. 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 !

Saturday, November 10, 12

Page 85: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 44

M10- Prévention

1. 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...)

Saturday, November 10, 12

Page 86: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch'

Conclusion

Saturday, November 10, 12

Page 87: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 46

Conclusion

Saturday, November 10, 12

Page 88: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 46

Conclusion• La sécurité mobile en est au début.

Saturday, November 10, 12

Page 89: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 46

Conclusion• La sécurité mobile en est au début.

• Nous venons d’identifier quelques problèmes, il est nécessaire de les corriger !

Saturday, November 10, 12

Page 90: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 46

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...

Saturday, November 10, 12

Page 91: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch' 46

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 !

Saturday, November 10, 12

Page 92: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch'

RemerciementsOWASP Mobile Project Leaders

Jack Mannino [email protected]

• http://twitter.com/jack_mannino

Zach Lanier [email protected]

• http://twitter.com/quine

Mike Zusman [email protected]

• http://twitter.com/schmoilito

47Saturday, November 10, 12

Page 93: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch'

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 Top10

https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project

48Saturday, November 10, 12

Page 94: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch'

@SPoint

[email protected]

49

Vous pouvez donc vous protéger de lui maintenant...

Saturday, November 10, 12

Page 95: 2012 11-07-owasp mobile top10 v01

Applica'on*Security*Forum*3*2012*Western'Switzerland'

'708'novembre'2012'0'Y0Parc'/'Yverdon0les0Bains'h?ps://www.appsec0forum.ch'

@SPoint

[email protected]

49

Il n'y a qu'une façon d'échouer, c'est d'abandonner avant d'avoir réussi [Olivier Lockert]

Vous pouvez donc vous protéger de lui maintenant...

Saturday, November 10, 12