Aller au contenu principal

Exemple de mission

Accompagnement en sécurité applicative d’une startup

Startup, équipe de 2 développeurs
3 mois
Application mobile (React Native) + API backend
Accompagnement en sécurité applicative

Contexte et résultats adaptés à des fins d’illustration et de confidentialité.

Contexte de la mission

Le défi

Contexte

Une startup prépare le lancement d’une application mobile React Native reliée à une API, dont la première version fonctionnelle (MVP) a été construite par une équipe de deux développeurs sans revue de sécurité préalable.

Elle souhaite corriger les failles avant l’ouverture au public et intégrer les vérifications aux étapes du développement. L’accompagnement est organisé sur trois mois avec une revue initiale, une revue intermédiaire et un pentest avant lancement.

Objectifs

  • Évaluer la sécurité du MVP existant
  • Accompagner l'équipe pendant le passage en production
  • Valider la sécurité de l'application par un pentest avant le lancement

Déroulement

Découvertes clés

Périmètre testé

  • Revue de sécurité du MVP existant sur le code et l’API
  • Revues intermédiaires pendant la phase de refonte pour la production
  • Recommandations pour l'intégration de tests de sécurité automatisés
  • Pentest final de l'application mobile et de l'API avant lancement

Méthodologie

Accompagnement en 3 phases :

  • Phase 1 : revue de sécurité du MVP et identification des failles à corriger
  • Phase 2 : revues intermédiaires à chaque jalon pendant la refonte
  • Phase 3 : pentest final avant mise en production
Critique

Clés d'accès aux services tiers stockées en dur dans le code de l'application (identifié en phase 1)

Élevé

Un utilisateur pouvait accéder aux données d'autres comptes en modifiant un identifiant dans l'API (identifié en phase 1)

Élevé

Aucune limite sur les tentatives de connexion (identifié en phase 1)

Élevé

Point d’accès de test de l’API laissé actif exposant des données internes de l'application (identifié en phase 2)

Moyen

Journalisation insuffisante sur les actions sensibles (identifié en phase 3)

Moyen

Données personnelles stockées sans chiffrement sur le téléphone (identifié en phase 3)

Résultats

Bilan et recommandations

Bilan

11 vulnérabilités identifiées au total : 1 critique, 3 élevées, 4 moyennes, 3 faibles

La revue initiale a révélé 7 vulnérabilités, dont une critique et deux élevées, avec la clé d’un service tiers intégrée dans l’application et des contrôles d’API permettant de consulter les données d’autres comptes.

La revue intermédiaire a identifié 2 nouvelles failles, dont un point d’accès de test de l’API exposant des données internes, que les développeurs ont corrigées avant le pentest final.

Le dernier test n’a révélé que 2 failles moyennes liées à la journalisation et au stockage local. Les onze vulnérabilités ont été corrigées au fil des trois mois puis les points concernés ont été retestés avant le lancement.

Recommandations

  • Déplacer les clés d'accès côté serveur
  • Vérifier les droits d'accès côté serveur pour chaque requête API
  • Limiter les tentatives de connexion
  • Désactiver les endpoints de test et de debug avant chaque mise en production
  • Chiffrer les données stockées localement sur le téléphone
  • Journaliser les actions sensibles pour détecter les comportements anormaux

Enseignements

Leçons apprises

  • La clé intégrée au MVP pouvait être récupérée depuis l’application, ce qui a nécessité son déplacement côté serveur et son remplacement pour invalider la valeur exposée.
  • La revue intermédiaire a repéré un point d’accès de test de l’API ajouté pendant le développement, dont la suppression a été intégrée à la préparation des mises en production.
  • Les corrections réalisées entre les revues ont permis de réserver le pentest final aux défauts encore présents, sans retrouver de faille critique ou élevée lors de cette dernière phase.

Continuité

Prochaines étapes

  • Revue de sécurité des prochaines fonctionnalités sensibles
  • Ajout de tests de non-régression sur les contrôles d’accès de l’API
  • Poursuite de l’accompagnement sur les évolutions prévues après le lancement

Autres exemples de missions

Découvrez d’autres exemples de missions en cybersécurité.

Un projet similaire ?

Contactez-nous pour un premier échange gratuit et un devis adapté à vos besoins.