Segurança
Mobile
App
OWASP
Proteção
Desenvolvimento

Sécurité des applications : Guide de protection mobile

Les applications mobiles sont fréquemment la cible d’attaques. Données sensibles, paiements, informations personnelles, tout doit être protégé. Ce guide présente les pratiques essentielles de sécurité mobile.

Pourquoi la sécurité mobile est importante

Données sensibles

Les applications stockent des informations précieuses.

Attaques croissantes

Le mobile est un vecteur de plus en plus exploré.

Réglementation

LGPD, la conformité nécessite une protection.

Réputation

La fuite détruit la confiance.

Top 10 des mobiles OWASP

M1 : Utilisation inappropriée de la plate-forme

Utilisation incorrecte des fonctionnalités de sécurité du système d'exploitation.

M2 : Stockage de données non sécurisé

Données sensibles dans des emplacements non sécurisés.

M3 : Communication non sécurisée

Transmission sans protection.

M4 : Authentification non sécurisée

Authentification faible ou contournable.

M5 : Cryptographie insuffisante

Cryptage mal mis en œuvre.

M6 : Autorisation non sécurisée

Échec du contrôle d'accès.

M7 : Qualité du code client

Bugs et vulnérabilités dans le code.

M8 : Falsification de code

Modification de l'application.

M9 : Ingénierie inverse

L'application peut être analysée.

M10 : Fonctionnalité superflue

Déboguer le code en production.

Stockage sécurisé

Trousseau (iOS)

Pour les informations d’identification et les jetons.

Magasin de clés (Android)

Sécurité matérielle.

Préférences partagées cryptées

Données cryptées.

Ne pas utiliser

Fichiers en texte brut, journaux, UserDefaults sans chiffrement.

Communication sécurisée

HTTPS

Obligatoire, toujours.

Épinglage du certificat

Empêche les attaques MITM.

###TLS1.3

Version plus sûre.

Configuration de la sécurité réseau

Android : déclarez les règles de sécurité.

Authentification

Mots de passe forts

Exigences de complexité.

###MFA

Authentification multifacteur.

Biométrie

Face ID, Touch ID, empreinte digitale.

Gestion des sessions

Jetons sécurisés, expiration.

Autorisation

Moindre privilège

Accès minimum requis.

Côté serveur

Validez toujours sur le serveur.

Basé sur les rôles

Autorisations par rôle.

Chiffrement

Algorithmes

AES-256, RSA-2048+.

###Clés

Non codé en dur. Utilisez un trousseau/un magasin de clés.

###Salage

Pour les hachages de mots de passe.

IV Unique

Pour les modes cryptage.

## Protection des codes

Obscurcissement

Rendre l’ingénierie inverse difficile.

ProGuard/R8 (Android)

Obscurcissement du code.

Anti-falsification

Détectez les modifications.

Détection de racine/jailbreak

Identifiez les appareils compromis.

Sécurité des API

Authentification

Basé sur des jetons, OAuth 2.0.

Limitation du débit

Prévenir les abus.

Validation des entrées

Validez tout sur le serveur.

Encodage de sortie

Empêcher l'injection.

Protection des données

Date de repos

Chiffrement en stockage.

Données en transit

HTTPS/TLS.

Minimisation des données

Ne collectez que le nécessaire.

Rétention

Ne gardez pas plus que ce dont vous avez besoin.

Tests de sécurité

SAST

Tests de sécurité des applications statiques.

###DAST

Tests dynamiques.

Tests d'intrusion

Test de hackers éthiques.

Analyse des vulnérabilités

Dépendances échouées.

Outils

MobSF

Cadre de sécurité mobile. Analyse automatisée.

Frida

Instrumentation dynamique.

Suite de rots

Intercepter le trafic.

OWASPZAP

Scanner de vulnérabilité.

Dépendances

### Audit NPM/Gradle

Vérifiez les vulnérabilités.

Mise à jour

Gardez les dépendances à jour.

Chaîne d'approvisionnement

Faites attention à ce que vous incluez.

Spécifique à iOS

Sécurité du transport des applications

Forcez HTTPS.

Services de porte-clés

Stockage sécurisé.

Protection des données

Protection basée sur l'écran de verrouillage.

Spécifique à Android

SafetyNet/Intégrité du jeu

Vérifiez l'intégrité de l'appareil.

Configuration de la sécurité réseau

Déclarez les politiques réseau.

Préférences partagées chiffrées

Données cryptées.

Développement sécurisé

###Formation

Développeurs formés à la sécurité.

Révision du code

Révisez en mettant l’accent sur la sécurité.

Modélisation des menaces

Identifiez les risques dès le début.

Champions de la sécurité

Représentants dans l'équipe.

Conformité

LGPD

Protection des données personnelles.

PCI-DSS

Pour les applications payantes.

HIPAA

Pour les applications de santé (États-Unis).

Erreurs courantes

Secrets codés en dur

Saisit le code source.

Journaux excessifs

Données sensibles dans les journaux.

Validation uniquement sur le Client

Le serveur doit valider.

###HTTP

Communication non cryptée.

Conclusion

La sécurité mobile nécessite une approche à plusieurs niveaux. Protégez les données, communiquez en toute sécurité, authentifiez-vous correctement et testez en continu. La sécurité n'est pas une fonctionnalité, c'est une exigence.

##FAQ

1) L'épinglage du certificat est-il nécessaire ? Fortement recommandé pour les applications contenant des données sensibles.

2) L'obscurcissement est-il suffisant ? Non, c'est une couche, pas une protection complète.

3) Comment tester la sécurité ? Outils automatisés + test manuel du stylet.

4) La détection de racine peut-elle être contournée ? Oui. Utiliser comme couche, pas comme seule protection.

5) HTTPS résout tout ? Non, c'est basique. Besoin de plus de couches.

A lire aussi